14.6. Encodieren mit der Video for Windows Codecfamilie

Video for Windows bietet einfaches Encodieren mittels binärer Video-Codecs. Du kannst mit folgenden Codecs encodieren (solltest du mehr haben, teile es uns bitte mit!)

Beachte, dass der Support hierfür sehr experimentell ist, und einige Codecs arbeiten vielleicht nicht korrekt. Manche Codecs werden nur in bestimmten Farbräumen funktionieren, versuche -vf format=bgr24 und -vf format=yuy2, falls ein Codec versagt oder einen falschen Output liefert.

14.6.1. Von Video for Windows unterstützte Codecs

Video-Codec DateinameBeschreibung (FourCC)md5sumKommentar
aslcodec_vfw.dllAlparysoft verlustfreier (lossless) Codec vfw (ASLC)608af234a6ea4d90cdc7246af5f3f29a 
avimszh.dllAVImszh (MSZH)253118fe1eedea04a95ed6e5f4c28878benötigt -vf format
avizlib.dllAVIzlib (ZLIB)2f1cc76bbcf6d77d40d0e23392fa8eda 
divx.dllDivX4Windows-VFWacf35b2fc004a89c829531555d73f1e6 
huffyuv.dllHuffYUV verlustfrei (lossless) (HFYU)b74695b50230be4a6ef2c4293a58ac3b 
iccvid.dllCinepak Video (cvid)cb3b7ee47ba7dbb3d23d34e274895133 
icmw_32.dllMotion Wavelets (MWV1)c9618a8fc73ce219ba918e3e09e227f2 
jp2avi.dllImagePower MJPEG2000 (IPJ2)d860a11766da0d0ea064672c6833768b-vf flip
m3jp2k32.dllMorgan MJPEG2000 (MJ2C)f3c174edcbaef7cb947d6357cdfde7ff 
m3jpeg32.dllMorgan Motion JPEG Codec (MJPG)1cd13fff5960aa2aae43790242c323b1 
mpg4c32.dllMicrosoft MPEG-4 v1/v2b5791ea23f33010d37ab8314681f1256 
tsccvid.dllTechSmith Camtasia Screen Codec (TSCC)8230d8560c41d444f249802a2700d1d5 
vp31vfw.dllOn2 Open Source VP3 Codec (VP31)845f3590ea489e2e45e876ab107ee7d2 
vp4vfw.dllOn2 VP4 Personal Codec (VP40)fc5480a482ccc594c2898dcc4188b58f 
vp6vfw.dllOn2 VP6 Personal Codec (VP60)04d635a364243013898fd09484f913fb 
vp7vfw.dllOn2 VP7 Personal Codec (VP70)cb4cc3d4ea7c94a35f1d81c3d750bc8dfalscher FourCC?
ViVD2.dllSoftMedia ViVD V2 Codec VfW (GXVE)a7b4bf5cac630bb9262c3f80d8a773a1 

Die erste Spalte enthält die Codec-Namen, die nach dem Parameter codec übergeben werden sollten, wie: -xvfwopts codec=divx.dll. Der FourCC-Code, der von jedem Codec verwendet wird, steht in Klammern.

Ein Beispiel für die Konvertierung eines ISO DVD Trailers in eine VP5-Flash-Videodatei unter Benutzung der compdata-Bitrateneinstellungen:

mencoder -dvd-device zeiram.iso dvd://7 -o trailer.flv \
-ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
-lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
-of lavf

14.6.2. Benutzung von vfw2menc, um eine Datei für Codeceinstellungen zu erzeugen

Um mit Video für Windows Codecs zu encodieren, musst du Bitrate und andere Optionen setzen. Nach dem Stand der Dinge funktioniert dies für x86 sowohl unter *NIX als auch unter Windows.

Zuerst musst du das vfw2menc-Programm erzeugen. Es befindet sich im Ordner TOOLS des MPlayer-Sourcebaums. Um es unter Linux zu erstellen, kann Wine benutzt werden:

winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32

Unter MinGW oder Cygwin verwende:

gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32

Um es unter MSVC zu erstellen, wirst du getopt brauchen. Getopt findest du im Original-vfw2menc-Archiv, das es hier gibt: Das Projekt MPlayer on win32.

Unten steht ein Beispiel für den VP6-Codec.

vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf

Dies wird den Konfigurationsdialog des VP6-Codecs öffnen. Wiederhole diesen Schritt für den zweiten Durchlauf und benutze -s secondpass.mcf.

Windows-Benutzer können -xvfwopts codec=vp6vfw.dll:compdata=dialog verwenden, damit der Dialog angezeigt wird, bevor die Encodierung startet.