Поддерживаемые кодекиВидео кодекиТаблица статуса кодеков содержит
полный, ежедневно обновляющийся список всех поддерживаемых кодеков. Некоторые
бинарные кодеки, которые можно использовать в MPlayer, доступны
в разделе закачки
нашего сайта.
Наиболее важные кодеки:
MPEG1 (VCD) и
MPEG2 (DVD) видео
"родные" декодеры для DivX ;-), OpenDivX (DivX4),
DivX 5 (Pro), 3ivX, M$ MPEG-4 v1, v2 и других вариантов MPEG-4.
"родной" декодер для Windows Media Video 7/8
(WMV1/WMV2), и Win32 DLL декодер
для Windows Media Video 9
(WMV3), оба используются в .wmv
файлах
"родной" Sorenson 1 (SVQ1) декодер
"родной" Sorenson 3 (SVQ3) декодер
3ivx v1, v2 декодер
Cinepak и Intel Indeo кодеки (3.1,3.2,4.1,5.0)
MJPEG, AVID, VCR2, ASV2 и другие аппаратные
форматы
VIVO 1.0, 2.0, I263 и другие h263(+) варианты
FLI/FLC
RealVideo 1.0 & 2.0 из
libavcodec, и
RealVideo 3.0 & 4.0 кодеки, используя
библиотеки RealPlayer
"родной" декодер для HuffYUV
Различные старые, простые, похожие на RLE форматы
Если у Вас есть не упомянутый здесь Win32 кодек, который ещё не поддерживается,
пожалуйста, прочтите Как добавить кодек
и помогите нам добавить для него поддержку.
FFmpeg/libavcodecFFmpeg содержит пакет кодеков
с открытым исходным кодом, который способен
декодировать потоки, закодированные различными видео и аудио кодеками.
Кроме того, этот пакет предоставляет потрясающие кодирующие возможности,
причём производительность выше, чем у Win32 кодеков или DivX.com DivX4/5
библиотеки!
Он содержит множество хороших кодеков, из которых наиболее важными являются
разновидности MPEG4: DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Также весьма
интересен декодер WMA.
Наконец, последний кодек, заслуживающий внимания — это
Sorenson 3 (SVQ3) кодек. Это первая реализация
этого кодека с полностью открытым исходным кодом. Она даже быстрее оригинала.
Используйте её, вместо двоичного кодека!
Полный список доступных кодеков доступен на странице FFmpeg.
Поддерживаемые видео
и аудио кодеки.
Как релиз MPlayer'а, так и его версия из Subversion
содержат libavcodec. Поэтому нет надобности
беспокоиться о ее отдельной сборке. Просто запустите
configure и компилируйте как обычно.
С FFmpeg и моей Matrox G400, я даже могу смотреть DivX фильмы с высочайшим
разрешением без пропускаемых кадров на моем K6-2 500.
XAnim'овские кодеки
Обратите внимание, что XAnim'овские бинарные кодеки распространяются с небольшим
текстом, утверждающим, что это лицензия и, помимо прочих запретов, запрещающим
использование этих кодеков с любой программой кроме XAnim.
Тем не менее, автор XAnim еще должен возбудить судебный иск против кого-либо по относящимся
к кодеку вопросам.
УСТАНОВКА И ИСПОЛЬЗОВАНИЕMPlayer способен использовать XAnim'овские кодеки
для декодирования. Чтобы включить их, следуйте инструкциям:
Скачайте кодеки, которые Вы хотите использовать, с
сайта XAnim.
3ivx кодека там нет, но его можно найти на
сайте 3ivxИЛИ скачайте пакет кодеков с нашей
страницы кодеков.
Используйте опцию , чтобы сообщить
configure, где находятся XAnim'овские кодеки.
По умолчанию, он их ищет в
/usr/local/lib/codecs,
/usr/local/lib/xanim/mods,
/usr/lib/xanim/mods и
/usr/lib/xanim.
Вместо этого, Вы можете установить значением переменной среды окружения
XANIM_MOD_DIR каталог с XAnim'овскими кодеками.
Переименуйте/создайте символические ссылки, убрав части, относящиеся к
архитектуре так, чтобы файлы назывались: vid_cvid.xa,
vid_h263.xa, vid_iv50.xa
XAnim - это семейство видео кодеков xanim, поэтому Вы
можете использовать опцию , чтобы заставить
MPlayer использовать их, если возможно.
Протестированные кодеки: Indeo 3.2, 4.1, 5.0, CVID, 3ivX,
h263.VIVO видеоMPlayer может проигрывать Vivo (1.0 and 2.0) фильмы.
Наиболее подходящий кодек для 1.0 файлов - это FFmpeg'овский H263 декодер, Вы
можете включить его использование опцией . Для 2.0
файлов используйте Win32 DLL (опция ). Если Вы не
укажете опцию в командной строке, MPlayer
автоматически выберет лучший доступный кодек.
MPEG 1/2 видео
MPEG1 и MPEG2 декодируются многоплатформенной родной библиотекой libmpeg2, исходный код которой включён в
MPlayer. Мы обрабатываем плохое MPEG 1/2 видео,
перехватывая Сигнал 11
(нарушение сегментации), и быстро
реинициализируя кодек, продолжая точно с места ошибки. Такая технология
восстановления не имеет значимых временных задержек.
MS Video1, Cinepak CVID, и другие старые кодеки
MPlayer может воспроизводить большую часть старых кодеков, использовавшихся
в AVI и MOV файлах. Прежде они декодировались бинарными Win32 кодеками,
а теперь, используя
libavcodec,
для большинства из них у нас есть родные кодеки.
RealVideoMPlayer поддерживает декодирование всех версий
RealVideo:
RealVideo 1.0, 2.0 (fourcc RV10, RV20) - (де)кодирование поддерживается, используя
libavcodec
RealVideo 3.0, 4.0 (fourcc RV30, RV40) - декодирование
поддерживается, используя библиотеки RealPlayer'а
Cкачайте Real кодеки на
http://www.mplayerhq.hu/MPlayer/releases/codecs/
и распакуйте их в каталог
/usr/local/lib/codecs.
Если Вы хотите хранить их в другом месте, укажите configure
опцию .
RealPlayer'овские библиотеки в настоящий момент
работают только под Linux, FreeBSD, NetBSD и Cygwin
на x86, Alpha и PowerPC (тестировались Linux/Alpha и Linux/PowerPC)
платформах и с Mac OS X.
XviDXviD свободный, MPEG-4 ASP совместимый
видео кодек, особенностями которого являются двухпроходное кодирование и
полная поддержка MPEG-4 ASP, делающая его намного более эеффективным, чем
хорошо известный DivX. Он предоставляет видео отменного качества и хорошую
производительность, в силу оптимизаций под большинство современных процессоров.
Он начался как ответвление OpenDivX кодека. Это произошло, когда ProjectMayo
сделал исходный код OpenDivX
закрытым (DivX4, теперь DivX5), и разработчики OpenDivX не из ProjectMayo
разозлились, и взялись за XviD. Поэтому у обоих проектов общие корни.
Установка XviD
Как и большинство ПО с открытым исходным кодом, он доступен как в виде
официальных релизов,
так и в виде CVS версии.
Как правило, CVS версия достаточно стабильна для использования, т.к. в большинстве
случаев ее особенностью является отсутствие ошибок, присутствующих в релизах.
Далее описывается как заставить работать
XviD CVS с MEncoder'ом
(необходимы, как минимум,
autoconf 2.50,
automake и libtool):
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid logincvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcorecd xvidcore/build/generic./bootstrap.sh./configure
Вам может потребоваться добавить некоторые опции (посмотрите вывод
./configure --help).
make && make install
Если Вы указали ,
скопируйте ../../src/divx4.h в
/usr/local/include/.
Перекомпилируйте MPlayer с
Sorenson
Sorenson - это видео кодек, разработанный в Sorenson Media и лицензированный
Apple, которые распространяют его с QuickTime Player.
В настоящий момент мы способны декодировать все версии Sorenson видео файлов
следующими декодерами:
Sorenson Video v1 (fourcc SVQ1) - декодирование поддерживается
родным кодеком
(libavcodec)
Sorenson Video v3 (fourcc SVQ3) - декодирование поддерживается
родным кодеком
(libavcodec)
КОМПИЛЯЦИЯ MPLAYER'А С ПОДДЕРЖКОЙ БИБЛИОТЕК QUICKTIMEв настоящий момент поддерживаются только 32битные Intel'евские
платформы.скачайте MPlayer'овский Subversionскачайте пакет QuickTime DLL с
распакуйте пакет QuickTime DLL в Ваш каталог Win32 кодеков
(по умолчанию: /usr/local/lib/codecs)
скомпилируйте MPlayerx264Что такое x264?x264 - это библиотека для создания
видеопотоков H.264. Она не завершена на 100%, но, по крайней мере, имеет
поддержку большинства возможностей H.264, влияющих на качество.
В спецификации H.264 присутствует множество дополнительных возможностей,
которые сами по себе никак не влияют на качество видео и до сих в
x264 не реализованы.
возможности кодераCAVLC/CABAC (Контекстнозависимое адаптивное бинарное арифметическое
кодирование / Контестнозависимое адаптивное кодирование с переменной длиной)Кадры с несколькими ссылкамиБазовые (I-) кадры: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
видами предсказания)Предсказуемые (P-) кадры: все дробления (от 16x16 до 4x4)Двунаправленные (B-) кадры: дробления от 16x16 до 8x8
(включая SKIP/DIRECT)Управление потоком: постоянный квантователь, постоянный битпоток,
одинарный или многопроходный ABR, опциональный VBVОбнаружение усечения изображенияАдаптивное расположение B-кадровB-кадры как ссылки или в произвольном расположении кадровАдаптивные пространственные преобразования 8x8 и 4x4Режим кодирования без потерьВозможность задания пользовательских матриц квантованияПараллельное кодирование разных блоковЧто такое H.264?
H.264 - это одно из названий нового цифрового кодека, совместно
разрабатываемого ITU и MPEG. Названия "ISO/IEC 14496-10" или
"MPEG-4 Part 10" тоже являются корректными, но чаще его
называют "MPEG-4 AVC" или просто "AVC".
Как его ни называй, но H.264 стоит попробовать, поскольку он
дает то же качество, что и MPEG-4 ASP, но при битрейте меньшем
на 5%-30%. Конкретный результат зависит как от исходного
материала, так и от кодировщика. Выигрыш не дается просто так:
декодирование потока H.264, похоже, имеет существенно повышенные требования
к CPU и памяти. В частности, на 1733 MHz Athlon декодирование
H.264 потока в 1500кбит/с с DVD-разрешением использует около 35% CPU.
Для сравнения, декодирование 1500кбит/с потока MPEG4-ASP с
DVD-разрешением требует около 10% CPU. Это означает, что для
большинства пользователей практически не может быть и речи о декодировании
потоков высокого разрешения.
Также это значит, что даже скромный DVD рип может время от времени
заикаться на процессорах слабее 2.0 GHz или около того.
По крайней мере, с x264
требования для кодирования не слишком велики по сравнению с MPEG4-ASP.
В частности, на 1733 MHz Athlon кодирование обичного DVD будет идти со
скоростью 5-15 fps.
Объяснять все тонкости H.264 не является целью этого документа, но если
вас интересует краткий обзор, вы можете прочесть
The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions.
Как мне посмотреть H.264 при помощи MPlayer?MPlayer использует H.264 декодер библиотеки
libavcodec.
libavcodec получила мало-мальски
пригодную для использования возможность декодирования H.264 где-то в июле 2004,
однако, с того времени было внесено можество серъезных изменений и улучшений,
как с точки зрения поддерживаемых функциональных возможностей, так и улучшенного
использования CPU.
Для определенности: использование свежей версии Subversion - всегда хорошая идея.
Если нужен быстрый и простой способ узнать какие свежие изменения, относящиеся к H.264,
были сделаны в libavcodec, Вам следует
иметь ввиду
Веб-интерфейс к репозиторию FFmpeg Subversion.
Как кодировать видео, используя MEncoder и x264?
Если у вас установлен клиент subversion, последнюю версию x264
можно загрузить следующей командой:
svn co svn://svn.videolan.org/x264/trunk x264
Исходный код MPlayer обновляется
всякий раз при изменении API x264,
так что предлагается использовать Subversion версию
MPlayer'а.
возможно, ситуация изменится с выходом "релиза"
x264 (если он будет).
В данный момент x264 следует
рассматривать как очень нестабильный, в свете постоянного изменения
интерфейса программирования.
x264 собирается и устанавливается
как обычно:
./configure && make && sudo make install
Это установит libx264.a в /usr/local/lib, а x264.h - в /usr/local/include.
Сборка MPlayer при установленных в стандартные
каталоги библиотеке и заголовочном файле x264
очень проста.
Просто запустите станартное:
./configure && make && sudo make install
Скрипт configure сам определит, выполнены ли необходимые требования для
x264.
Аудио кодекиНаиболее важными аудио кодеками среди всех являются:
MPEG layer 1/2/3 (MP1/2/3) аудио (родной
код, с MMX/SSE/3DNow! оптимизацией)
Windows Media Audio 7 и 8 (они же WMAv1 и WMAv2) (родной код, с
libavcodec)
Windows Media Audio 9 (WMAv3) (используя DMO DLL)
AC3 Dolby аудио (родной код, с
MMX/SSE/3DNow! оптимизацией)
AC3 пропускаемый через звуковое оборудование
AAC
Ogg Vorbis аудио кодек (родная библиотека)
RealAudio: DNET (AC3 с низким битпотоком), Cook, Sipro и ATRAC3
QuickTime: Qualcomm и QDesign аудио кодеки
VIVO аудио (g723, Vivo Siren)
Voxware аудио (используя DirectShow DLL)
alaw и ulaw, различные gsm, adpcm и pcm форматы и другие простые старые аудио
кодеки
Adaptive Multi-Rate (AMR) речевые кодеки
Программное декодирование AC3
Это декодер, используемый, по умолчанию, для файлов с AC3 аудио
Декодер AC3 может создавать аудио вывод микшированный для 2, 4 или 6 колонок.
Будучи сконфигурированным для 6 колонок, этот декодер предоставляет раздельный
вывод всех AC3 каналов звуковому драйверу, позволяя получить "звук вокруг"
без внешнего AC3 декодера, необходимого для использования hwac3 кодека.
Используйте опцию , чтобы выбрать количество каналов
при выводе. Используйте для микширования до стерео.
Для микширования до 4 каналов (Левый Передний, Правый Передний, Левый Задний и
Правый Задний выводы),
используйте . В этом случае все центральные каналы
будут равномерно смикшированы до уровня передних каналов. будет
выводить все AC3 каналы так, как они закодированы - по порядку:
Левый, Правый, Левый Задний, Правый Задний, Центральный и Сабвуфер.
Количество каналов по умолчанию - 2.
Чтобы использовать более 2 каналов, Вам нужно использовать OSS, и обладать
карточкой, поддерживающей необходимое количество каналов через ioctl
SNDCTL_DSP_CHANNELS. Примером подходящего драйвера является emu10k1
(используется для Soundblaster Live! карточек) августа 2001'го или новее
(ALSA CVS тоже должен работать).
Аппаратное декодирование AC3
Вам нужна AC3-совместимая карта с цифровым (S/PDIF) выводом. Драйвер карты
должен должным образом поддерживать AFMT_AC3 формат (например C-Media).
Подсоедините AC3 декодер к S/PDIF выводу и используйте опцию . Это экспериментальная возможность, но известно, что это работает с
C-Media картами и Soundblaster Live! + ALSA (но не OSS) драйверами и
картами MPEG декодирования DXR3/Hollywood+.
Поддержка libmadlibmad - это многоплатформенная,
целочисленная (внутренне 24'битный PCM)
библиотека декодирования MPEG аудио. Она не очень хорошо обрабатывает битые
файлы и иногда у неё бывают проблемы с перемещением по файлу, но она
может быть производительнее mp3lib на платформах без FPU
(таких как ARM).
Чтобы включить её поддержку, компилируйте с опцией configure
.
Аппаратный MPEG аудио кодек
Этот кодек (выбираемый по -ac hwmpa) передает все аудио пакеты MPEG аппаратным
декодерам, таким как установленные в полнофункциональных DVB картах и DXR2 адаптерах.
Не используйте его с другими драйверами вывода звука (такими как OSS и ALSA), которые
не способны аппаратно декодировать (вы усышите только белый шум).
VIVO аудио
Аудио кодек, используемый в VIVO файлах зависит от того, является ли это VIVO/1.0 или
VIVO/2.0 файл. В VIVO/1.0 файлах g.723 аудио,
а в VIVO/2.0 файлах - Vivo Siren аудио. Оба
типа поддерживаются.
RealAudioMPlayer поддерживает декодирование почти всех версий
RealAudio:
RealAudio DNET - декодирование поддерживается в
liba52
RealAudio Cook/Sipro/ATRAC3 - декодирование поддерживается использованием
библиотек из RealPlayer'а
Инструкции по установке RealPlayer'овских библиотек находятся в разделе
RealVideo.
QDesign кодеки
Аудио потоки QDesign (fourcc:QDMC, QDM2) обнаруживаются
в MOV/QT файлах. Обе версии этого кодека могут декодироваться библиотеками
QuickTime. Инструкции по установке см. в секции
Sorenson video codec.
Qualcomm кодеки
Аудио потоки Qualcomm (fourcc:Qclp) обнаруживаются
в MOV/QT файлах. Они могут декодироваться библиотеками QuickTime.
Инструкции по установке см. в секции
Sorenson video codec.
AAC кодек
AAC (Advanced Audio Coding) - это кодек, иногда обнаруживаемый в MOV и MP4
файлах. Декодер с открытым исходным кодом, называемый FAAD, доступен с
.
MPlayer включает в себя CVS версию libfaad 2.1 beta, поэтому
Вам ничего не нужно дополнительно скачивать.
Если Вы используете gcc 3.2, который не может скомпилировать встроенный FAAD,
или просто хотите использовать внешнюю библиотеку, скачаете её с
страницы загрузок
и укажите configure .
Вам не нужен весь faad2, чтобы декодировать AAC файлы, достаточно libfaad.
Вот как Вы можете её собрать:
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
Бинарники отсутствуют на audiocoding.com, но вы можете скачать (apt-get) Debian
пакеты с домашней страницы Christian Marillat,
Mandrake RPM'ники с P.L.F и RedHat RPM'ники
с Grey Sector.
AMR кодеки
Речевой кодек Adaptive Multi-Rate используется в мобильных телефонах третьего поколения (3G).
Исходная реализация доступна с
The 3rd Generation Partnership Project
(бесплатна для личного использования).
Чтобы включить поддержку, скачайте исходники для
AMR-NB
и
AMR-WB
кодеков, поместите их в каталог, где распакованы исходники
MPlayer и выполните следующие команды:
unzip 26104-610.zip
unzip 26104-610_ANSI_C_source_code.zip
mv c-code libavcodec/amr_float
unzip 26204-600.zip
unzip 26204-600_ANSI-C_source_code.zip
mv c-code libavcodec/amrwb_float
После этого следуйте обычной процедуре сборки
MPlayer.
КАК извлечь кодек из Win32VFW кодеки
VFW (Video for Windows[Видео для Windows]) - это старые Видео API для Windows.
У этих кодеков расширения .DLL или (реже) .DRV.
Если MPlayer не может проигрывать Ваш
AVI с такого рода сообщением:
UNKNOWN video codec: HFYU (0x55594648)
Это значит, что Ваш AVI закодирован кодеком с fourcc HFYU
(HFYU = HuffYUV кодек, DIV3 = DivX Low Motion, и т.п.). Теперь, когда Вы это
знаете, Вы должны найти DLL, которую Windows загружает для проигрывания этого
файла. В нашем случае, в файле system.ini есть эта
информация, в этой строке:
VIDC.HFYU=huffyuv.dll
Значит, Вам нужен файл huffyuv.dll. Заметьте, что аудио
кодеки используют префикс MSACM:
msacm.l3acm=L3codeca.acm
Это MP3 кодек. Теперь у Вас есть вся необходимая информация (fourcc, файл с
кодеком, пример AVI), представьте на рассмотрение запрос о поддержке Вашего
кодека по почте и загрузите эти файлы на FTP сайт:
ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/
Под Windows NT/2000/XP ищите эту информацию в реестре, например,
ищите "VIDC.HFYU". Чтобы узнать, как это делать, см. ниже старый
метод DirectShow.
DirectShow кодеки
DirectShow - это более новый Video API, которые даже хуже, чем его предшественник.
Все сложнее с DirectShow, поскольку
system.ini не содержит необходимую информацию, вместо
этого она хранится в реестре и
нам нужен GUID этого кодека.
Новый Метод:
Используя Microsoft GraphEdit (быстро)
Получите GraphEdit или из DirectX SDK или
doom9
Запустите graphedit.exe.
В меню выберите Graph -> Insert Filters.
Щёлкните DirectShow Filters
Выберите нужное имя кодека и щёлкните по нему.
В поле DisplayName обратите внимание на текст в
фигурных скобках после обратного слэша и выпишете их (пять разделённых
дефисами блоков, GUID).
Бинарный файл кодека - это файл, указанный в поле Filename.
Если там нет Filename и
DisplayName содержит что-то в духе
device:dmo, то это - DMO-Кодек.
Старый метод:
Сделайте глубокий вдох и начните искать в реестре...
Запустите regedit.
Нажмите Ctrl+F, отключите первые две галочки
и включите третью. Наберите fourcc Вашего кодека (например,
TM20).
Вы должны увидеть поле, содержащее путь и имя файла (например,
C:\WINDOWS\SYSTEM\TM20DEC.AX).
Теперь, когда у Вас есть файл, нам нужен GUID. Попробуйте поискать снова,
но теперь ищите имя кодека, а не fourcc. Это имя может быть получено,
когда Media Player проигрывает файл, проверив
File -> Properties ->
Advanced.
Если нет, Вам не повезло. Попробуйте угадать (например, ищите TrueMotion).
Если GUID найден, Вы должны видеть поля FriendlyName
и CLSID. Выпишите 16-ти байтовый CLSID, это GUID, который
нам нужен.
Если поиск не удаётся, попробуйте включить все галочки. Вы можете получить
ложные значения, но Вам может повести...
Теперь у Вас есть вся необходимая информация (fourcc, GUID, файл с кодеком,
пример AVI), представьте на рассмотрение запрос о поддержке Вашего кодека по
почте и загрузите эти файлы на FTP сайт:
ftp://upload.mplayerhq.hu/MPlayer/incoming/[codecname]/
Если вы хотите добавить кодек самостоятельно, прочтите
DOCS/tech/codecs.conf.txt.