Неофициальный MPlayer FAQ


Mark Silinio <silinio(at)mail.ru>
последнее обновление 17/07/07


Установка/компиляция

Использование

Проблемы

Кодирование/MEncoder

Разное


Установка/компиляция

Q: С версии 1.0pre5 Mplayer поддерживает JACK Audio Output, как его откомпилировать с ним?
A: Установите библиотеку bio2jack
Q: В configure --help проскакивает такая штука, как altivec. Что это такое?
A: Специальная оптимизания для PowerPC процессоров(G4,G5,ppc970). Если вы не обладатель Макинтоша, то можете не волноваться.
Q: Где можно скачать скомпилированную версию под Windows?
A: Смотрите на ftp.mplayerhq.hu/MPlayer/releases/win32-beta/
Q: При установке MPlayer'а в дистрибутиве Gentoo Linux с помощью emerge, MPlayer откомпилировался не с теми CFLAGS, что прописаны в /etc/make.conf
A: Gentoo'шный ebuild файл для MPlayer'а сделан так, что игнорирует CFLAGS из make.conf, во избежание проблем с компиляцией/использованием
Q: У меня довольно слабый компьютер(Pentium-MMX, например), как выжать максимальную производительность из MPlayer'а?
A: Итак, по пунктам:
  1. Установите MPlayer из исходников, для компиляции под ваш тип процессора. Исходники можно скачать здесь.
  2. Под Linux установите ALSA модули для вашей звуковой карты.
  3. В качестве video output устройства весьма быстр вывод через vesa. Но для этого вы должны сделать бинарник MPlayer'а suid'ым,- выполните root'ом: chmod +s /usr/bin/mplayer (ну или где он у вас там). Некоторые видеокарты могут не поддерживать VESA. Помните о проблемах с безопастностью при использовании suid программ.
  4. В случае с Linux откомпилируйте ядро с поддержкой RTC (если оно уже не с ним). После чего, если файл mplayer не является suid'ым(см. выше), выполните root'ом: echo "1024" > /proc/sys/dev/rtc/max-user-freq. Ну а чтобы не выполнять это постоянно, добавьте строку в /etc/sysctl.conf:
    
     dev.rtc.max-user-freq = 1024
    
    
  5. Если процессор выше, чем Pentium-MMX, например, Pentium Pro, Pentium II, K6-2 и пр. - откомпилируйте ядро с поддержкой MTRR.
  6. Используйте кэш: -cache 8192, если оперативной памяти 64Мб и более. Кэш также может помочь при чтении файла со старого (медленного) винчестера.
  7. Убедитесь, что нет активно работающих в фоне программ, таких как, например, updatedb.
  8. По возможности используйте опцию -vfm ffmpeg для декодирования с помощью быстрой libavcodec библиотеки - использование win32 dlls заметно медленее.
  9. Можно также пересжать файл (с помощью mencoder) с более низким bitrate - тут уж зависит от вашей привиредливости к качеству видео/звука
  10. Рекомендую также попробовать MPlayerXP
Q: Я установил MPlayer в Gentoo Linux, однако в документации почему-то отсутствует каталог DOCS...
A: Установите USE-флаг doc(export USE="doc"), и переустановите MPlayer.
Q: Не удаётся скомпилировать MPlayer со всеми необходимыми мне возможностями в Debian GNU/Linux, хотя все нужные библиотеки установлены.
A: В дистрибутиве Debian GNU/Linux вам также необходимо установить -dev пакеты тех библиотек. Эти пакеты установят заголовочные(*.h) файлы, нужные для компиляции из исходников.
Q: В последних CVS-версиях MPlayer'а содержится документация в XML формате, как преобразовать её в HTML?
A: Для начала создаём каталог для нашей будущей HTML-документации командой mkdir ~/mpdocs. Затем переходим в каталог с XML-файлами нашего CVS-снимка (типа cd ./mplayer-1.0.20060302/DOCS/xml/ru) и набираем команду make HTMLDIR=~/mpdoc. Вот и всё, HTML-документация на русском языке в вашем каталоге mpdocs. Для успешной обработки XML-файлов в системе должны быть установлены libxml2, libxslt, docbook-xsl-stylesheets, docbook-xml-dtd.

