Таблица статуса кодеков содержит полный, ежедневно обновляющийся список всех поддерживаемых кодеков. Некоторые бинарные кодеки, которые можно использовать в 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
.