ffmpeg – Videos einfach umwandeln

Home / Software / ffmpeg – Videos einfach umwandeln

Aufgrund meines technischen Hintergrundes und den Erfahrungen die ich in den Jahren bei einer Firma, die sich mit Audio-Video-Streaming beschäftigte  gesammelt habe, werde ich oft um Rat gefragt, wenn es darum geht Videos in ein anderes Format umzuwandeln. Da gibt es eine Menge Programme am Markt, aber nicht jedes kann alles und auch noch so wie man dies gerne hätte. Daher brauch man gleich mehrere. Hinzu kommt die Hürde, auf welchem Betriebssystem (Linux, Windows, MacOSX) das ganze funktionieren soll. Für Windows und MacOSX gibt es unter den den vielen kostenpflichtigen Programmen QuickTime Pro und Sorenson Squeeze zu nennen. Quicktime kann mit 30 € zu Quicktime Pro aufbohren und Videos in unterschiedliche Formate wandeln. Leider eben auch nicht in alle.
Sorenson Squeeze (499 $) ist ein reines Umwandlungstool. Es kann in mehr Formate umwandeln als Quicktime Pro. Dafür kostet es auch etwas mehr ;) Die Bedienung ist denkbar einfach: Videodatei auswählen, Ziel-Format (Profil) wählen und Squeeze drücken. Fertig! Durch die Batchfunktion kann man ein Video gleich in mehrere Formate umwandeln.
Unter Linux funktioniert keines der beiden Programme. Dadurch ist man hier gezwungen eine andere Lösung zu finden. Ein Lösung könnte die die Benutzung von ffmpeg sein. Dieses Schweizer Taschenmesser läuft mittlerweile auch unter Windows und MacOSX.
Ich glaube seit den ganzen Videoportalen im Netz, hat ffmpeg den stillen Ruhm für sich geerntet. Die Videoportalbetreiber möchten mit wenig Einsatz (alles automatisch) das meiste rausholen. Da kommt ihnen das OpenSource-Tool ffmpeg und ffmpeg-php gerade recht. So wird es von vielen Videoportalen (z.B. vimeo) im Hintergrund für die Umwandlung der hochgeladenen Videos benutzt. Aber auch für die „normalen“ Umwandlungen eignet sich das Tool.
Leider hat das Tool für die meisten ein kleines Manko. Es wird eigentlich ausschließlich über die Konsole bedient. Daher möchte ich hier kurz einige der wichtigsten Befehle und die Syntax aufzeigen:

  • ffmpeg -version Mit diesem Befehl fragt man die verwendete Version ab. Außerdem wird die Konfiguration angezeigt. Z.B. welche Codecs verwendet werden können etc.
  • Ansonsten ist der Syntax eigentlich ganz einfach: ffmpeg <inputoptionen> -i <inputdatei> <outputoptionen> <ouputdatei>

Die gängigsten Optionen sind:

  • -b Steht für die Videobitrate und wird in kbit/s angegeben, z.B. -b 768k
  • -ab Steht für die Audiobitrate und wird in kbit/s angegeben, z.B. -ab 192k
  • -r Gibt die Bilder pro Sekunde an (PAL hat 25 und NTSC hat 30)
  • -ar Gibt die Audio Samplerate (in Hz) an, z.B. 16500, 32000, 44100 oder 48000
  • -ac x Gibt die Audiokanäle an. Für x kann man z.B. 2 benutzen, damit es dann Stereo ist.
  • -an Der Ton wird nicht benötigt bzw. wird ignoriert.
  • -vn Das Video wird nicht benötigt bzw. wird ignoriert.
  • -sameq Diese Option sollte man sich merken, denn dadurch wird versucht die Qualität zu erhalten.
  • -vcodec copyDiese Option gibt an, dass die Videospur einfach übernommen wird und nicht verändert wird.
  • -acodec copy Diese Option gibt an, dass die Audiospur einfach übernommen wird und nicht verändert wird.
  • -pass x Für den Wert x kann man hier 1 oder 2 angeben. Dieser Wert gibt dann an ob 1 Pass Encoding oder 2 Pass Encoding angwendet werden soll. Legt man Wert auf Qualität, dann sollte man immer 2 benutzen.
  • -vcodec Bestimmt den Videocodec für die Outputdatei an, z.B. mjpeg, mpeg1video
  • -s Gibt die Video-Auflösung der Outputdatei an, z.B. 320×240, 480×576, 352×288 oder 720×576
  • -acodec Bestimmt den Audiocodec für die Outputdatei an, z.B. mp2, mp3, libmp3lame, x264
  • Wenn man nicht genau weiß in welchem Format die Inputdatei vorliegt, dann man es mit ffmpeg -i <inputfile> herausfinden.

Also eigentlich alles ganz einfach und simpel. Schnell findet man sich mit dem Tool zurecht. Wer dennoch lieber eine graphische Oberfläche nutzen möchte: ffmpegX (MacOSX), Perian (MacOSX), ffmpeg-GUI (Windows), WinFF (Windows), meGUI (Windows)