Использование

Q: При воспроизведении видео с CD/DVD местами диск плохо читается, плеер пропускает кадры.
A: Используйте опцию -cache 8192(или 16384)
Q: Плохо скомпанованный AVI файл - рассинхронизация видео и аудио.
A: Во время воспроизведения используйте клавиши "-" и "+" (миллисекунды), либо опцию -delay для изменения задержки между аудио- и видео-потоком в секундах. Выбирайте положительные числа, если отстаёт звук, - и отрицательные, если отстаёт изображение. Чтобы каждый раз не вспоминать значение задержки, создайте в одной директории с тем видео, файл video.avi.conf (где video.avi - название того видео файла) следующего содержания:
 
 delay=<значение>
 
Теперь при каждом воспроизведении video.avi опции плеера будут читаться из video.avi.conf. Как правило, в conf файл можно вписывать любые опции, какие вам надо.
Рассинхронизация также может возникнуть при просмотре "тяжеловестного" (с высоким битрейтом) видео на слабом компьютере.
Q: Пробовал смотреть видео с субтитрами: вместо русских букв какая-то белебердень...
A: В большинстве своём, субтитры на русском языке сохранены в CP1251 кодировке,- используйте опцию -subfont-encoding=cp1251
Q: При воспроизведении MPEG (и не только) видео сильно заметны jpeg-образные артефакты изображения. Как их "сгладить"?
A: Поможет -vf pp=de. Подробнее команда mplayer -pphelp.
Q: Мне надоело постоянно писать кучу опций в командной строке. Как сделать так, чтобы некоторые опции использовались при каждом запуске MPlayer'а?
A: Пропишите их в файл ~/.mplayer/config в виде опция=значение. Например:
 
 ao=alsa
 vo=xv
 vf=pp=de

