Audio- und Videocodecs für die Encodierung werden mit den Optionen -oac und -ovc respektive gewählt. Gib zum Beispiel folgendes ein:
mencoder -ovc help
um alle von der MEncoder-Version auf deinem Rechner unterstützten Video-Codecs aufzulisten. Die folgenden Wahlmöglichkeiten stehen zur Verfügung:
Audiocodecs:
Audiocodecname | Beschreibung |
---|---|
mp3lame | encodiere nach VBR-, ABR- oder CBR-MP3 mittels LAME |
lavc | verwende einen der Audiocodecs von
libavcodec
|
faac | FAAC AAC Audio-Encoder |
toolame | MPEG Audio Layer 2 Encoder |
twolame | MPEG Audio Layer 2 Encoder basierend auf tooLAME |
pcm | unkomprimiertes PCM-Audio |
copy | nicht neu codieren, kopiere einfach nur komprimierte Frames |
Video-Codecs:
Videocodecname | Beschreibung |
---|---|
lavc | Verwende einen der Video-Codecs von
libavcodec
|
xvid | Xvid, MPEG-4 Advanced Simple Profile (ASP) Codec |
x264 | x264, MPEG-4 Advanced Video Coding (AVC), AKA H.264 Codec |
nuv | NuppelVideo, von Echtzeit-Anwendungen verwendet |
raw | unkomprimierte Video-Frames |
copy | nicht neu codieren, kopiere einfach nur komprimierte Frames |
frameno | verwendet für 3-pass-Encodierung (nicht empfohlen) |
Ausgabe-Containerformate werden mittels der Option -of gewählt. Gib folgendes ein
mencoder -of help
um alle von der MEncoder-Version auf deinem Rechner unterstützten Videocodecs aufzulisten. Die folgenden Wahlmöglichkeiten stehen zur Verfügung:
Containerformate:
Name des Containerformats | Beschreibung |
---|---|
lavf | einer der von
libavformat
unterstützten Container |
avi | Audio-Video Interleaved |
mpeg | MPEG-1 und MPEG-2 PS |
rawvideo | raw-Video-Stream (kein Muxen - nur ein Video-Stream) |
rawaudio | raw-Audio-Stream (kein Muxen - nur ein Audio-Stream) |
Der AVI-Container ist das ursprüngliche Containerformat für MEncoder, was bedeutet, dass es der am besten gehandhabte ist und derjenige, für welchen MEncoder entworfen wurde. Wie oben angemerkt können weitere Containerformate verwendet werden, jedoch kann es bei deren Gebrauch zu Problemen kommen.
libavformat
-Container:
Wenn du für das Muxen der Ausgabedatei
libavformat
verwendest
(mittels -of lavf),
wird das passende Containerformat entsprechend der Erweiterung der Ausgabedatei
ermittelt.
Du kannst ein bestimmtes Containerformat mit Hilfe der Option
format von libavformat
erzwingen.
libavformat Containername | Beschreibung |
---|---|
mpg | MPEG-1 und MPEG-2 PS |
asf | Advanced Streaming Format |
avi | Audio-Video Interleaved |
wav | Waveform Audio |
swf | Macromedia Flash |
flv | Macromedia Flash Video |
rm | RealMedia |
au | SUN AU |
nut | NUT offener Container (experimentell und noch nicht Spec-konform) |
mov | QuickTime |
mp4 | MPEG-4 Format |
dv | Sony Digital Video Container |
Wie du siehst, erlaubt libavformat
MEncoder, in eine beachtliche Vielfalt an Containern
zu muxen.
Leider solltest du wirklich Paranoia angesichts der resultierenden Datei schieben,
da MEncoder nicht von Anfang an für die Unterstützung
anderer Containerformate als AVI entworfen wurde.
Überprüfe bitte sicherheitshalber, ob die Audio-/Video-Synchronisierung in Ordnung ist
und ob die Datei von anderen Playern als MPlayer
wiedergegeben werden kann.
Beispiel 13.1. Encodieren in das Macromedia Flash-Format
Erzeugen eines Macromedia Flash Videos, das in einem Web-Browser mit dem Macromedia Flash Plugin abgespielt werden kann:
mencoderinput.avi
-ooutput.flv
-of lavf \ -oac mp3lame -lameopts abr:br=56 -ovc lavc \ -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \ -srate 22050