Videos für Apple TV konvertieren [updated]
Oder: Wie ich MKV am besten in M4V (H264 MPEG-4) umwandle.
Jeder, der sich in einer ähnlichen Situation befindet und häufiger MKV (Matroska) Container mit h264 Video (und “zu hohen” Bitraten) und AC3 Audio vorfindet, steht vor der Qual der Wahl beim Konverter. Bis gestern kannte ich nur die folgenden Programme:
- Quicktime Pro (+ Perian) für 30€
Pros: konvertiert stabil jedes Perian-lesbare Format für vordefinierte Profile (z.B. iPod, iPhone, Apple TV)
Cons: sehr langsam (teilweise >12 Stunden für einen Film), exportiert immer nur die erste Audiospur, relativ teuer - VisualHub (leider vom Hersteller eingestellt, davor Shareware für 24 US$)
Pros: sehr schneller und stabiler Konvertierer
Cons: Weiterentwicklung eingestellt, Nachfolge-Opensource-Projekt erst in Planung, exportiert nur die erste Audiospur - HandBrake (Open Source, kostenlos)
Pros: kostenlos, viele Optionen und Voreinstellungen, schnell, Audiospur(en) wählbar (also z.B. auch Deutsch + Englisch), Kapitelunterstützung
Cons: manche Videos lassen sich nicht umwandeln und führen zum Absturz
Also war mein erster Versuch beim Konvertieren stets HandBrake. Wenn es abstürzte (im Schnitt bei jedem vierten Film), musste ich auf VisualHub wechseln und hoffen, dass Deutsch die erste Audiospur ist. Ansonsten war Handarbeit mit MKVextract und anderen halbgaren Tools angesagt.
Doch nun zu meiner Entdeckung:
- ffmpegX (Shareware, 15 US$)
Pros: unendlich viele Optionen, stabil, relativ schnell, 1 Audiospur wählbar
Cons: unendlich viele Optionen
Damit ist ffmpegX meine Alternative zu Handbrake beim Konvertieren von MKV zu H264! Die vergleichbare Geschwindigkeit und bessere Stabilität lassen sowohl den Preis von 15 Dollar als auch die etwas kompliziertere Bedienung verschmerzen.
Über weitere Tipps zum Thema würde ich mich in den Kommentaren freuen.
[Update]
1. ffmpegX ist leider nicht die Lösung für alle Videoprobleme! Je nach Aufbau der MKV Datei hinterlässt er statt einer gemuxten Videodatei die einzelnen Spuren, teilweise sogar leer.
2. Arne hat mir eine ganz nette Python-basierte Lösung gezeigt, die aber leider nicht mit mehr als einer Tonspur (vor allem ärgerlich, wenn Deutsch nicht die Erste ist) umgehen kann und das Video-Ausgangsmaterial nicht anfasst. Dadurch ist sie zwar unglaublich schnell, aber die Bitraten sind in vielen Szenen für die Apple TV Box zu hoch.
3. Neuer Test: MKVtools (Shareware, 10 US$): Von der GUI von allen getesteten Programmen absoluter Spitzenreiter: Preset für Apple TV vorhanden, Bitrate lässt sich anpassen und die Video- und Audiospuren lassen sich einzeln aus-/abwählen. Ich bin auf die Ergebnisse gespannt und werde natürlich berichten.

[/Update]
Ähnliche Artikel:
Diese Aufgabe habe ich jüngst über ein Shellscript geregelt. Habe doch nun tatsächlich ein Python-Script, das auf Zuruf aus jedem von mir bisher getesteten Matroska-File (720p-Releases, 1080p-Releases) ein MP4 zaubert, das sauber auf die Xbox360 gestreamt werden kann. Ich bin absolut glücklich damit, muss ich doch nichtmal _irgendeinen_ Parameter anpassen oder mich durch eine GUI klicken.
Das dauert pro GB übrigens ca. 4 Minuten, da es zwar die Audio-Spur transkodiert, den Videostream aber als h264-Datei einfach 1:1 in den Container kopiert.
Gut, bisher ist das auch nur auf eine Audiospur beschränkt, weil ich mich um mehr noch nicht bemüht habe… habe dafür nicht so den Bedarf. Aber schwierig sollte das an und für sich auch nicht sein.
@Arne: Das klingt in der Tat nicht schlecht. Auch ffmpegX erlaubt es, h264 Material ohne Rekodieren durchzuschleusen.
Der Haken: Die Apple TV Hardware ist leider nicht performant genug, die “großen” original Videos mit Bitraten höher als 5.000 kbps zu spielen. Ich MUSS also leider komplett neu kodieren…
Ist denn das Ausgangsmaterial generell so groß? Aus den “gängigen Quellen” bezieht man ja eher 720p-Sachen die dann keine Schmerzen bereiten sollten, glaube ich. Das sollten dann in der Regel 4mbit/s sein, oder verschätze ich mich da?
Mit ffmpegX wollte das bei mir übrigens irgendwie nicht sauber funktionieren… gab glaube ich Probleme, die enthaltenen Ausgangsstreams richtig zu erkennen, glaube ich. Da funktionierte bei mir bisher wirklich rein gar nichts so gut, wie mein tolles Script
Das Script ist im Übrigen nicht wirklich von mir. Ich habe es zwar angefangen zu schreiben, bin dann aber mitten in der Entwicklung auf eines gestossen, das genau das machen sollte was ich wollte. Das funktionierte nur nicht, so dass ich es dann für mich weitgehend angepasst habe. Und nun: One click conversion in 4 minutes per episode
@Arne: Ich hab mich grad nochmal im VLC rückversichern müssen: Die Bitrate beträgt für einen “normalen” 720p Film mit 4,x GB je nach Szene zwischen 5000-8000 kbs. Und gerade in Actionszenen und bei Kameraschwenks wirken gedroppte Frames blöd.
Hast du trotzdem einen Link für dein Script parat? Vielleicht lässt sich damit Handbrake austricksen…
Huch, dann sind die wohl weitaus höher kodiert als die durchschnittliche Serie, die ich schaue.
Gib mir irgendwie Deine E-Mail-Adresse, dann lass ich Dir das Script mit ein paar Kommentaren zur Funktionsweise und den Binaries zukommen.
Habe mal ein Cocoa-GUI dazu geschrieben. Muss man nicht immer das Terminal aufrufen