Некоторые опции позволяют записывать несколько значений в порядке убывания приоритета, например, если записано ao=esd,alsa,oss, то MPlayer сначала в качестве audio output будет пробовать использовать esound, в случает неудачи попробует alsa, и в случае очередной неудачи будет пытаться использовать oss. Такую запись можно использовать, например, для таких опций, как vo,ao,vfm,afm,vc,ac.
Также можно прописать опции в файле /etc/mplayer.conf(только root'ом),- сначала опции читаются из файла /etc/mplayer.conf(для всех пользователей), потом из ~/.mplayer/config(если существует в домашней директории пользователя).
Q: Как посмотреть видео в чёрно-белом виде не пересжимая сам файл?
A: Если используется -vfm ffmpeg(по умолчанию), то добавлением опции -lavdopts gray. Если у вас современная видеокарта, то можно добиться ч/б изображения путём уменьшения насыщенности, нажимая клавишу "7" или запустив MPlayer с опцией -saturation -100.
Q: Я проигрываю несколько файлов, запустив mplayer -fs ./*.avi, и при запуске каждого следующего дёргается экран. Как этого избежать?
A: Если все файлы с одинаковым разрешением, то запустить с опцией -fixed-vo
Q: MPlayer не может воспроизводить некоторые аудио-файлы (mp2, aac, ac3 и др.), но без проблем воспроизводит аудио-потоки такого формата в AVI файлах...
A: Программа позиционируется как видео плеер("MPlayer - The Movie Player"), и разработчики делают больший упор именно на работу с видео.
Q: Я хочу, чтобы клик левой кнопки мыши приостанавливал воспроизведение, как в Windows Media Player'е...
A: Добавьте такую строку в ~/.mplayer/input.conf:

 MOUSE_BTN0 pause

Q: Звук в файле слишком громкий/тихий
A: Запустите MPlayer с опцией -aop list=volnorm для "нормализации" уровня громкости
Q: Запускал в MPlayer'е DVD и что-то не видел DVD-меню. В чём дело?..
A: К сожалению, на сегодняшний день MPlayer не поддерживает DVD-меню. Если без DVD-меню никак, используйте Xine или Ogle
Q: Как настроить броузер Links, чтобы тот использовал MPlayer для открытия видео файлов?
A: Запустите Links, затем перейдите в Настройки->Сопоставления->Добавить. Теперь введите в поле "Метка" любое название, например video. В поле "Тип(ы) содержимого" введите следующее(т.н. MIME-типы): video/x-msvideo,video/quicktime,video/mpeg. В поле "Программа" введите: mplayer %. Уберите флажок с пункта "Запустить в X-Window", если не планируете использовать X-Window. Остальные флажки лучше оставить включёными. Теперь жмите OK и сохраните настройки: Настройки->Сохранить настройки. Теперь кликнув на ссылку, указывающую на файл одного из перечисленных MIME-типов, можете нажать "Открыть" в появившемся диалоговом окне, для просмотра MPlayer'ом.
Здесь приведён пример простейшей настройки с минимальным количеством поддерживаемых медиа MIME-типов.
Проверено в Links 2.1pre9.
Q: Как настроить броузер Lynx, чтобы тот использовал MPlayer для открытия видео файлов?
A: Lynx использует mailcap (см. man 5 mailcap) для определения программ, с помощью которых нужно открывать данные того или иного MIME типа. Так что добавьте следующие строки в файл ~/.mailcap(или root'ом в /etc/mailcap для использования всеми пользователями в системе):

 video/x-msvideo; mplayer %s; needsterminal
 video/quicktime; mplayer %s; needsterminal
 video/mpeg; mplayer %s; needsterminal

Теперь вы сможете просматривать некоторые видеоформаты MPlayer'ом. Можно найти больше названий медиа MIME-типов в каталогах /usr/share/mime и файле /etc/mime.types.
Проверено в Lynx 2.8.5rel.1
Q: Как настроить броузер Elinks, чтобы тот использовал MPlayer для открытия видео-файлов?
A: Так же, как и Lynx, Elinks использует mailcap. Помимо повтора действий из предыдущего ответа, Вам нужно убедиться, что поддержка mailcap включена. Итак, заходим в: Настройка->Options manager->MIME->Mailcap->Enable , нажимаем кнопку "Редактировать" и в появившемся окне пишем единичку. Жмём enter и не забываем нажать кнопку "Сохранить".
Проверено в Elinks 0.9.2rc4.
Q: Как настроить броузеры Mozilla/Netscape/Konqueror, чтобы те использовали MPlayer для открытия видео-файлов?
A: Просто установите mplayerplug-in
Q: У меня видеокарта Radeon 9200 с видео-входом, к которому подключен видеомагнитофон. Как смотреть видео с него?
A: К сожалению, это не поддерживается на ОС, отличных от Windows (MacOSX?), по причине лицензионных проблем с Macrovision.
Q: Мне не совсем понятно, что такое и зачем нужны win32 кодеки?
A: Эти кодеки нужны для декодирования аудио/видео потоков, сжатых закрытыми, и/или существующими (пока) только для ОС Windows. Например (с чем можете наверняка столкнуться): VoxWare, Intel Indeo 4/5, Windows Media Video 9 и пр.
Q: При перескоке на пару секунд/минут вперёд/назад нет полоски со статусом, да и вообще не видно каких-либо признаков OSD...
A: Попробуйте запустить MPlayer с опцией -osdlevel 1. Если не помогло, то установите оригинальные, не-ttf шрифты arial-iso-8859-1. Вы также не увидите OSD, если используете в качестве video output устройства X11 OpenGL(опция -vo gl), т.к. он сам по себе не поддерживает OSD.
Q: Мне надоело использовать MPlayer для прослушивания WMA файлов в *NIX. Можно ли слушать их с помощью известных media-плееров, таких как XMMS?
A: Установите xmms-wma plugin.
Q: Как проиграть видео с битого CD?
A: Создайте образ CD: dd if=/dev/cdroms/cdrom0 of=./video.iso conv=noerror. Затем смонтируйте его (пользователем root): # mount -t iso9660 -o loop ./video.iso /mnt/cdrom/. Смотрите: mplayer -forceidx /mnt/cdrom/video.avi. Т.к. диск битый, не удивляйтесь битым кадрам и пропущенным фрагментам.
Q: Хочу, чтобы у меня на рабочем столе крутились клипы (в случайном порядке).
A: Запустите MPlayer таким образом: mplayer -loop 0 -shuffle -rootwin -zoom -vo x11 ./video/clips/*. Таким образом клипы будут постоянно (-loop 0), в случайном порядке (-shuffle), крутиться на рабочем столе(-rootwin).
Q: Воспроизведение видео на мониторе N2(телевизоре).
A: В первую очередь должен быть правильно настроен X-сервер. Настройки для видеокарт ATI см. сайт ATI in Linux, а для настройки видеокарт NVIDIA см. раздел LINUX.ORG.RU FAQ. Ну и, собственно, воспроизведение:

$ export DISPLAY=:0.1
$ mplayer -fs video.avi

Q: Каким образом можно смотреть MPlayer'ом видео с DV-камеры?
A: Установите dvgrab, убедитесь, что загружены все необходимые модули ядра(ieee1394, dv1394, raw1394), и выполните следующее: dvgrab - | mplayer -.
Q: Как в MPlayer'е сохранить в файл кадр из видео?
A: Тут два способа:
  1. запускаем MPlayer c опцией -vf screenshot и в процессе просмотра при нажатии на клавишу 's' в папке откуда вы запустили MPlayer будет создан файл с текущим кадром имеющий название типа shotNNNN.png, где NNNN - порядковый номер созданного файла
  2. зная на какой секунде находится нужный вам кадр, запускаем MPlayer с опциями -ss HH:MM:SS -frames 1 -ao null -vo png, где -ss HH:MM:SS - позиция в видео (часы:минуты:секунды). В рабочем каталоге MPlayer'а будет создан файл 00000001.png
Q: После обновления MPlayer'а до версии 1.0RC1 вместо русских букв в OSD видны только нижние подчёркивания
A: Начиная с данной версии для OSD и субтитров используется кодировка UTF-8. Уберите строку subfont-encoding в файле ~/.mplayer/config (по-умолчанию будет использоваться UTF-8).

Проблемы

Q: А-а! После прерывания MPlayer'а по CTRL-C я не вижу, что вводится в консоли, да и вообще с ней ерунда какая-то начала твориться...
A: Такое может быть при использовании в качестве video output VESA(-vo vesa) или DirectFB(-vo directfb). Просто наберите "в слепую" reset и нажмите enter.
Q: MPlayer вылетает с ошибкой при попытке воспроизведения RealMedia файла с RV20 видео...
A: Такое возможно при использовании MPlayer 1.0pre4 и -vfm ffmpeg(или -vc ffrv20),- используйте опицию -vfm realvid , или обновите плеер.
Q: Не работает регулирование звука если audio output - ALSA (опция -ao alsa)
A: Такая проблема может быть при использовании ALSA драйверов с ESS18xx звуковыми картами. Выберите другой audio output или поменяйте звуковую карту.
Q: При использовании XVideo video output (-vo xv) MPlayer вылетает с ошибкой: MPlayer interrupted by signal 6 in module: flip_page
A: Попробуйте закрыть такие программы, как XMMS или Zinf, или используйте другой video output.
Q: Не работает DirectFB video output (-vo directfb)...
A: Для работы с DirectFB необходимо, чтобы пользователь имел доступ к таким устройствам, как /dev/fb0(framebuffer device),/dev/tty*(terminal). Для этого можно, например, добавить пользователя в группы(у), имеющие доступ к данным устройствам. В случае использования файловой системы devfs, добавьте следующие строки в /etc/devfsd.conf:

 REGISTER        vc/.*       PERMISSIONS root.tty 660
 REGISTER        fb/.*       PERMISSIONS root.tty 660

В данном примере предполагается, что пользователь находится в группе tty. Помните, что вашей системе настройки могут отличаться от приведённых выше.
Q: MPlayer не запускается,- ругается на отсутствие библиотеки DirectFB, хотя та установлена в системе.
A: Скорее всего, после обновления DirectFB вы не перекомпилировали MPlayer. Знайте, что при установке новой версии DirectFB, ВСЕ программы, использующие эту библиотеку, должны быть перекомпилированы с текущей версией DirectFB!
Q: MPlayer не вопроизводит DV-видео, переписанное с новой Sony Handycam.
A: Во-первых, установите наиболее свежую версию MPlayer'а, а во-вторых, используйте в данном случае опцию -demuxer lavf.
Q: MPlayer долго запустается при попытке прослушать радио со спутника(DVB)
A: Используйте опцию -demuxer mpegts.

Кодирование/MEncoder

Q: Можно ли с помощью MEncoder'а создавать OGM файлы?
A: Нет, поддержка этого формата MEncoder'ом будет добавлена в будущем. Для создания OGM файлов в *NIX используйте ogmtools. А в ОС Windows OggMux.
Q: Пытался разделить OGM файл MEncoder'ом с опциями -ss и -endpos , однако у получившегося файла либо пропадал звук, либо опции были словно проигнорированы...
A: Для работы с OGM файлами лучше использовать ogmtools, т.к. MEncoder ещё не умеет нормально работать с OGM файлами. В данном случае (деление) нужно использовать ogmsplit.
Q: Я хочу знать, как с помощью MEncoder'а правильно сжимать видео в DivX.
A: Смотрите великолепную статью Создаём DIVX video с помощью mencoder.
Q: Где можно найти описание формата OGM?
A: Читайте тут: Формат OGM файлов.
Q:Как с помощью MEncoder'а создать MPEG2 файл с последующей записью на DVD-Video диск?
A: Вкратце так:

$ mencoder -of mpeg -mpegopts format=dvd -srate 48000 -ofps 25 -ovc lavc -oac lavc \ 
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:keyint=15:vrc_maxrate=9800:vbitrate=4900:aspect=4/3:acodec=ac3:abitrate=192 \ 
./myvideo.avi -o myvideo.mpeg2

На выходе должно получиться полноэкранное PAL MPEG2 видео с AC3 звуком. Опции vbitrate и abitrate выставляются в зависимости от требуемого размера/качества. Также помните, что разрешение видео должно быть 720x576 для PAL и 720x480 для NTSC (опция -vf scale=). Число кадров в секунду (опция -ofps) для PAL,- 25, для NTSC,- 30000/1001. Максимальный интервал ключевых кадров (опция -lavcopts keyint=) для PAL,- 15, для NTSC,- 18. Для широкоэкранного видео поменяйте aspect на 16/9.
Для записи полученного видео на DVD вначале воспользуйтесь dvdauthor:

$ dvdauthor -o todvd movie.mpg
$ dvdauthor -T -o todvd

Пишем dvd+rw-tools:

$ growisofs -Z /dev/dvdrw -dvd-video -V "MyDVD" todvd/

Q:Как с помощью MEncoder'а создать MPEG4 видео для просмотра на смартфоне?
A: Вот так:

$ mencoder myvideo.avi -oac mp3lame -ovc lavc / 
-lavcopts vcodec=mpeg4:vhq:vqmin=2:vqmax=20:vmax_b_frames=2:vbitrate=100:vqcomp=0.6 /
-vop scale=220:173,eq=15 -ofps 20 -zoom -sws 2 -lameopts cbr:br=32:aq=0:mode=3 -o forsmartphone.avi

Q:Как записать видео с ТВ-тюнера в Linux?
A: Для ядер 2.4.x и ранних 2.6.x:

$ mencoder tv:// -tv driver=v4l:width=384:height=288:norm=SECAM: \
brightness=10:contrast=-20:hue=-70:saturation=-60: \
audiorate=22050:alsa:forcechan=1:adevice=hw.0: \
buffersize=32:fps=22 -ovc lavc -lavcopts vcodec=mpeg4: \
vbitrate=2100:vme=5:vqscale=3:vb_strategy=1: \
keyint=300 -oac pcm -o tvvideo.avi

Для ядер версии 2.6.6 и выше:

$ mencoder -tv driver=v4l2:width=512:height=384:device=/dev/video0: \
norm=SECAM:buffersize=128:fps=24:brightness=10:contrast=-20:hue=-70: \
saturation=-60:audiorate=22050:alsa:forcechan=1 -oac pcm tv:// -ovc lavc \ 
-lavcopts vcodec=mpeg4:vbitrate=1200:vme=4:vqscale=3:vb_strategy=1:keyint=300 \
-vf pp=lb -o tvvideo.avi

Q: Как с помощью MEncoder'а создать MPEG2 файл с последующей записью на SuperVCD(SVCD) диск?
A:Создаём PAL MPEG2 видео:

$ mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
-o movie.mpg movie.avi

Далее создаём CUE и BIN файлы нашего SVCD-диска с помощью vcdimager:

$ vcdimager -t svcd -l "MyMovie" -c movie.cur -b movie.bin movie.mpg 

Пишем это дело на болванку, используя cdrdao:

$ cdrdao write --device /dev/cdrw movie.cue

Q: MPEG4 видео, созданное с помощью последних версий MEncoder'а, не воспроизводится во многих плеерах
A: Начиная с версии 1.0pre7, при кодировании MPEG4 видео libavcodec'ами MEncoder'а(опции -ovc lavc -lavcopts vcodec=mpeg4) используется FOURCC код FMP4, и большинство плееров/кодеков не знают, что с ним делать. В случае ОС Windows установите свежую версию FFDshow. Для других ОС либо обновите плеер MPlayer/Xine, либо добавьте опцию -vc ffodivx при проигрывании этого файла. Ну а если Вам и вовсе не нужны все эти проблемы, то кодируйте MPEG4 видео с опцией -ffourcc divx.
Q: Как закодировать видео в формат потокового Flash-видео (FLV)?
A: Вот пример:
 
# mencoder input.dv -ofps 12 -o video.flv -of lavf -lavfopts \
i_certify_that_my_video_stream_does_not_use_b_frames -oac lavc -lavcopts \
acodec=mp3:abitrate=32 -srate 22050  -ovc lavc -lavcopts vcodec=flv:\
vbitrate=100:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:\
vmax_b_frames=0:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2 \
-vop scale=360:240


Разное

Q: Где ещё можно найти FAQ и разные полезные статьи о MPlayer'е и MEncoder'е?
A: К сожалению, переводчики документации к MPlayer'у пока ещё не перевели официальный FAQ на русский язык. Можете посмотреть следующие статьи:
Q: Какие ещё продвинутые видео-плееры есть под *NIX?..
A: Это Xine и VideoLAN. Для просмотра DVD можно посоветовать Ogle.
Q: Есть ли отдельный от MPlayer'а набор кодеков ffmpeg(libavcodec) для ОС Windows?
A: Да, это набор DirectShow кодеков под названием FFDshow. Вы можете скачать последнюю версию отсюда
Q: У меня есть вопросы, не освещённые в данном FAQ. Могу ли я получить на них ответ?
A: Вы можете прислать их на адрес silinio(at)mail.ru (вместо (at) поставьте значок @). Следует понимать, что автор не в состоянии ответить моментально. Также автор не располагает большим количеством разного аппаратного и программного(ОСы) обеспечения.
Просьба не присылать вопросы, уже рассмотренные в официальном FAQ, а также совсем уж элементарные вопросы.
Q: Я хочу помочь с составленем данного FAQ: добавить вопросы-ответы, отсутствующие здесь, ответить на некоторые вопросы.
A: Все вопросы-ответы, советы, равно как и всё, что вы хотели спросить у автора данного FAQ, пишите на silinio(at)mail.ru.
Q: На каких условиях я могу публиковать/распростанять данный документ?
A: Вы можете публиковать/распространять данный документ в любом виде, но с обязательной ссылкой на оригинал.

Благодарности

Следующим лицам:


<- Назад
Valid HTML 4.01!  Valid CSS!