Часто Задаваемые вопросыРазработка
Как создать правильный патч для MPlayer?
Мы создали краткий документ
описывающий все необходимые детали. Пожалуйста, следуйте инструкциям.
Как перевести MPlayer на новый язык?
Прочитайте HOWTO по переводу (англ.),
там все описано. За дополнительной помощью вы можете обратиться в рассылку
MPlayer-translations.
Как можно помочь развитию MPlayer?
Мы будем более чем счастливы принять
пожертвования оборудованием
и программным обеспечением. Они позволяют нам постоянно улучшать
MPlayer.
Как стать разработчиком MPlayer?
Мы всегда рады приветствовать людей, занимающихся написанием кода и документации.
Для начала прочтите техническую документацию (англ.).
Затем вам следует подписаться на список рассылки
MPlayer-dev-eng
и начать написание кода. Если вы хотите помочь с документацией, то подпишитесь на
MPlayer-docs.
Почему вы не используете autoconf/automake?
У нас есть модульная, написанная вручную система сборки. Она хорошо справляется
со своей работой, зачем же ее менять? Кроме того, нам, как и
некоторым другим, не нравятся
auto* утилиты.
Компиляция и установка
Компиляция завершается с ошибкой и gcc вываливается
с загадочным сообщением, содержащим фразу
internal compiler error или
unable to find a register to spill или
can't find a register in class 'GENERAL_REGS'
while reloading 'asm'.
Вы столкнулись с ошибкой в gcc. Пожалуйста,
сообщите об этом разработчикам gcc
но не нам. В силу некоторых причин MPlayer, похоже,
часто вызывает ошибки компилятора. Тем не менее, мы не можем их исправить, но и
добавлять специальный код для обхода ошибок компилятора не будем.
Чтобы избежать этой проблемы, либо используйте надежную и стабильную версию компилятора, либо
часто обновляйтесь.
Существуют ли бинарные (RPM/Debian) пакеты MPlayer?
Смотрите разделы Debian и RPM.
Как собрать 32-х битную версию MPlayer на 64-х битном Athlon?
Попробуйте следующие опции configure:
./configure --target=i386-linux --cc="gcc -m32" --as="as --32" --with-extralibdir=/usr/lib
Configure завершается с указанным сообщением, и MPlayer
не компилируется!
Your gcc does not support even i386 for '-march' and '-mcpu'
Ваш gcc некорректно установлен, проверьте configure.log
для более подробной информации.
Я имею Matrox G200/G400/G450/G550, как мне скомпилировать/использовать
mga_vid драйвер?
Прочитайте раздел mga_vid.
На этапе 'make', MPlayer жалуется на отсутствующие
библиотеки X11. Я не понимаю, ведь X11 у меня установлен!?
... но вы не имеете установленных пакетов разработки X11. Либо они установлены
некорректно. Они называются XFree86-devel* в Red Hat,
xlibs-dev в Debian Woody и
libx11-dev в Debian Sarge. Также проверьте существуют ли
символические ссылки /usr/X11 и
/usr/include/X11.
Сборка в Mac OS 10.3 приводит к нескольким ошибкам линковки
Как правило, ошибка линковки выглядит так:
ld: Undefined symbols:
_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices
Эта проблема - результат разработчиков Apple, использующих 10.4 для компиляции их программ и
распространяющих бинарники пользователям 10.3 через Software Update.
Неопределённые символы присутствуют в 10.4, но их нет в 10.3.
Одно из решений - откат QuickTime до версии 7.0.1, но есть и лучшее.
Загрузите
более старую версию фреймворка.
Вы получите архив, содержащий фреймворк QuickTime 7.0.1 и QuartzCore 10.3.9.
Распакуйте файл куда-нибудь, кроме папки System (т.е. не устанавливайте эти программы
в. /System/Library/Frameworks!
Эта старая копия нужна только для решения проблем с линковкой!)
gunzip < CompatFrameworks.tgz | tar xvf -
В config.mak следует добавить
-F/path/to/where/you/extracted
к переменной OPTFLAGS.
При использвании X-Code вы можете просто выбрать эти фреймворки
вместо системных.
Получившийся бинарный MPlayer будет использовать фреймворк,
установленный в вашей системе, используя динамические ссылки времени исполнения.
(Это можно проверить, запустив otool -l).
Общие вопросы
Есть ли списки рассылки, посвященные MPlayer?
Да. Смотрите раздел списки рассылки
нашего сайта.
Я обнаружил неприятную ошибку, появляющуюся при просмотре моего любимого фильма!
Кому мне следует сообщить об этом?
Прочтите
руководство по составлению отчетов об ошибках
и следуйте инструкциям.
у меня проблемы с проигрыванием файлов ... кодеком. Можно ли его использовать?
Проверьте состояние кодеков,
если его там нет, то прочтите документацию на кодеки,
особенно HOWTO по импортированию кодеков, и
свяжитесь с нами.
В начале воспроизведения появляется следующее сообщение, хотя все
вроде бы работает прекрасно:
Linux RTC init: ioctl (rtc_pie_on): Permission denied
Чтобы использовать RTC тайминг, вам необходимо специально настроенное ядро.
Подробности ищите в разделе RTC.
Как сделать скриншот??
Чтобы иметь возможность сделать скриншот, Вы должны использовать драйвер
вывода видео, который не использует оверлей.
В X11 это , в Windows используйте
.
Есть и другой способ. Запустите MPlayer с видео фильтром
screenshot
(), и нажмите клавишу s для
создания скриншота.
Каков смысл чисел в статусной строке?
Пример:
A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49% 1.00x
A: 2.1позиция аудио в секундахV: 2.2позиция видео в секундахA-V: -0.167сдвиг аудио-видео в секундах (задержка)ct: 0.042сделано коррекций A-V синхронизации57/57
кадров проиграно/декодировано (считая от места последней перемотки)
41%
время CPU в процентах, используемое видео кодеком
(для поблочного и прямого рендеринга сюда включается и video_out)
0%время CPU, используемое video_out2.6%время CPU в процентах, используемое аудио кодеком0выброшено кадров для сохранения синхронизации A-V4
текущий уровень постпроцессинга (при использовании
)
49%
текущий уровень использования кеша. (нормальное значение - около 50%)
1.00x
скорость воспроизведения (множитель от нормальной скорости)
Большинство из них используются для отладки, используйте опцию
чтобы их скрыть. Имейте ввиду, что для некоторых файлов использование CPU модулем video_out
равно нулю (0%). Дело в том, что иногда он вызывается непосредственно из кодека и не может
быть измерен отдельно. Если вы хотите узнать скорость video_out в этом случае сравните
разницу при воспроизведении с и вашим драйвером вывода видео.
Появляется сообщение, что не найден файл
/usr/local/lib/codecs/ ...
Загрузите и установите бинарные кодеки с нашей
страницы загрузки.
Как сделать, чтобы MPlayer запомнил мои особые опции
для определенного файла, например movie.avi?
Создайте файл с именем movie.avi.conf и вашими опциями в нем,
сохраните его в каталог ~/.mplayer
или в один каталог с медиа-файлом.
Субтитры великолепные, лучшие из виденных когда-либо, но они замедляют
воспроизведение! Я знаю, это необычно...
После запуска ./configure,
отредактируйте config.h
и замените #undef FAST_OSD на
#define FAST_OSD. Перекомпилируйте.
Я не могу получить доступ к GUI меню. Я делаю щелчок правой кнопкой мыши, но пункты меню
отсутствуют.
Используете FVWM? Попробуйте следующее:
StartSettingsConfigurationBase Configuration
Установите Use Applications position hints
в Yes
Как запустить MPlayer в фоновой режиме?
Используйте:
mplayer опцииимя_файла < /dev/null &
Проблемы воспроизведения
Не могу локализовать причину некоторой странной проблемы произведения.
Завалялся файл codecs.conf в
~/.mplayer/, /etc/,
/usr/local/etc/ или в аналогичном месте? Удалите его,
Устаревший codecs.conf может стать причиной непонятных
проблем и предназначается только для использования разработчиками,
занимающимися поддержкой кодеков. Он переопределяет внутренние настройки кодеков
MPlayer'а, что не сулит ничего хорошего, если
в новых версиях программы внесены несовместимые изменения.
При использовании неэкспертами, это верный путь к, на первый взгляд, случайным и
неподдающимся локализации крахам и проблемам воспроизведения.
Если этот файл присутствует где-либо в вашей системе, удалите его.
Как настроить субтитры для вывода на черных полях вокруг изображения?
Воспользуйтесь видео фильтром expand для увеличения области
рендеринга по вертикали и разместите изображение у верхней кромки:
mplayer -vf expand=0:-100:0:0 -slang de dvd://1
Как выбрать дорожки звука/субтитров в DVD, OGM, Matroska или NUT файле?
Нужно использовать опцию (аудио ID) или
(язык аудио), (ID субтитров) или
(язык субтитров), например:
mplayer -alang eng -slang eng example.mkv
mplayer -aid 1 -sid 1 example.mkv
Посмотреть список доступных:
mplayer -vo null -ao null -frames 0 -v имя_файла | grep sid
mplayer -vo null -ao null -frames 0 -v имя_файла | grep aid
Пытаюсь воспроизвести поток через интернет, но ничего не получается.
Попробуйте воспроизвести поток с опцией .
Я загрузил фильм из P2P сети, но он не работает!
У вас испорченный или поддельный файл. Если вы получили его от друзей, которые
утверждают, что он работает, проверьте контрольную сумму md5sum.
У меня проблемы с отображением субтитров, помогите!
Убедитесь, что шрифты установлены правильно. Снова пройдите все шаги части
Шрифты и OSD раздела, посвященного установке.
Если используете TrueType шрифты, проверьте, что установлена
библиотека FreeType.
Стоит также проверить ваши субтитры при помощи текстового редактора или
стороннего проигрывателя. Попробуйте преобразовать их в другой формат.
Почему MPlayer не работает в Fedora Core?
Из-за плохого взаимодействия между exec-shield, prelink и любым приложением, использующим
Windows DLLs (таким как MPlayer).
Проблема в том, что exec-shield делает случайными адреса загрузки всех системных
библиотек. Смена адресов производится на стадии prelink (один раз каждые две недели).
Когда MPlayer пытается загрузить Windows DLL, он хочет
поместить ее по определенному адресу (0x400000). Если там уже находится важная
системная библиотека, MPlayer рухнет.
(Типичные симптомы - segmentation fault при попытке воспроизвести файлы
Windows Media 9.)
Если столкнулись с этой проблемой, то у вас есть два варианта:
Подождать пару недель. Все может снова заработать.
Слинковать все бинарники в системе с различными prelink опциями.
Вот пошаговая инструкция:
Отредактируйте /etc/syconfig/prelink и измените
PRELINK_OPTS=-mR на
PRELINK_OPTS="-mR --no-exec-shield"touch /var/lib/misc/prelink.force/etc/cron.daily/prelink
(Это перелинкует все приложения, что может занять длительное время.)
execstack -s /path/to/mplayer
(Это отключит exec-shield для исполняемого файла MPlayer.)
MPlayer умирает с сообщением:
MPlayer interrupted by signal 4 in module: decode_video
Не используйте MPlayer на процессоре, отличном от того,
на котором он компилировался, либо перекомпилируйте с определением CPU "на лету"
(./configure --enable-runtime-cpudetection).
При попытке захвата с тюнера, все работает, но цвета - неправильные. С другими приложениями
все в порядке.
Ваша карта сообщает о некотором пространстве цветов как поддерживаемом, хотя на самом
деле его не поддерживает. Попробуйте с YUY2 вместо YV12 по умолчанию (смотрите
секцию TV).
Получаю странные процентные значения (слишком большие) при проигрывании файлов на ноутбуке.
Это эффект системы управления энергопотреблением ноутбука (BIOS, не ядра).
Подсоедините разъем внешнего питания до
включения ноутбука. Также можно попробовать
cpufreq (SpeedStep интерфейс для Linux),
возможно это поможет.
Аудио/видео теряют синхронизацию, при запуске MPlayer
с правами root на ноутбуке. При запуске с правами обычного пользователя все работает
нормально.
Это тоже эффект системы управления энергопотреблением (смотрите выше).
Подсоедините разъем внешнего питания до
включения ноутбука лиюо используйте опцию .
При воспроизведении фильма изображение вдруг начинает дергаться и появляется
следующее сообщение:
Badly interleaved AVI file detected - switching to -ni mode...
Файлы с некорректным чередованием и опция
вместе работают не очень хорошо..
Попробуйте .
Проблемы драйверов вывода аудио/видео (ao/vo)
При запуске в полноэкранном режиме, наблюдаются черные полосы вокруг изображения
вместо полноэкранного масштабирования.
Ваш драйвер вывода видео аппаратно не поддерживает масштабирование, и, поскольку
поблочное программное масштабирование может быть ужасно медленным,
MPlayer не задействует его автоматически.
Скорее всего вы используете драйвер вывода x11 вместо
xv.
Попробуйте указать в командной строке или
прочтите раздел видео, чтобы узнать о других
драйверах вывода видео. Опция явно задействует
программное масштабирование.
Я только что установил MPlayer. Попытка открыть файл
приводит к фатальной ошибке:
Error opening/initializing the selected video_out (-vo) device.
Как решить проблему?
Просто смените драйвер вывода видео. Введите следующую команду для получения списка
доступных драйверов:
mplayer -vo help
Как только выберите правильный драйвер, добавьте его в файл конфигурации. Добавьте
vo = выбранный_драйвер
в ~/.mplayer/config и/или
vo_driver = выбранный_драйвер
в ~/.mplayer/gui.conf.
У меня проблемы с [ваш оконный менеджер] и
полноэкранным режимом xv/xmga/sdl/x11 ...
Прочтите руководство по составлению отчетов об ошибках
и отошлите соответствующий отчет нам.
Попробуйте также поэкспериментировать в опцией .
Теряется синхронизация звука при воспроизведении AVI файла.
Попробуйте опцию или . Если это не помогает
прочтите руководство по составлению отчетов об ошибках
и загрузите этот файл на наш FTP.
Мой компьютер проигрывает MS DivX AVI с разрешениями ~ 640x300 и MP3 стереозвуком
слишком медленно. Если указать опцию , все ОК (но без звука).
Ваша машина слишком медленная либо драйвер звуковой карты неправильно работает.
Обратитесь к документации, чтобы узнать можно ли улучшить производительность.
Как использовать dmix с
MPlayer?
После настройки
asoundrc
используйте .
Нет звука при воспроизведении видео и появляется ошибка подобная этой:
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
audio_setup: Can't open audio device /dev/dsp: Device or resource busy
couldn't open/init audio device -> NOSOUND
Audio: no sound!!!
Start playing...
Используете KDE или GNOME со звуковыми службами aRts или ESD?
Попробуйте отключить службу звука или используйте или
опции, для указания MPlayer
использовать aRts или ESD. Также возможно, что вы используете ALSA без
эмуляции OSS, попробуйте загрузить ALSA OSS модули ядра или добавьте опцию
в командную строку, для использования ALSA напрямую.
При запуске MPlayer в KDE наблюдается черный экран
и ничего более. Примерно через минуту начинается воспроизведение.
aRts блокирует звуковое устройство. Либо подождите старта видео, либо
отключите службу aRts в центре управления. Если вы хотите использовать звук
через aRts, укажите вывод звука через встроенный звуковой драйвер aRts
(). Если он не работает, либо
MPlayer собран без него, попробуйте SDL
() и убедитесь, что SDL может работать со
звуком aRts. Ещё один вариант - запуск MPlayer
с artsdsp.
Проблема с синхронизацией A/V. Некоторые из моих AVI файлов проигрываются нормально, но
некоторые - с двойной скоростью!
У вас неверно работающая звуковая карта/драйвер. Скорее всего, поддерживается работа
только с 44100Hz, а вы пытаетесь проиграть файл с 22050Hz звуком. Попробуйте
звуковой фильтр resample.
При проигрывании фильма происходит рассинхронизация звука и видео или
MPlayer рушится с ошибкой:
DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
Причин может быть несколько.
Ваш CPU и/или видеокарта и/или
шина слишком медленные. В этом случае MPlayer
выводит соответствующее сообщение (и количество выброшенных кадров быстро
увеличивается).
Если это AVI, возможно, у него проблемы с чередованием звука/видео,
попробуйте опцию для обхода проблемы. Или файл имеет
неверный заголовок. В этом случае могут помочь опции
и/или .
Многие FLV файлы будут правильно воспроизводиться только с .
К сожалению, MEncoder такой опции не имеет,
но вы можете попробовать вручную указать правильное значение ,
если оно вам известно.
У вас неверно работает звуковой драйвер. Смотрите
аудио раздел.
Как избавиться от рассинхронизации при перемотке потоков RealMedia?
Может помочь опция .
Воспроизведение DVD
Как насчет DVD навигации/Меню?
MPlayer не поддерживает DVD меню в силу серьезных
архитектурных ограничений, которые мешают правильной обработке неподвижных
изображений и интерактивного содержимого. Если хотите модные меню, вам
придется использовать другой проигрыватель, например xine,
vlc или Ogle.
Если вы хотите получить DVD навигацию в MPlayer,
реализуйте ее самостоятельно, но имейте ввиду, что это нелегкое и ответственное дело.
Я не могу посмотреть некоторые новые DVD от Sony Pictures/BMG.
Это нормально. Вас ободрали и продали намеренно испорченный диск. Единственный способ
просмотреть его - избежать воспроизведения плохих блоков, воспользовавшись DVDnav
вместо mpdvdkit2. Это можно сделать, собрав MPlayer
с поддержкой DVDnav, и заменив после этого dvd:// на dvdnav:// в командной строке.
DVDnav пока что настолько несовместим с mpdvdkit, что вам придется указать опцию
скрипту configure.
Как насчет субтитров? MPlayer умеет их отображать?
Да. Смотрите DVD раздел.
Как установить регион для DVD-привода? У меня нет Windows!
Воспользуйтесь
утилитой regionset.
DVD не проигрываются, MPlayer зависает или выводит ошибку "Encrypted VOB file!".
Код расшифровки CSS не работает с некоторыми приводами, если регион неверно установлен.
Смотрите ответ на предыдущий вопрос.
Нужны ли права root (setuid) для воспроизведения DVD?
Нет. Конечно, вы должны иметь необходимые права на файл DVD устройства
(в /dev/).
Возможно ли проигрывать/кодировать только выбранные разделы?
Да, попробуйте опцию .
Воспроизведение DVD медленное!
Используйте опцию (описанную на странице man) и попробуйте
включить DMA для DVD привода утилитой hdparm
(описанной в разделе CD).
Я скопировал DVD используя vobcopy. Как его проигрывать/кодировать с жесткого
диска?
Используйте опцию , чтобы указать каталог, содержащий файлы:
mplayer dvd://1 -dvd-device /путь/к/каталогуПросьбы о новых возможностях
Если MPlayer приостановлен, и я пытаюсь перемотать фильм или нажимаю
любую клавишу, воспроизведение продолжается. Хотелось бы иметь возможность перемотки во
время паузы.
Это нелегко реализовать без потери синхронизации A/V. Пока ни одна попытка не
увенчалась успехом, но патчи приветствуются.
Хочется перематывать на +/- 1 кадр вместо 10 секунд.
Вы можете перемещаться на 1 кадр вперед, нажимая клавишу
.. После этого воспроизведение будет приостановлено
(смотрите страницу руководства man для подробностей).
Перемещение назад вряд ли будет реализовано в ближайшем будущем.
Кодирование
Как производить кодирование?
Прочтите раздел MEncoder.
Как сохранить весь ролик DVD в файл?
Как только определитесь с выбором ролика и проверите, что он проигрывается в
MPlayer, воспользуйтесь опцией
.
Например:
mplayer dvd://5 -dumpstream -dumpfile dvd_dump.vob
сохранит 5-й ролик в файл
dvd_dump.vob
Как автоматически создавать (S)VCD?
Попробуйте скрипт mencvcd.sh из каталога
TOOLS. С его помощью вы можете перекодировать
DVD или другие фильмы в VCD или SVCD формат и даже записывать их на CD.
Как создать (S)VCD?
Новые версии MEncoder могут самостоятельно создавать
MPEG-2 файлы, которые можно использовать в качестве основы для VCD или SVCD,
воспроизводящиеся "из коробки" на всех платформах (например, чтобы поделиться
фильмом, снятым на видеокамеру, с компьютерно-неграмотными друзьями).
Прочтите
Использование MEncoder для создания VCD/SVCD/DVD-совместимых файлов.
Как склеить два файла?
MPEG файлы могут быть объединены в один, если сильно повезет.
Для файлов AVI, можете воспользоваться встроенной возможностью
MEncoder'а
работать с несколькими файлами сразу:
mencoder -ovc copy -oac copy -o out.avifile1.avifile2.avi
Это будет работать только если файлы имеют одинаковое разрешение и сжаты одинаковым
кодеком. Также попробуйте
avidemux и
avimerge (часть набора утилит
transcode
).
Как исправить AVI файлы с испорченным индексом или неверным чередованием?
Избежать использования и иметь возможность перемотки в
AVI файлах с испорченным индексом, либо избежать для воспроизведения файлов
с неверным чередованием поможет команда
mencoder input.avi -idx -ovc copy -oac copy -o output.avi
Она скопирует видео и аудио в новый файл, генерируя новый индекс и исправляя чередование.
Конечно, это не поможет исправить ошибки в видео и/или аудио потоке.
Как исправить пропорции в AVI файле?
Вы можете это сделать при помощи опции MEncoder'а
, которая переопределяет информацию о пропорциях, хранящуюся
в опции vprp AVI OpenDML заголовка. Например:
mencoder input.avi -ovc copy -oac copy -o output.avi -force-avi-aspect 4/3
Как сделать копию/закодировать VOB файл с испорченным началом?
Основная проблема при попытке кодировать испорченный VOB файл
В какой-то мере некоторые формы защиты от копирования могут быть восприняты как
испорченное содержимое.
состоит в том, что будет трудно закодировать файл с хорошей
A/V синхронизацией. Один из способов заключается в отбрасывании испорченных данных
и кодирования только корретной части. Сначала ищите начало корректных данных (меняя
параметр "колво_байтов_для_пропуска"):
mplayer input.vob -sb колво_байтов_для_пропуска
Затем создаете новый файл, содержащий корректную часть:
dd if=input.vob of=output_cut.vob skip=1 ibs=колво_байтов_для_пропуска
Не могу закодировать DVD субтитры в AVI!
Необходимо правильно указать опцию
Как кодировать только выбранные эпизоды из DVD?
Используйте опцию , например .
Я хочу работать с файлами более 2Гб в файловой системе VFAT. Это возможно?
Нет. VFAT не поддерживает файлы более 2Гб.
Что означают числа в статусной строке в процессе кодировании?
Пример:
Pos: 264.5s 6612f ( 2%) 7.12fps Trem: 576min 2856mb A-V:0.065 [2156:192]
Pos: 264.5sвременная позиция в кодируемом потоке6612fколичество закодированных кадров2%размер закодированной части входного потока7.12fpsскорость кодированияTrem: 576minоценка времени, оставшегося до конца кодирования2856mbоценка окончательного размера перекодированного файлаA-V:0.065текушая задержка между аудио и видео потоками[2156:192]
средний видео битпоток (в кбит/с) и средний аудио битпоток (в кбит/с)
Почему рекомендуемый MEncoder'ом битрейт отрицателен?
Потому что аудио битрейт в процессе кодирования становится слишком велик, чтобы
уместить фильм на CD. Проверьте, правильно ли установлена libmp3lame.
Не могу перекодировать ASF файл в AVI/MPEG-4, потому что используется 1000fps.
Поскольку ASF использует переменную частоту кадров, а AVI - фиксированную,
необходимо её установить вручную опцией .
Как поместить субтитры в выходной файл?
Просто укажите MEncoder опцию
(или , соответственно).
Как закодировать только звук из видеоклипа?
Напрямую это невозможно, но можете попробовать такой способ
(обратите внимание на
& в конце команды
mplayer):
mkfifo encode
mplayer -ao pcm -aofile encode dvd://1 &
lame ваши_опцииencodemusic.mp3
rm encode
Это позволяет использовать любой кодер, не только
LAME,
просто замените lame на ваш предпочитаемый кодер.
Почему сторонние проигрыватели не могут воспроизвести MPEG-4 файлы,
сжатые MEncoder'ом версий старше 1.0pre7?
libavcodec, родная библиотека
кодирования MPEG-4, обычно поставляемая с MEncoder,
устанавливала FourCC в 'DIVX' при сжатии MPEG-4 видео (FourCC -
это тэг AVI, указывающий нужную программу сжатия и декодирования видео,
т.е. кодек). Поэтому многие люди считают, что
libavcodec была библиотекой
кодирования DivX, когда на самом деле это совершенно другая библиотека
кодирования MPEG-4, реализующая стандарт MPEG-4 значительно лучше, чем DivX.
Поэтому новый FourCC, по умолчанию используемый
libavcodec -это 'FMP4', но вы
можете переопределить это поведение, используя опцию
MEncoder'а
.
Вы также можете сменить FourCC у существующего файла тем же способом:
mencoder input.avi -o output.avi -ffourcc XVID
Имейте ввиду, что этот пример устанавливает FourCC в XVID, а не DIVX.
Это рекомендуется, т.к. DIVX FourCC означает DivX4, очень простой MPEG-4
кодек, в то время как DX50 и XVID оба - полные MPEG-4 (ASP).
Таким образом, если вы установите FourCC в DIVX, некоторые плохие
программные или аппаратные проигрыватели могут быть в шоке от дополнительных
возможностей, которые
libavcodec поддерживает , а DivX - нет;
с другой стороны Xvid
по функциональности ближе к libavcodec
и подерживается практически любыми приличными проигрывателями.
Как перекодировать звуковой файл (без видео)?
Используйте aconvert.sh из подкаталога
TOOLS
дерева каталогов MPlayer.
Как воспроизвести субтитры внедренные в AVI?
Используйте avisubdump.c из подкаталога
TOOLS или прочтите
этот документ о извлечении/мультиплексировании субтитров внедренных в OpenDML AVI файлы.
MPlayer не хочет...
Посмотрите коллекцию всевозможных скриптов и хаков в подкаталоге
TOOLS.
TOOLS/README содержит документацию.