Encoding Praxis - Videos encoden mit Linux (Kommandozeile)
Videos erstellen mit Mencoder
Eine ebenfalls weit verbreitete Encoding Solution ist das Mplayer/Mencoder Paket. MPlayer ist ein unter der freien GNU General Public License stehender Media-Player. Die große Formatunterstützung und Plattformkompatibilität sowie die ausführliche, mehrsprachlich erhältliche Dokumentation sprechen in jedem Fall für den Einsatz dieser Video Encoding Suite.
Mencoder ist ein Kommandozeilen-Encoder, der sämtliche Dateien und unter Linux auch Datenströme von V4L-kompatiblen TV-Empfängern wie Webcameras, TV- oder Videokarten in andere Formate konvertieren kann. Ein weiterer Vorteil von Mencoder ist die hohe Stabilität und Zuverlässigkeit dieser performance optimierten Encodingumgebung. Außerdem bietet Mencoder umfangreiche Filtermöglichkeiten für die Manipulation und Korrektur von Audio- und Videodaten.
Mencoder greift auf eine große Formatbibliothek zurück, welche aber in großen Teilen auf FFmpeg´s libavcodec basiert. MPlayer bietet außerdem die Möglichkeit, Binär-Codecs in Form von dynamischen Windows-Bibliotheken (dll, Dynamic Link Library) sowie MacOS Bibliotheken zu verwenden.
Durch diese Fähigkeit ist Mencoder theoretisch in der Lage, VP6 Videos mithilfe der von on2 Technologies veröffentlichten vp6vfw.dll Bibliothek zu erstellen. Die rechtliche Lage ist kritisch, umstritten und ziemlich undurchsichtig. Wir raten in jedem Fall davon ab, VP6 Videos mit dieser Bibliothek zu erstellen um sie im Internet zu veröffentlichen! Dies kann im schlimmsten Fall zu unerwünschter Post aufgrund lizenzrechtlicher Verstöße führen. Für den rein privaten Hausgebrauch oder zu Testzwecken kann dies durchaus eine Alternative zum H.264 Codec sein.
Das MPlayer/Mencoder Paket kann kostenfrei auf der Webseite des MPlayer Projekts bezogen werden. Wir werden in diesem Artikel nicht auf die Installation und Konfiguration von Mencoder eingehen, da es den Rahmen des Tutorials sprengen würde. Wir bitten um Ihr Verständnis, und werden gegebenenfalls ein weiteres Tutorial nachreichen.
x264 Unterstützung vorhanden ?
Stellen Sie sicher, daß der x264 Codec, beziehungsweise die Bibliothek(en) libx264.so.X vorab auf Ihrem System installiert sind. Bei der anschließenden Kompilierung von MPlayer/Mencoder ist somit kein Parameter --enable-x264 erforderlich, es stellt bei dessen Installation automatisch fest, ob das System die x264 Funktionalitäten erfüllt, oder nicht.
Falls Mencoder das Encoding eines Videos mit dem x264 Videocodec verweigert, liegt dies häufig daran, daß die Bibliothek libx264.so.X nicht dynamisch, sondern statisch installiert wurde. Verwenden Sie bei dessen Installation immer den Zusatzparameter --enable-shared.
Wir möchten nun als Beispiel ein webfähiges Video mit den Einstellungen der unten gezeigten Tabelle mit Mencoder umwandeln. Wechseln Sie auf die Kommandozeile oder öffnen Sie ein Terminalfenster. Begeben Sie sich in das Installationsverzeichnis von Mencoder. Sehr häufig ist Mencoder unter: /usr/local/bin installiert.
Mit dem nachfolgenden Parametern und Einstellungen sollten Sie in der Lage sein, eine mp4 Datei mit dem Videocodec x264 und dem faac Audiocodec zu erstellen. Die Mencoder Parameter werden wie bei FFmpeg pärchenweise -PARAMETER WERT in der Kommandozeile eingegeben. Die x264 ( -x264encopts ) und FAAC Encodingparameter ( -lavcopts ) werden mit dem Trennzeichen : (Doppelpunkt) aneinander gereiht.
Globale Einstellungen und Mencoder Parameter
Bezeichnung | Mencoder Parameter | Wert (Beispiel) |
Videocodec | -ovc | x264 |
Videobitrate | bitrate | =128 |
Bilder (Frames) pro Sekunde | -ofps | 25 |
Videocontainer | -of | lavf |
Videogröße | -vf | scale=240:192 |
Audiocodec | acodec | =libfaac |
Audiobitrate | abitrate | =56 |
Audiofrequenz | -srate | 48000 |
Audiokanäle | -af | channels=2 |
Nun erfolgt die tiefer gehende Einstellung des Videocodec x264. Mit dem Parameter -ovc x264 wird Mencoder lediglich angewiesen, den Videocodec x264 zu verwenden. Erst der zusätzliche Mencoder Parameter -x264encopts dient der erweiterten Einstellung des x264 Videocodecs. Die Werte werden durch das : (Doppelpunkt) Zeichen voneinander differenziert.
H.264 Einstellungen und Mencoder Parameter für normale Qualität
Mencoder Parameter | Wert (Beispiel) |
-x264encopts | |
level_idc | =12 |
partitions | =all:8x8dct |
me | =hex |
me_range | =16 |
subq | =7 |
bframes | =2 |
frameref | =1 |
trellis | =0 |
threads | =0 |
qcomp | =0.6 |
keyint | =250 |
min-keyint | =25 |
direct | =spatial |
b_pyramid:weight_b:mixed_refs |
Hier sehen Sie nun den vollständigen Linux Befehl für Mencoder, normale Qualität:
Die folgenden Parameter reizen die maximale Leistung von Mencoder und x264 erst so richtig aus. Da Qualität jedoch immer im Auge des Betrachters liegt, möchten wir Ihnen hier nur eine grundsätzliche Empfehlung abgeben. Das Feintuning können wir Ihnen nicht abnehmen. Da hilft nur probieren, probieren, Probieren.
x264 Einstellungen und Parameter für Mencoder - Hohe Qualität
Mencoder Parameter | Wert (Beispiel) |
-x264encopts | |
level_idc | =12 |
partitions | =all:8x8dct |
me | =esa |
me_range | =23 |
subq | =7 |
bframes | =16 |
frameref | =6 |
trellis | =1 |
threads | =0 |
qcomp | =0.6 |
keyint | =250 |
min-keyint | =25 |
direct | =temporal |
b_pyramid:weight_b:mixed_refs |
Hier sehen Sie nun den vollständigen Linux Befehl für Mencoder, hohe Qualität:
Bedenken Sie auch, dass die Umwandlung eines längeren Films mit diesen Einstellungen auch auf einem Computer mit Mehrkernprozessor(en) mehrere Stunden in Anspruch nehmen kann.
Wenn Sie Ihr Wissen vertiefen möchten oder weitere Informationen benötigen lesen Sie die Manual Pages. Zudem empfehlen wir Ihnen unbedingt einen Blick auf die ausführliche und mehrsprachige Dokumentation von Mplayer und Mencoder auf den Projektseiten unter http://www.mplayerhq.hu/DOCS/HTML/de/index.html zu werfen. Sie beinhaltet sehr umfassende Parameter Erklärungen und bietet jede Menge Encodingbeispiele und viele Tipps.