ffmpegX ist eine grafische Benutzeroberfläche für Mac OS X, die mehr als zwanzig Open Source Tools zur Bearbeitung sowie Kompression von Audio und Video beinhaltet. Da der Flash Player seit dem Release vom letzten Dezember (9,0,115,0) auch MPEG-4-Videos abspielen kann, bietet sich ffmpegX als kostenloses Encodingtool. Denn diese grafische Benutzeroberfläche bietet Zugriff auf die integrierten Codecs x264 (H.264) und AAC an.

Um Videos mit ffmpegX zu encoden, wählt man am besten das Preset „h.264 x264“ als Ausgangslage. Nun kann im Reiter „Video“ die Auflösung und die Bitrate einstellen. Bei „Audio“ wählt man die Bitrate, Abtastrate und Modus (z.B. 80 KBit/s, 44 KHz, mono, variable Bitrate VBR).

ffmpegX H.264 x264

x264 OptionenIm Reiter „Optionen“ finden sich einige interessante Einstellungen. Bei CABAC (Context Adaptive Binary Arithmetic Coding) handelt es sich um eine bessere Variante der Entropiekodierung in H.264.

B-Frames (B wie bidirektional) sind Frames in der Videokompression, die Bildinformationen sowohl von vorangegangen als auch darauffolgenden Bildern enthalten können. Dementsprechend brauchen diese Art von Frames sehr wenig Speicherplatz.

Wichtig für ein gutes Ergebnis ist auch die Two-Pass Kodierung. Der Encoder analysiert dabei in einem ersten Durchlauf das Video, das eigentliche Encoding findet im zweiten Durchlauf unter Berücksichtigung der ermittelten Informationen statt.

Vergleiche

Da Encoder bekanntlich von unterschiedlicher Qualität sind, habe ich das gleiche Video mit verschiedenen Encoder und möglichst gleichen Einstellungen kodiert. Hier ein Vergleich zwischen QuickTime und ffmpegX (also x264) (natürlich nicht wissenschaftlich, sondern einfach aus Anwendersicht ohne groß zu „schrauben“). Es handelt sich um ein HD-Video (720p, also 1280×720) mit der Zielbitrate 800 KBit/s, erstellt mit 2-Pass-Encoding. Wie man sieht, ist die Qualität bei x264 deutlich besser als mit QuickTime.

Außerdem interessant ist der Vergleich mit dem Flash Video Encoder, der bei Flash CS3 dabei ist. Dieser kann (noch) kein MPEG-4, sondern die beiden Flashvideo-Codecs Sorenson Spark und On2 VP6. Auch fehlt ihm die Option des „Two-Pass-Encodings“. Hier ein Auszug einer Szene, bei dem ich das gleiche Video zweimal mit dem Flash Encoder als auch mit ffmpegX/x264 erstellt habe. Die Spark- und VP6-Videos sind visuell ca. von gleicher Qualität, wobei die VP6-Datei um einiges kleiner ist. Interessant ist: Die H.264-Datei ist am kleinsten, bietet jedoch die beste Qualität.

Fazit

Dank der MPEG-4-Unterstützung des Flash Players kommt nun beim Videoencoding der Bereich Open Source zum Zug. Auch gibt es zahlreiche weitere Möglichkeiten aus diesem Bereich – bei Gelegenheit mehr dazu. Dies ist beim den proprietären Codec VP6 aus lizenzrechtlichen nicht möglich. Selbstverständlich gibt es auch für Windows-Nutzer Frontends für x264 (z.B. MeGUI).

Link: ffmpegx.com
Link: x264