Важно разъяснить одну общую ошибку. Когда люди видят файл с расширением .AVI, они немедленно заключают, что это - не MPEG файл. Это не так. Во всяком случае не всегда. Супротив популярному мнению такой файл может содержать MPEG видео.
Как видите, кодек — это не то же самое, что и формат файла. Примеры видео кодеков: MPEG1, MPEG2, DivX, Indeo5, 3ivx. Примеры видео форматов: MPG, AVI, ASF.
В теории, Вы можете поместить OpenDivX видео и MP3 аудио в файл MPG формата. Хотя, большинство плееров не смогут это проиграть, поскольку они ожидают MPEG1 видео и MP2 аудио (в отличие от AVI, в MPG нет нужных полей для описания его видео и аудио потоков). Или Вы можете поместить MPEG1 видео в AVI файл. FFmpeg и MEncoder могут создавать эти файлы.
MPEG файлы бывают различных разновидностей:
Серии кадров независимо группируются в MPEG файлах. Это значит, что Вы можете разрезать/соединять MPEG фалы стандартными файловыми средствами (такими, как dd, cut), и он остаётся полностью функциональным.
Одно из основных преимуществ MPG'ов это то, что в них есть поле, описывающее соотношение сторон видео потока. Например, на SVCD содержится видео разрешением 480x480, и заголовок установил его(поле) в 4:3, поэтому это будет проигрываться на 640x480. В AVI файлах такого поля нет, поэтому они должны быть масштабированы при кодировании или проигрываться с опцией -aspect.
Разработанный Microsoft'ом AVI (Audio Video Interleaved [Аудио Видео 'Слоёные']) - это широко распространённый многоцелевой формат, в настоящий момент чаще всего применяемый для DivX и DivX4 видео. У него много известных недостатков и недочётов (например в потоках). Он поддерживает 1 видео поток и от 0 до 99 аудио потоков и может быть не более 2 Гб, хотя существует расширениеOpenDML, допускающее большие файлы. В настоящий момент Microsoft сильно отговаривает от его применения и советует использовать ASF/WMV. Никого это не волнует.
Существует хак[hack], позволяющий AVI файлам содержать Ogg Vorbis аудио потоки, но делает их несовместимыми со стандартными AVI. MPlayer поддерживает воспроизведение таких файлов. Перемещение также осуществлено, но затруднено плохо закодированными файлами с запутанными заголовками. К сожалению, эта проблема проявляется у единственного кодировщика, способного создавать такие файлы - NanDub.
DV камеры создают сырые DV потоки, которые средства DV захвата превращают в AVI файлы двух типов. AVI'шники либо будут содержать разделённые аудио и видео потоки, которые MPlayer может воспроизводить, или сырой DV поток, поддержка которого находится в стадии разработки.
Существует два класса AVI файлов:
MPlayer поддерживает два типа синхронизации для AVI файлов:
Допустимы любые аудио и видео кодеки, но заметьте, что VBR аудио не очень хорошо поддерживается большинством плееров. Формат файла делает возможным использование VBR аудио, но многие плееры ожидают CBR, поэтому они выходят из строя с VBR. VBR редко встречается и Microsoft'овские AVI спецификации описывают только CBR аудио. Я также заметил, что большинство кодировщиков создают плохие файлы при использовании VBR аудио. Известно только два исключения: NanDub и MEncoder.
ASF (Active Streaming Format) исходит от Microsoft. Они разработали два варианта ASF, v1.0 и v2.0. v1.0 используется их медиа средствами (Windows Media Player и Windows Media Encoder) и сильно засекречены. v2.0 опубликована и запатентована :). Конечно они различаются, совсем нет никакой совместимости (это просто другая правовая игра). MPlayer поддерживает только v1.0, поскольку никто никогда не видел v2.0 файлов :). Заметьте, что ASF файлы теперь появляются с расширениями .WMA или .WMV.
Эти форматы файлов были разработаны в Apple и могут содержать любой кодек, CBR или VBR. Обычно у них расширение .QT или .MOV. Заметьте, что поскольку MPEG4 группы выбрала QuickTime в качестве рекомендованного формата для MPEG4, из MOV файлы идут с расширением .MPG или .MP4 (Интересно, что видео и аудио потоки в этих файлах - настоящие MPG и AAC файлы. Вы даже можете извлечь их, используя опции -dumpvideo и -dumpaudio.).
Большинство новых QuickTime файлов использует Sorenson видео и QDesign Music аудио. См. секцию, посвящённую Sorenson кодеку.
MPlayer успешно демультиплексирует VIVO форматы файлов. Огромный недостаток этого формата заключается в том, что в нем нет ни индексных блоков, ни фиксированного размера пакетов или байтов синхронизации и в большинстве файлов нет даже ключевых кадров[keyframes], так что забудьте о перемещении по файлу!
Видео кодек в VIVO/1.0 файлах - это стандартный h.263. Видео кодек в VIVO/2.0 файлах - это модифицированный, нестандартный h.263v2. Аудио в обоих форматах одинаковое, это может быть g.723 (стандарт), или Vivo Siren.
См. секции VIVO видео кодек и VIVO аудио кодек для инструкций по установке.
FLI это очень старый формат, используемый Autodesk Animator, но это типичный формат для коротких операций в сети. MPlayer демультиплексирует и декодирует FLI фильмы и даже способен перемещаться в этих файлах (полезно при цикличном проигрывании с опцией -loop). Во FLI файлах нет основных кадров[keyframes], поэтому некоторое время после перемещения картинка будет "грязной".
Да, MPlayer может читать (демультиплексировать) RealMedia (.rm) файлы. Здесь есть списки поддерживаемых RealVideo и RealAudio кодеков.
NuppelVideo - это средство захвата с ТВ (AFAIK:). MPlayer может читать его .NUV файлы (только NuppelVideo 5.0). Эти файлы могут содержать несжатые YV12, YV12+сжатые RTJpeg, YV12 сжатые RTJpeg+lzo и YV12 + сжатые lzo кадры. MPlayer декодирует (и также кодирует их MEncoder 'ом в DivX/и т. д.!) все это. Перемещение работает.
yuv4mpeg / yuv4mpeg2 это формат файлов, используемых в программах mjpegtools. Вы можете захватывать, изготовлять, отфильтровывать или кодировать видео в этот формат, используя эти средства. В действительности формат файла - последовательность несжатых YUV 4:2:0 кадров.
RoQ файлы - это мультимедийные файлы используемые в некоторых ID играх, например Quake III и Return to Castle Wolfenstein.
Это новый формат файлов от Xiphophorus. Он может содержать любой видео или аудио кодек, CBR или VBR. Вам понадобятся, чтобы libogg и libvorbis были установлены до компиляции MPlayer'а, чтобы иметь возможность проигрывать эти файлы.
SDP - это IETF стандартный формат для описания видео и аудио RTP потоков. (требуется "LIVE.COM Streaming Media".)
PVA - это похожий на MPEG формат, используемый в программах DVB TV карт (например: MultiDec, WinTV под Windows.
Спецификации PVA могут быть скачены по следующему адресу: http://www.technotrend.de/download/av_format_v1.pdf
NSV (NullSoft Video) — это формат файла, используемый Winamp'ом для потокового фудио и видео. Видео бывает VP3, VP5 или VP6, а аудио — MP3, AAC или VLB. Версии NSV, в которых только аудио, имеют расширение .nsa. MPlayer воспроизводит как NSV потоки, так и файлы. Пожалуйста, заметьте, что большая часть файлов с сайта Winamp использует VLB аудио, которое ещё не модет декодироваться. Более того, для потоков с этого сайта необходим ещё один уровень депакетизации, который ещё нужно написать (эти файлы всё равно невозможно проиграть, поскольку они используют VLB аудио).
GIF формат - это типичный формат для сетевой графики. Существуют 2 версии спецификаций GIF, GIF87a и GIF89a. Основная разница заключается в том, что GIF89a допускает анимацию. MPlayer поддерживает оба формата, используя libungif или другую libgif-совместимую библиотеку. Не анимированные GIF'ы будут показываться как однокадровое видео. (Используйте опции -loop и -fixed-vo, чтобы показать их подольше.)
В настоящий момент MPlayer не поддерживает перемещение внутри GIF файлов. У GIF файлов не обязательно фиксированный размер кадра или фиксированная частота кадров. Наоборот, у каждого кадра свой собственный размер и должен выводиться в некотором поле фиксированного размера. Частота кадров контролируется дополнительным блоком перед каждым кадром, который определяет задержку перед следующим кадром в сотых долях секунды.
Стандартные GIF файлы содержат 24-битные RGB кадры с не более чем 8-битовой индексированной палитрой. Кадры обычно сжаты по LZW алгоритму, хотя некоторые GIF кодировщики создают несжатые кадры, чтобы избежать проблем с патентом на LZW сжатие.
Если в Вашем дистрибутиве нет libungif, скачайте копию на домашней странице libungif. Технические подробности см. в GIF89a спецификациях.
MPlayer - это проигрыватель фильмов, а не медиа плеер, хотя он может проигрывать некоторые форматы аудио файлов (они перечислены ниже). Это не является рекомендуемым применением MPlayer'а, Вам лучше использовать XMMS.
У Вас могут возникнуть проблемы при проигрывании некоторых MP3 файлов, которые MPlayer будет неверно определять, как MPEG'и и проигрывать неправильно или вообще никак. Это не может быть исправлено без потери поддержки некоторых плохих MPEG файлов и поэтому всё останется как есть обозримом будущем. Опция -demuxer, описанная на man странице, может Вам помочь в этом случае.
MPlayer может использовать cdparanoia (библиотеку) для проигрывания CDDA (Audio CD[Аудио CD]). В задачи этого раздела не входит описание возможностей библиотеки cdparanoia.
См. на man странице описание опции -cdda, которая может использоваться для передачи параметров в библиотеку cdparanoia.
MPlayer может использовать XMMS расширения для ввода, чтобы проигрывать множество форматов файлов. Существуют расширения для проигрывания мелодий из SNES игр, SID мелодий (из Commodore 64), множества Amiga форматов, .xm, .it, VQF, musepack, Bonk, shorten и множества других. Все это Вы можете отыскать на странице расширений XMMS для ввода.
Для использования этих возможностей Вам нужно установить XMMS и скомпилировать MPlayer с опцией ./configure --enable-xmms. Если это не работает, Вам может понадобиться настроить пути к библиотеке и расширениям непосредственно, используя опции --with-xmmsplugindir и --with-xmmslibdir.