Linux Software

Videos unter Linux auf der Kommandozeile konvertieren

Kostenlose Software á la Freeware oder Public Domain sind ja schön und gut. Aber OpenSource Software (OSS) ist noch besser, warum, möchte ich an dieser Stelle nicht weiter auswalzen, aber ich kann diesen Wikipedia Artikel über Open Source jedem Interessierten als Bettlektüre nur empfehlen!

Für unsere Zwecke soll der unter der GPL stehende ffmpeg Encoder/Decoder/Player dienen. Dieser beherrscht viele der gängigen Videoformate sowohl zum dekodieren als auch zum enkodieren. Allerdings ist die Version, die mit Debian Sarge im apt-repository mitgliefert wird, ohne die Bindings an einige Codec-Bibliotheken (wie etwa liblame – für MP3-Enkodierungs-Funktionen) kompiliert worden.

>Um aber die volle Funktionalität des Programms zu erreichen, müssen entweder die fehlenden Libraries kompiliert und installiert werden und danach der ffmpeg erneut aus dem Source Code ‚übersetzt‘ werden. Oder man fügt 2 weitere (inoffizielle) repositories den Apt-Quellen hinzu, was für einen ungeübten Anwender weit weniger PITA ist…


Dazu editieren wir die folgende Datei:

/etc/apt/sources.list

und fügen dort am Ende folgende 2 Zeilen ein:

deb  sarge main
deb-src  sarge main

Nun aktualisieren wir den Apt-Cache (als Benutzer root natürlich), damit apt auch weiss, dass ihm nun neue Pakete zur Verfügung stehen:

su
Password: 
apt-get update

und installieren nun ffmpeg, welches schon aus den neuen Quellen installiert wird und auch gleich die nötigen Codec-libraries mit auf die Platte installiert:

apt-get install ffmpeg

Nun ist der schwierigste Teil bereits geschafft und es gilt nur noch, herauszufinden, welche der schier unendlich vielen Kommandozeilen-Optionen nun wirklich notwendig sind und was sie bewirken. Fangen wir mal mit einem einfachen Beispiel an. Dazu legen wir eine beliebige Videodatei in ein irgendein, vorzugsweise leeres, Verzeichnis und wechseln dort hin.

ffmpeg -i original_video.avi -ar 22050 -ab 32 -f flv -s 320x240 umzuwandelndes_video.flv

Kurzbeschreibung der eingesetzten Optionen:

-iEingabe-Video-Datei
-arneue Audio Sample-Rate
-abAusgabe-Bitrate
-f(Datei) Format
-sneue Video-Auflösung
[-acodecforciert einen Codec]

ffmpeg ist glücklicherweise so schlau, dass er automatisch die zum Dateiformat passenden Codecs auswählt, in unserem Fall zum .flv (Flash-Video) den flv-Videocodec und lame-mp3-Audiocodec. Beim Erzeugen von .avi Dateien, ist diese Zuordnung z. B. nicht eindeutig, weil AVI ein allzweck-Container Format ist, somit muss man mit -acodec die gewünschten Eintragungen manuell vornehmen. Dabei hilft es, sich mit

ffmpeg -formats

die zu Verfügung stehenden Dateiformate und Codecs ausgeben zu lassen. Startet man das Programm ganz ohne Parameter, gibt es alle anderen verfügbaren Optionen aus.
Die Umwandlung unseres des TV-Beitrags (aus dem letzten Eintrag) über Web-Logs in das Flash-Player Format geht dann rasend schnell von statten, da dieses Programm keine GUI hat und auch keine Einzelbilder während des Konvertierungsvorgangs anzeigt. Dabei ist die Dateigröße nach der Umwandlung nur noch knapp 1/3 so groß.
All diejenigen, die hauptsächlich oder ausschließlich unter Windows arbeiten, kann ich zu diesem Zweck auch den Riva VX: Riva FLV Encoder ans Herz legen. Als Backend nutzt er ebenfalls ffmpeg, kommt aber mit einer hübschen klicki-bunti Oberfläche daher.

Autor

Seit Kindheitstagen ist der Computer sein Begleiter. Was mit Linux anfing, wurde 2005 ein/e Beruf/ung, die weit über den Arbeitsplatz hinausgeht. Durch stetige Weiterentwicklung fasste er auch im *BSD Segment Fuß und bietet mittlerweile professionelle Lösungen im Bereich Hosting, Networking und Infrastruktur an. Als Ausgleich beschäftigt er sich neben Computerspielen mit der Fotografie.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.