Таблица статуса кодеков содержит полный, ежедневно обновляющийся список всех поддерживаемых кодеков. Некоторые бинарные кодеки, которые можно использовать в MPlayer, доступны в разделе закачки нашего сайта.
Наиболее важные кодеки:
MPEG1 (VCD) и MPEG2 (DVD) видео
"родные" декодеры для всех вариантов DivX, 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 содержит libavcodec - ведущую библиотеку аудио и видео кодеков с открытым исходным кодом. Она способна декодировать большинство мультимедиа форматов, обычно быстрее альтернатив, и периодически добавляется поддержка оставшихся. Это декодер по-умолчанию для большинства кодеков, поддерживаемых MPlayer. Кодирование также возможно для некоторых форматов и поддерживается в Mencoder.
Полный список поддерживаемых видео и аудио кодеков доступен на домашней странице FFmpeg.
MPlayer содержит libavcodec. Просто запустите ./configure и компилируйте как обычно.
Xvid свободный, MPEG-4 ASP совместимый видео кодек, особенностями которого являются двухпроходное кодирование и полная поддержка MPEG-4 ASP, делающая его намного более эффективным, чем хорошо известный DivX. Он предоставляет видео отменного качества и хорошую производительность, в силу оптимизаций под большинство современных процессоров.
Он начался как ответвление OpenDivX кодека. Это произошло, когда ProjectMayo сделал исходный код OpenDivX закрытым DivX4, и разработчики OpenDivX не из ProjectMayo разозлились, и взялись за Xvid. Поэтому у обоих проектов общие корни.
Имейте в виду, что Xvid не нужен для декодирования Xvid-кодированного видео. libavcodec используется по-умолчанию, т.к. обеспечивает более высокую скорость.
Установка Xvid
Как и большинство ПО с открытым исходным кодом, он доступен как в виде официальных релизов, так и в виде CVS версии. Как правило, CVS версия достаточно стабильна для использования, т.к. в большинстве случаев ее особенностью является отсутствие ошибок, присутствующих в релизах. Далее описывается как заставить работать Xvid CVS с MEncoder'ом (необходимы, как минимум, 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.
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 - это одно из названий нового цифрового кодека, совместно разрабатываемого 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.
MPlayer использует H.264 декодер библиотеки libavcodec. libavcodec получила мало-мальски пригодную для использования возможность декодирования H.264 где-то в июле 2004, однако, с того времени было внесено множество серьезных изменений и улучшений, как с точки зрения поддерживаемых функциональных возможностей, так и улучшенного использования CPU. Для определенности: использование свежей версии Subversion - всегда хорошая идея.
Если нужен быстрый и простой способ узнать какие свежие изменения, относящиеся к H.264, были сделаны в libavcodec, Вам следует иметь ввиду Веб-интерфейс к репозиторию FFmpeg Subversion.
Если у вас установлен клиент 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.