14.6. Кодирование семейством кодеков Video For Windows

Video for Windows предоставляет простое кодирование при помощи бинарных видео кодеков. Вы можете кодировать следующими кодеками (если у Вас есть другие, сообщите нам!)

Имейте в виду, что поддержка этой возможности очень экспериментальная и некоторые кодеки могут не работать корректно. Некоторые кодеки могут работать только в определенных пространствах цветов, попробуйте -vf format=bgr24 и -vf format=yuy2, если кодек выдает ошибку или кодирует неверно.

14.6.1. Поддерживаемые кодеки Video for Windows

Имя файла с видео кодекомОписание (FourCC)md5sumКомментарий
aslcodec_vfw.dllAlparysoft vfw кодек без потерь (ASLC)608af234a6ea4d90cdc7246af5f3f29a 
avimszh.dllAVImszh (MSZH)253118fe1eedea04a95ed6e5f4c28878необходим -vf format
avizlib.dllAVIzlib (ZLIB)2f1cc76bbcf6d77d40d0e23392fa8eda 
divx.dllDivX4Windows-VFWacf35b2fc004a89c829531555d73f1e6 
huffyuv.dllHuffYUV (без потерь) (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ошибка shareware в windows
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)cb4cc3d4ea7c94a35f1d81c3d750bc8d-ffourcc VP70
ViVD2.dllSoftMedia ViVD V2 VfW кодек (GXVE)a7b4bf5cac630bb9262c3f80d8a773a1 
msulvc06.DLLMSU кодек без потерь (MSUD)294bf9288f2f127bb86f00bfcc9ccdda Может декодироваться Window Media Player, но не MPlayer (пока).
camcodec.dllCamStudio lossless video codec (CSCD)0efe97ce08bb0e40162ab15ef3b45615sf.net/projects/camstudio

Первый столбец содержит имена кодеков, которые должны указываться после параметра codec, например: -xvfwopts codec=divx.dll FourCC код, используемый каждым кодеком, указан в скобках.

Пример конвертации ISO DVD ролика в VP6 flash видео файл с использованием compdata настроек битпотока:

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. Использование vfw2menc для создания файла настроек кодека.

Для кодирования кодеками Video for Windows, Вам потребуется установить величину битпотока и другие опции. Известно, что это работает на x86 и для *NIX, и для Windows.

Во-первых, Вы должны собрать программу vfw2menc. Она находится в подкаталоге TOOLS дерева исходников MPlayer. Для сборки под Linux, это можно сделать, воспользовавшись Wine:

winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32

Для сборки под Windows в MinGW или Cygwin используйте:

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

Для сборки в MSVC вам потребуется getopt. Getopt можно найти в исходном архиве vfw2menc, доступном в: Проект MPlayer на win32.

Далее следует пример использования с VP6 кодеком.

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

Это откроет диалоговое окно кодека VP6. Повторите этот шаг для второго прохода, указав -s secondpass.mcf.

Пользователи Windows могут использовать -xvfwopts codec=vp6vfw.dll:compdata=dialog, для показа окна настроек кодека перед началом кодирования.