Achtung! dieser Artikel wurde nicht von einem Muttersprachler geschrieben. Bitte das bei Kritik berücksichtigen. Ich (bed) habe nur die rudimentäre Grammatik und Syntax angepasst.
Dieser Artikel soll eine Äbersicht über
ogg/theora und webm/vp8. Weiter gehende Informationen liefert euch Google.
Zuerst eine Begriffsdefiniton. Ogg, webm, avi und weitere sind Tiere
von der Art Mediacontainer. Theoretisch kann sich der Inhalt
unterscheiden. Jeder von diesen hat eigene Vor- und Nachteile. Aus
meiner subjektiven Sicht bevorzuge ich ogg und mkv (matroska). WebM
ist nur ein reduzierte (kastrierte) Version von Matroska.
Theora – ist die Weiterentwicklung
von vp3, den Codec den die Firma On2 der Opensource community geschenkt hat.
Nach dem Google On2 im Jahre 2009 kaufte, schenkte Google im Mai 2010 einen
weiteren Codec: vp8. Seit dem wird an vp8 intensiv gearbeitet, das
kann man hier sehen:
https://review.webmproject.org/gitweb?p=libvpx.git;a=summary
vp8 hat eine bessere Kompression im
Vergleich zu Theora. Das fordert natürlich auch größere CPU
Leistung. Die beiden Codecs sind stehen in Frage für neue HTML5
<video> Tag. Alle Browser die für einen Linuxuser in Frage
kommen (Firefox, Opera, Chrome, Chromium), unterstützen vp3 und vp8. Es wird
erwartet das mit Android Version 2.3, WebM auch auf die
Smartphones kommt.
Mit Veröffentlichung der vp8 kam
Theora teilweise zum Stillstand der Entwicklung. Es ist aber immer
noch die beste Option für LoEnd Hardware. Diejenigen, die auch Intel
Atom Prozessoren besitzen, sollten auf Theora zugreifen. Die aktuelle
stabile Version von Theora ist 1.1 die viel bessere Entwicklungsversion
ist 1.2. Die Berichte über Verlauf der Entwicklung kann man auf
dieser Seite finden: http://people.xiph.org/~xiphmont/demo/index.html
Also welche Tools unterstützen die
beide Codecs? Theoretisch alle moderne Distros sollen damit kein
Problem haben. Ubuntu 10.10 ist eine davon.
Mein persönliche Favorit (ich bin
nicht gegen ffmpeg oder andere tools) ist gstreamer. Man kann damit
beliebige tools konstruieren.
Hier sind paar Beispiele: (Editor: das ! ist wirklich ein Ausrfuezeichen, nicht ein | Pipe, da war ich wohl zu unwissend, deshalb hatte ich alle ersetzt :-( )
gst-launch filesrc location=in.avi ! decodebin name=demux oggmux name=mux ! filesink location=out.ogg demux. ! theoraenc ! queu ! mux. demux. ! audioconvert ! vorbisenc |queue ! mux.
So konvertieren wir in.avi auf out.ogg.
Und jetzt das selbe nur auf WebM:
gst-launch filesrc location=in.avi ! decodebin name=demux webmmux name=mux ! filesink location=out.webm demux. ! vp8enc ! queu ! mux. demux. ! audioconvert ! vorbisenc ! queue ! mux.
OK, nun vielleicht was komplizierteres,
einen dump von DVD auf ogg und zwar die Englische und Deutsche Spur
gleichzeitig convertieren:
gst-launch filesrc location=stream.dump ! mpegpsdemux name=demux oggmux name=mux ! filesink location=out.ogg demux.audio_80 ! a52dec mode=2 ! audioconvert ! audioresample ! audio/x-raw-float,rate=44100,channels=2 ! audiorate ! taginject tags="language-code=eng" ! vorbisenc ! queue ! mux. demux.audio_81 ! a52dec mode=2 ! audioconvert |
audioresample ! audio/x-raw-float,rate=44100,channels=2 ! audiorate ! taginject tags="language-code=ger" ! vorbisenc ! queue ! mux. demux.video_e0 ! mpeg2dec ! videocrop top=74 bottom=74 ! ffmpegcolorspace ! videorate ! theoraenc quality=50 ! queue ! mux.
Es gibt auch ganze Reihe von Tools die auf ffmpeg basieren. So z.B. ffmpeg2theora. Einzige Aufgabe
dieses Tools ist alles in der Welt auf ogg/theora zu konvertieren.
Die aktuellste Version gibt es hier: firefogg.org/nightly/ffmpeg2theora.linux
Dort bekommt man in der Regel die neueste ffmpeg und
libtheora Version. Hier ist ein Beispiel:
ffmpeg2theora -v 7 -H 44100 -o out.ogg in.avi
Firefogg ist ein Firefoxaddon mit
Frontend für ffmpeg2theora und ffmpeg. Also eine interessante Mischung
was auf jedem OS funktionieren sollte. Das ffmpeg wird als Firefoxaddon
mit-installiert. Mit wenigen Klicks kann man viele Formate auf
ogg/theora oder WebM/vp8 konvertieren.firefogg.org/
Nun damit mache Schluss für diesen
Ausflug. Ich hoffe ihr habt Interesse für mehr und wir machen auch
ein wenig Scripting oder gstreamer KonFu
PS: es gibt gute Erweiterung für diese
Stoff auf folgender Seite:
diveintohtml5.org/video.html