В Ubuntu 9.04 по умолчанию с трудом воспроизводятся 720p и 1080p (FullHD) фильмы. Для решения данной проблемы стоит пересобрать mplayer из svn с поддержкой ffmpeg-mt для многопоточного декодирования фильмов.
Для начала нобходимо установить утилиты для сборки программного обеспечения из исходных кодов:
$ sudo apt-get install build-essential checkinstall subversion git-core libgpac-dev
Так-же существуют рекомендации использовать свежие исходники x264 для новых версий mplayer.
Для успешной его сборки треуется свежий yasm. Шаги по установке:
$ cd $HOME
$ wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.2.tar.gz
$ tar xzvf yasm-0.7.2.tar.gz
$ cd yasm-0.7.2
$ ./configure
$ make
$ sudo checkinstall -D --pkgname=yasm --fstrans=no --pakdir "$HOME/Desktop" \
--maintainer "$USER" --pkgversion "0.7.2" --backup=no \
--deldoc=yes --deldesc=yes --delspec=yes --default
И сам x264:
$ sudo apt-get purge x264 libx264-dev
$ cd $HOME
$ git clone git://git.videolan.org/x264.git
$ cd x264
$ ./configure --prefix=/usr --enable-shared
$ make
$ sudo checkinstall -D --pkgname=x264 --fstrans=no --pakdir "$HOME/Desktop" \
--maintainer "$USER" --pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" --backup=no \
--deldoc=yes --deldesc=yes --delspec=yes --default
Установка пакета кодеков:
$ cd $HOME
$ wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
$ sudo mkdir -pv /usr/lib/codecs
$ tar xjvf all-20071007.tar.bz2
$ sudo cp -v $HOME/all-20071007/* /usr/lib/codecs
Создаем симлинк для шрифтов для корректного отображения субтитров:
$ mkdir -v $HOME/.mplayer
$ ln -sv /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf ~/.mplayer/subfont.ttf
Устанавливаем все библиотеки необходимые для сорки mplayer:
$ sudo aptitude build-dep mplayer
Вытягиваем свежую версию mplayer из svn:
$ cd $HOME
$ svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
Скачиваем ffmpeg-mt (ffmpeg multi thread):
$ cd $HOME
$ git clone http://git.gitorious.org/ffmpeg/ffmpeg-mt.git
Вытягивает старую версию ffmpeg, она необходима для избежания ряда ошибок компиляции на устранение которых было потрачено много времени =) :
$ cd $HOME
$ wget http://www.ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
$ tar -jxvf ffmpeg-0.5.tar.bz2
Копируем свежие библиотеки в директорию с исходниками mplayer:
$ cd mplayer
$ rm -rf libavcodec libavformat libavutil #удаляем билиотеки которые шли в комплекте с mplayer
$ cp -a ../ffmpeg-mt/libavcodec . #копируем свежие библиотеки
$ cp -a ../ffmpeg-mt/libavformat .
$ cp -a ../ffmpeg-mt/libavutil .
$ cp -a ../fmpeg-0.5/libswscale .
Конфигурируем и собираем mplayer:
$ cd $HOME/mplayer
$ ./configure --enable-gui
$ make
$ sudo make install
$ make clean
Если у вас не будет собиратся mplayer и будет ругаться на CODEC_ID_PCM_BLURAY, избавиться от этого можно закоментировав соответствующюю строку в файле ./libmpdemux/mp_taglists.c ({ CODEC_ID_PCM_BLURAY, MKTAG(‘B’, ‘P’, ‘C’, ‘M’)} ). Не знаю на что это повлияет, но иного выхода собрать плеер я не нашел.
А теперь в чем приемущество:
$ mplayer -vc ffh264 -lavdopts threads=2 filename.mkv
В данном случае будет выделено два процесс для декодирования фильмов, что существенно повышает производительность mplayer на многоядерных системах.
Приятного просмотра!


Заметка конечна полезная, но ещё бы лучше завернуть это хозяйство в deb и куда нить заапрувить
Нехватает libxv-dev для поддержки XV.
И конфигурить лучше с ключами —enable-menu —enable-xv —prefix=/usr —enable-gui
…
Хм.. …
1) обновление библиотеки all-20071007 -> all-20100303
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2 ->
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20100303.tar.bz2
и соответственно
tar xjvf all-20071007.tar.bz2 ->
tar xjvf all-20100303.tar.bz2
sudo cp -v $HOME/all-20071007/* /usr/lib/codecs ->
sudo cp -v $HOME/all-20100303/* /usr/lib/codecs
2) Исправление ошибки
cp -a ../fmpeg-0.5/libswscale .
cp -a ../ffmpeg-0.5/libswscale .
3)
Была ошибка make mplayer
, так как ругалась av_probe_input_format2
в файле demux_lavf.c закоментировать
// priv->avif= av_probe_input_format2(&avpd, probe_data_size > 0, &score);
ubuntu 10.04 — всё шло нормально до конфигурации и сборки mplayer, make завершается «Ошибка 1″. Весь процесс шёл с установленным родным. Удалил его в конце, когда стало выдавать ошибки. Оживите тему и , по возможности, помогите..