10.6. Кодирование семейством кодеков `Video For Windows`
Пред. | Глава 10. Кодирование с MEncoder | След.

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

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

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

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

Имя файла с видео кодеком | Описание (FourCC) | md5sum | Комментарий
--- | --- | --- | ---
aslcodec_vfw.dll | Alparysoft vfw кодек без потерь (ASLC) | 608af234a6ea4d90cdc7246af5f3f29a |
avimszh.dll | AVImszh (MSZH) | 253118fe1eedea04a95ed6e5f4c28878 | необходим `-vf format`
avizlib.dll | AVIzlib (ZLIB) | 2f1cc76bbcf6d77d40d0e23392fa8eda |
divx.dll | DivX4Windows-VFW | acf35b2fc004a89c829531555d73f1e6 |
huffyuv.dll | HuffYUV (без потерь) (HFYU) | b74695b50230be4a6ef2c4293a58ac3b |
iccvid.dll | Cinepak Video (cvid) | cb3b7ee47ba7dbb3d23d34e274895133 |
icmw_32.dll | Motion Wavelets (MWV1) | c9618a8fc73ce219ba918e3e09e227f2 |
jp2avi.dll | ImagePower MJPEG2000 (IPJ2) | d860a11766da0d0ea064672c6833768b | `-vf flip`
m3jp2k32.dll | Morgan MJPEG2000 (MJ2C) | f3c174edcbaef7cb947d6357cdfde7ff |
m3jpeg32.dll | Morgan Motion JPEG Codec (MJPG) | 1cd13fff5960aa2aae43790242c323b1 |
mpg4c32.dll | Microsoft MPEG-4 v1/v2 | b5791ea23f33010d37ab8314681f1256 |
tsccvid.dll | TechSmith Camtasia Screen Codec (TSCC) | 8230d8560c41d444f249802a2700d1d5 | ошибка shareware в windows
vp31vfw.dll | On2 Open Source VP3 Codec (VP31) | 845f3590ea489e2e45e876ab107ee7d2 |
vp4vfw.dll | On2 VP4 Personal Codec (VP40) | fc5480a482ccc594c2898dcc4188b58f |
vp6vfw.dll | On2 VP6 Personal Codec (VP60) | 04d635a364243013898fd09484f913fb |
vp7vfw.dll | On2 VP7 Personal Codec (VP70) | cb4cc3d4ea7c94a35f1d81c3d750bc8d | `-ffourcc VP70`
ViVD2.dll | SoftMedia ViVD V2 VfW кодек (GXVE) | a7b4bf5cac630bb9262c3f80d8a773a1 |
msulvc06.DLL | MSU кодек без потерь (MSUD) | 294bf9288f2f127bb86f00bfcc9ccdda | Может декодироваться Window Media Player, но не MPlayer (пока).
camcodec.dll | CamStudio lossless video codec (CSCD) | 0efe97ce08bb0e40162ab15ef3b45615 | sf.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

### 10.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`, для показа окна настроек кодека перед началом кодирования.

Пред. | Уровень выше | След.
10.5. Кодирование кодеком `x264` | Начало | 10.7. Использование MEncoder для создания совместимых с QuickTime файлов