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 9.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:
mencoder input.avi -o output.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