См. таблицу статуса кодеков для полного, ежедневно генерируемого списка. Несколько кодеков доступны для скачивания на нашей странице. Получите их со страницы кодеков.
Наиболее важные кодеки:
libavcodec
, и
RealVideo 3.0 & 4.0 кодеки, используя
библиотеки RealPlayer
Если у Вас есть не упомянутый здесь Win32 кодек, который ещё не поддерживается, пожалуйста, прочтите Как добавить кодек [codec importing HOWTO] и помогите нам добавить для него поддержку.
Эта секция содержит информацию о DivX4 b DivX5 кодеках от Project Mayo. Их первыми доступными альфа версиями были OpenDivX alpha 47 и 48. В прошлом поддержка для них была включена в MPlayer и собиралась по умолчанию. Также мы использовали их код постобработки для факультативного улучшения качества изображения в MPEG1/2 фильмах. Сейчас мы используем наш собственный фильтр для файлов всех типов.
Новое поколение этого кодека называется DivX4 и даже может декодировать фильмы,
сделанные пресловутым DivX кодеком! В дополнение к этому, он значительно
быстрее, чем Win32 DivX DLL'и, но медленнее, чем
libavcodec
.
Поэтому, использовать его в качестве декодера
НЕ РЕКОМЕНДУЕТСЯ. Хотя, он полезен
для кодирования. Единственным недостатком этого кодека является то, что он
не доступен по лицензии с Открытым исходным кодом[Open Source license]
DivX4 работает в двух режимах:
Метод -vc odivx обычно быстрее, поскольку при этом изображение передаётся в YV12 формате (линейный YUV 4:2:0), и поэтому требуется много меньшая пропускная способность шины. Для упакованных YUV режимов (YUY2, UYVY) используйте метод -vc divx4. В RGB режимах скорость - такая же, различаясь в лучшем случае из-за текущей глубины цвета.
Если Ваш -vo драйвер поддерживает прямой вывод, то -vc divx4 может быть более быстрым, или даже наибыстрейшим решением.
Двоичная библиотека DivX4/5 кодека может быть скачена с сайтов avifile или divx.com Распакуйте его, запустите как администратор ./install.sh, и не забудьте добавить /usr/local/lib в Ваш /etc/ld.so.conf и запустить ldconfig.
Так можно получить CVS версию СТАРОЙ библиотеки OpenDivX core:
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
Основная библиотека разделена на decore[декодер] и encore[кодер] библиотеки, которые должны компилироваться по-отдельности. Для библиотеки decore, просто наберите
cd divxcore/decore/build/linux make cp libdivxdecore.so /usr/local/lib ln -s libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 cp ../../src/decore.h /usr/local/include
К сожалению, для библиотеки encore Linux'ового Makefile нет, и MMX оптимизированный код работает только под Windows. Вы всё же можете скомпилировать её, используя этот Makefile.
cd ../../../encore/build mkdir linux cd linux cp path/Makefile . make cp libdivxencore.so /usr/local/lib ln -s libdivxencore.so /usr/local/lib/libdivxencore.so.0 cp ../../src/encore.h /usr/local/include
MPlayer автоматически находит DivX4/DivX5 если они были правильно установлен, просто компилируйте как обычно. Если он не находит этот кодек, то Вы неправильно установили или сконфигурировали DivX4/DivX5.
FFmpeg содержит пакет кодеков с открытым исходным кодом, который способен декодировать потоки, закодированные различными видео и аудио кодеками. Кроме того, этот пакет предоставляет потрясающие кодирующие возможности, причём производительность выше, чем у Win32 кодеков или DivX.com DivX4/5 библиотеки!
Он содержит множество хороших кодеков, из которых наиболее важными являются варианты MPEG4: DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Также весьма интересен декодер WMA.
Наконец, последний кодеком, заслуживающий внимания — это Sorenson 3(SVQ3) кодек. Это первая реализация этого кодека с полностью открытым исходным кодом. Она даже быстрее оригинала. Используйте её, вместо двоичного кодека!
Полный список доступных кодеков доступен на странице FFmpeg. Поддерживаемые видео и аудио кодеки.
Если вы используете релиз MPlayer'а, то у Вас в пакете
уже есть libavcodec
,
просто компилируйте как обычно. Если Вы используете MPlayer
из CVS, Вы должны извлечь libavcodec
из CVS дерева FFmpeg, поскольку релизы FFmpeg очень редки. Как правило, CVS
достаточно стабилен и предоставляет больше возможностей. Чтобы это сделать:
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
Переместите каталог libavcodec из исходного кода FFmpeg в корень MPlayer'овского CVS дерева. Это должно выглядеть так: main/libavcodec
Символической ссылки не достаточно, Вы должны скопировать/переместить его!
Если Вы хотите, чтобы libavcodec
обновлялась каждый раз, когда Вы обновляете
MPlayer'овский CVS, добавьте такую строчку:
main/CVS/Entries
в файл
D/libavcodec////
Скомпилируйте. configure должен определить проблемы до компиляции.
MPlayer из CVS содержит подкаталог
libavcodec, но он не
содержит исходный код для libavcodec
!
Вы должны следовать указаниям,
приведённым выше, чтобы получить исходный код этой библиотеки.
С FFmpeg и моей Matrox G400, я даже могу смотреть DivX фильмы с высочайшим разрешением без пропускаемых кадров на моем K6-2 500.
Обратите внимание, что XAnim'овские бинарные кодеки распространяются с небольшим текстом, утверждающим, что это лицензия и помимо прочих запретов, запрещающим использование этих кодеков с любой программой кроме XAnim'а. Тем не менее, автор XAnim'а ещё должен ещё произвести юридические действия по относящимся к кодекам вопросам.
УСТАНОВКА И ИСПОЛЬЗОВАНИЕ. MPlayer способе использовать XAnim'овские кодеки для декодирования. Чтобы включить их, следуйте инструкциям:
Скачайте кодеки, которые Вы хотите использовать, с сайта XAnim site. 3ivx кодека там нет, но его можно найти на сайте 3ivx.
ИЛИ скачайте пакет кодеков с нашей страницы кодеков
Используйте опцию --with-xanimlibdir, чтобы сообщить
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
, поэтому Вы
можете использовать опцию -vfm xanim, чтобы заставить
MPlayer использовать их, если возможно.
Тестированные кодеки это: Indeo 3.2, 4.1, 5.0, CVID, 3ivX, h263.
MPlayer может проигрывать Vivo (1.0 and 2.0) фильмы. Наиболее подходящий кодек для 1.0 файлов - это FFmpeg'овский H263 декодер, Вы можете включить его использование опцией -vc ffh263. Для 2.0 файлов используйте Win32 DLL (опция -vc vivo). Если Вы не укажете опцию в командной строке, MPlayer автоматически выберет лучший доступный кодек.
MPEG1 и MPEG2 декодируются многоплатформенной "родной" библиотекой libmpeg2
, исходный код которой включён в
MPlayer. Мы обрабатываем плохое MPEG 1/2 видео,
перехватывая Сигнал 11
(segmentation fault[ошибка сегментации]
), и быстро
реинициализируя кодек, продолжая точно с места ошибки. Такая технология
восстановления не имеет значимых временных задержек.
MPlayer может воспроизводить большую часть старых кодеков, использовавшихся
в AVI и MOV файлах. Прежде они декодировались бинарными Win32 кодеками,
а теперь, используя
libavcodec
,
для большинства из них у нас есть родные кодеки.
MPlayer поддерживает декодирование всех версий RealVideo:
libavcodec
Cкачайте Real кодеки на http://www.mplayerhq.hu/MPlayer/releases/codecs/ и распакуйте их в каталог /usr/local/lib/codecs. Если Вы хотите хранить их в другом месте, укажите configure опцию --with-reallibdir.
На Mac OS X Вы должны убедиться, что pncrt.Shlb (включая его resource fork!) находится в том же каталоге, что и Real кодеки. Скопируйте их, например, так:
ditto -rsrcFork "RealOne Player.app/Contents/MacOS/pncrt.Shlb" "RealOne Player.app/Contents/MacOS/Library/Codecs"
Если Вы этого не сделаете, или забудете скопировать resource fork, Вы будете получать такие ошибки:
GetDiskFragment() failed with error -2804: <<Unknown disk fragment>><<Unknown disk fragment>><pncrt.Shlb><>
RealPlayer'овские библиотеки в настоящий момент работают только под Linux, FreeBSD, NetBSD и Cygwin на x86, Alpha и PowerPC (тестировались Linux/Alpha и Linux/PowerPC) платформах и с Mac OS X.
XviD - это разработка, отпочковавшаяся от OpenDivX кодека. Это произошло, когда ProjectMayo сделал исходный код OpenDivX закрытым (DivX4, теперь DivX5), и разработчики OpenDivX не из ProjectMayo разозлились, и взялись за XviD. Поэтому у обоих проектов общие корни.
ПРЕИМУЩЕСТВА
НЕДОСТАТКИ
libavcodec
)
УСТАНОВКА XVID CVS
В настоящий момент он доступен только по CVS. Вот как его скачать и поставить (Вам потребуется autoconf не старее 2.50, automake и libtool):
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
cd xvidcore/build/generic
./bootstrap.sh
./configure
Вам может потребоваться добавить некоторые опции (посмотрите вывод
./configure --help
).
make && make install
Если Вы указали --enable-divxcompat, скопируйте ../../src/divx4.h в /usr/local/include/.
Перекомпилируйте MPlayer с
--with-xvidlibdir=/path/to/
libxvidcore.a
--with-xvidincdir=/path/to/
xvid.h
Sorenson - это видео кодек, разработанный в Sorenson Media и лицензированный Apple, которые распространяют его с QuickTime Player. В настоящий момент мы способны декодировать все версии Sorenson видео файлов следующими декодерами:
libavcodec
)
libavcodec
)
КОМПИЛЯЦИЯ MPLAYER'А С ПОДДЕРЖКОЙ БИБЛИОТЕК QUICKTIME
в настоящий момент поддерживаются только 32битные Intel'евские платформы.
скачайте MPlayer'овский CVS
скачайте пакет QuickTime DLL с http://www.mplayerhq.hu/MPlayer/releases/codecs/
распакуйте пакет QuickTime DLL в Ваш каталог Win32 кодеков (по умолчанию: /usr/local/lib/codecs)
скомпилируйте MPlayer
Наиболее важными аудио кодеками среди всех являются:
libavcodec
)
Это декодер, используемый, по умолчанию, для файлов с AC3 аудио
Декодер AC3 может создавать аудио вывод микшированный для 2, 4 или 6 колонок. Будучи сконфигурированным для 6 колонок, этот декодер предоставляет раздельный вывод всех AC3 каналов звуковому драйверу, позволяя получить "звук вокруг" без внешнего AC3 декодера, необходимого для использования hwac3 кодека.
Используйте опцию -channels, чтобы выбрать количество каналов при выводе. Используйте -channels 2 для микширования до стерео. Для микширования до 4 каналов (выводы Left Front[Левый Передний], Right Front [Правый передний], Left Surround[Левый Задний] и Right Surround[Правый Задний]), используйте -channels 4. В этом случае все центральные каналы будут смикшированы до уровня передних каналов. -channels 6 будет выводить все AC3 каналы так, как они закодированы - по порядку: Left[Левый], Right[Правый], Left Surround[Левый Задний], Right Surround[Правый Задний], Center[Центральный] и LFE.
Количество каналов по умолчанию - 2.
Чтобы использовать более 2 каналов, Вам нужно использовать OSS, и обладать карточкой, поддерживающей необходимое количество каналов через ioctl SNDCTL_DSP_CHANNELS. Примером подходящего драйвера является emu10k1 (используется для Soundblaster Live! карточек) августа 2001'ого или новее (ALSA CVS тоже должен работать).
Вам нужна AC3-совместимая карта с цифровым (S/PDIF) выводом. Драйвер карты должен должным образом поддерживать AFMT_AC3 формат (например C-Media). Подсоедините AC3 декодер к S/PDIF выводу и используйте опцию -ac hwac3. Это экспериментальная возможность, но известно, что это работает с C-Media картами и Soundblaster Live! + ALSA (но не OSS) драйверами и картами MPEG декодирования DXR3/Hollywood+.
libmad - это многоплатформенная, целочисленная (внутренне 24'битный PCM) библиотека декодирования MPEG аудио. Она не очень хорошо обрабатывает битые файлы и иногда у неё бывают проблемы с перемещением по файлу.
Чтобы включить её поддержку, компилируйте с опцией configure --enable-mad.
Аудио кодек, используемый в VIVI файлах зависит от того, это VIVI/1.0 или VIVI/2.0 файл. В VIVO/1.0 файлах g.723 аудио, а в VIVO/2.0 файлах - Vivo Siren аудио. Оба типа поддерживаются.
MPlayer поддерживает декодирование почти всех версий RealAudio:
liba52
Инструкции по установке RealPlayer'овские библиотек находятся в секции RealVideo.
Аудио потоки QDesign (fourcc:QDMC, QDM2) обнаруживаются в MOV/QT файлах. Обе версии этого кодека могут декодироваться библиотеками QuickTime. Инструкции по установке см. в секции Sorenson video codec.
Аудио потоки Qualcomm (fourcc:Qclp) обнаруживаются в MOV/QT файлах. Они могут декодироваться библиотеками QuickTime. Инструкций по установке см. в секции Sorenson video codec.
AAC (Advanced Audio Coding) - это кодек, иногда обнаруживаемый в MOV и MP4 файлах. Декодер с открытым исходным кодом, называемый FAAD, доступен с http://www.audiocoding.com. MPlayer включает в себя libfaad 2.0RC1, поэтому Вам ничего не нужно дополнительно скачивать.
Если Вы используете gcc 3.2, который не может скомпилировать встроенный FAAD, или просто хотите использовать внешнюю библиотеку, скачаете её с страницы скачивания и укажите configure --enable-external-faad. Вам не нужен весь faad2, чтобы декодировать AAC файлы, достаточно libfaad. Вот как Вы можете её собрать:
cd faad2/ chmod +x bootstrap ./bootstrap ./configure cd libfaad make make install
Бинарии отсутствуют на audiocoding.com, но вы можете скачать (apt-get) Debian пакеты с домашней страницы Christian Marillat, Mandrake RPM'ники с P.L.F и RedHat RPM'ники с Grey Sector[Серый Сектор].
VFW (Video for Windows[Видео для Windows]) - это старые Видео API для Windows. У этих кодеков расширения .DLL или (реже) .DRV . Если MPlayer не может проигрывать Ваш AVI с такого рода сообщением:
UNKNOWN video codec: HFYU (0x55594648)
Это значит, что Ваш AVI закодирован кодеком с fourcc[кодом из 4 символов] 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://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
Под Windows NT/2000/XP ищите эту информацию в реестре, например, ищите "VIDC.HFYU". Чтобы узнать, как это делать, см. ниже старый DirectShow метод.
DirectShow - это более новый Video API, которые даже хуже, чем его предшественник. Все сложнее с DirectShow, поскольку
Новый Метод:
Используя 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 проигрывает файл, проверив
-> -> . Если нет, Вам не повезло. Попробуйте угадать (например, ищите TrueMotion).Если GUID найден, Вы должны видеть поля FriendlyName и CLSID. Выпишите 16-ти байтовый CLSID, это GUID, который нам нужен.
Если поиск не удаётся, попробуйте включить все галочки. Вы можете получить ложные значения, но Вам может повести...
Теперь у Вас есть вся необходимая информация (fourcc, GUID, файл с кодеком,
пример AVI), представьте на рассмотрение запрос о поддержке Вашего кодека по
почте и загрузите эти файлы на FTP сайт:
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/