Erstellen von H.264 basierten Flash streams mit freier Software

Möchte man im Internet videos als Stream zur Verfügung stellen dann kommt man kaum an Adobe Flash vorbei da andere Lösungen wie Real oder Windows Media unter umständen auf einigen Betriebssystemen nicht angezeigt werden können bzw die Installation zusätzlicher Player voraussetzen. Zwar gibt es auch die Möglichkeit Videodateien direkt in einem Javapplet wiederzugeben, jedoch braucht Java recht hohe CPU resourcen zur wiedergabe so das es schwierig werden könnte hochauflösende Inhalte auf langsameren rechnern zu streamen.
Natürlich kann man sich den ganzen Aufwand auch sparen und die Videos einfach auf youtube hochladen, wer aber eine sehr hohe Videoqualität will die kein Freehoster bietet oder einfach alles selber machen will muss bereit sein etwas Zeit in die Sache zu investieren.

Flash ist aber nun ein proprietäres Format und die professionelle Software von Adobe kostet sehr sehr viel Geld, deshalb möchte ich euch hier zeigen wie ihr hochqualitative .FLV Dateien auch mit freier Software einfach erstellen könnt:

Benötigte Programme:

Avidemux oder anderen X.264 encoder der .mp4 Dateien erstellen kann,
Das in c geschriebene “QT-Faststart” um die .mp4 Datei nach der Erstellung streamfähig zu machen,

Avidemux könnt ihr hier Downloaden: http://avidemux.berlios.de/index.html
Oder einfach über den Packetmanager eurer Linux-Distribution installierern.

Die Windows Version von “qt-faststart” könnt ihr hier runterladen: qt-faststart.zp
qt-faststart ist bei vielen Linux Distributionen schon mitgeliefert, probiert einfach ob der Befehl “qt-faststart” funktioniert, wenn nicht dann:

Laded euch den Sourcecode herunter: qt-faststart.c

Dann wechselt auf der Kommandozeile in das Verzeichniss in dem ihr den Source gespeichert habt und kompiliert die Datei mit dem Befehl “make qt-faststart.c” danach sollte im selben Verzeichnis die Ausführbare Datei “qt-faststart” bereitliegen die ihr mit dem Befehl “./qt-faststart” ausführen könnt.

So, da ihr nun alle benötigte Software zusammen habt könnt ihr Anfangen eure Videos zu konvertieren, Wenn ihr Avidemux zum codieren benutzt dann dann öffnet eurer Video und wählt unter “Video” MPEG-4 AVC (x264), für den Audiostream des videos könnt ihr mp3 oder AAC ( FAAC) verwenden wobei AAC eine gerinfügig bessere Qualität aufweist.
Wichtig ist das ihr unter “Format” Mp4 auswählt, sonst funktioniert das ganze nachher nicht.

bildschirmfoto-heic0901cmov-avidemux

Unter “Konfigurieren” könnt ihr dann die Bitrate einstellen, für einen Webstream sollte diese nicht über 1000kbits liegen da sonst die Wiedergabe bei langsameren DSL Verbindungen ruckelt oder stark verzögert ist. Es empfhielt sich bei “Kodier-Modus” die Option “Zweifach-Durchlauf – Durchschnittsbitrate” auszuwählen um eine optimale Videoqualität zu erreichen.
In den anderen Tabs könnt ihre weitere Einstellungen vornehmen um die Videoqualität weiter zu erhöhen, achtet aber darauf das eine höhere und bessere Videokompression mehr Rechenkapazität beim Abspielen benötigt was vor allem auf älteren Rechnern zu Problemen führen kann.

Danach einfach nur noch auf “Datei => Speichern” um das video ins mp4 Format zu konvertieren, je nach Ausstattung eurer Hardware und Länge des Videos kann dies einige Zeit in Anspruch nehmen.

Nun habt ihre eine H.264 kompatible Videodatei, allerdings kann der Adobe Flash Player diese Datei noch nicht als Stream abspielen. Das liegt daran das das sogenannte “mov Atom” das die Informationen beinhaltet die der Decoder zur Wiedergabe benötigt am Ende der Datei liegt, das bedeutet das der Player die Datei erst bis zum Ende herunterladen müsste um an die zum Abspielen benötigten Informationen zu gelangen. Also müssen wir das “mov Atom” an den Anfang der Datei verschieben so das der Player die Wiedergabe schon während des downloads starten kann, hier kommt dann das oben genannte “qt-faststart” zum Einsatz.

Am besten kopiert ihr die mp4 Datei in das Verzeichnis in dem die die ausführbare qt-faststart Anwendung bereitliegt, dann müsst ihr nur noch mit der Kommandozeile in das Verzeichnis wechseln und folgendes Kommando ausführen:

Windows: “qt-faststart.exe Datei.mp4 Datei.flv
Linux: “./qt-faststart Datei.mp4 Datei.flv” ( Falls qt-faststart bereits auf eurer Distribution vorinstalliert ist z.b Ubuntu einfach nur “qt-faststart Datei.mp4 Datei.flv”

Jetzt habt ihr eine in H.264 codierte FLV Datei die ihr mit einem geeigneten Flashplayer direkt in euere Website/Blog einbetten könnt, alternativ könnt ihr sie auch auf www.Blip.tv hochladen und den vorgefertigten blip.tv Player in eure Website einbetten so könnt ihr Traffic Kosten sparen.

Ich hoffe das ganze war einigermaßen verständlich, wenn es noch irgendwelche Fragen oder Probleme geben sollte dann nutzt einfach die Kommentarfunktion ;)

[ad#ad-small-beitrag]

1 comment to Erstellen von H.264 basierten Flash streams mit freier Software

  • anty

    Alternativ zum qt-faststart kann man auch mod_h264_streaming für Apache (oder auch für lighttpd und nginx) verwenden (http://h264.code-shop.com/trac/wiki). Das macht es auch möglich .mp4-Dateien mit H.264 zu streamen, ohne vorher jede Datei einzeln zu bearbeiten. Ob das auch Nachteile bringt weiß ich nicht, wollte es aber mal gesagt haben.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>