Encoding Praxis - Videos encoden mit Linux (Kommandozeile)
Einfügen der MP4 Streaming Metadaten mit qt-faststart
Das Streamingverfahren in Kombination von H.264, AAC und mp4 gestaltet sich als sehr komplex. In diesem Abschnitt geht es um das Einfügen bzw. die Korrektur sogenannter moov atom Informationen. Bei diesen Informationen handelt es sich um den Index einer mp4 Videodatei.
Ein bekannter Effekt tritt auf: Der Flashplayer lädt zunächst die komplette Videodatei herunter, bevor dieses Video abspielt wird. Der Flashplayer kann die mp4 Indexdaten nicht richtig interpretieren.
Sehr viele Encoder, einschließlich FFmpeg und Mencoder, schreiben die mp4 Metadaten sehr unsauber. Sie schreiben den Index an das Ende der Videodatei und nicht, wie vom Flashplayer erwartet, an den Anfang der Datei. Die Korrektur lässt sich unter Linux mit einem kleinen aber mächtigen Tool namens qt-faststart bewerkstelligen. Dieses kleine Programm ist praktischerweise bereits standardmäßig im Unterverzeichnis tools der FFmpeg Installation enthalten.
Wechseln Sie im Installationsverzeichnis von FFmpeg in den Unterordner tools: cd /ffmpeg/tools/. Vor der Installation von qt-faststart muss jedoch sichergestellt sein, daß auf ihrem Linuxsystem ein C Compiler wie CC oder GCC vorhanden ist.
Das qt-faststart Tool kann mit dem folgenden Befehl: make qt-faststart oder alternativ mit dem Befehl: gcc qt-faststart.c -o qt-faststart installiert werden. Der Aufruf des Tools funktioniert folgendermaßen: qt-faststart INPUT.mp4 OUTPUT.mp4
Nach kurzer Rechenzeit sollte qt-faststart ein mp4 Video erzeugen, das nun in einem Flashplayer 9 (ab 9.0.115.0) streamingfähig sein sollte. Ein weiteres, sehr verbreitetes Tool zum Einfügen von MP4 Metadaten ist AtomicParsley. Dieses Tool ist ebenfalls sehr leicht zu bedienen, ist für sämtliche Betriebssysteme wie Windows, Linux und Unix erhältlich und kann auf der eigenen Projektseite bezogen werden.
Ein kleiner Wermutstropfen ist, daß es sich bei AtomicParsley für Linux um ein Kommandozeilentool handelt. Für Windows User ist eine grafische Benutzeroberfläche (GUI) verfügbar. Sie erspart dem Anwender das (machmal lästige) Eintippen der Befehle auf der Kommandozeile.