Задача: собрать Mplayer в Linux на примере Debian Linux и установить кодеки для Mplayer.
Решение: по ряду причин этот плеер не включён в основную ветку дистрибутива, но имеется отдельно в исходниках. Для этого потребуется скачать собственно исходники плеера и все его кодеки с официального сайта.
Подготовка
Идём на официальный сайт и скачиваем там архив с программой и, кроме того, архивы с кодеками (они обычно называются essential*.tar.bz2 или вроде того). После скачивания всего добра оттуда готовим систему для установки: нужен компилятор и несколько дополнительных пакетов. Для сборки плеера из исходников нам нужно поставить пакеты:
# apt-get install gcc g++ makeПосле этого ставим необходимые для MPlayer пакеты:
# apt-get install libogg0 libogg-dev libvorbis0a libvorbis-dev vorbis-tools libpng12-0 libpng10-dev liblogfile-rotate-perl libconfhelper-perl debhelper fakeroot libgtk1.2 libgtk1.2-dev svgalibg1 svgalibg1-dev libsdl1.2-devНекоторые пакеты могут быть уже установлены, другие потребуют обновлённых версий, но набор их остаётся прежним. Далее переходим в каталог /usr/src и создаём там каталог mplayer, где и будем его собирать. Всё почти готово...
Сборка MPlayer в Debian Linux - консольный плеер
Часто все эти графические свистелки только отнимают время и затрудняют работу с плеером. Кроме того, запомнить пару ключей проще, чем тыкаться в бесконечных выпадающих менюшках а-ля-Xine. Ниже описывается процедура сборки консольной версии MPlayer, в следующей секции даются рекомендации по сборке его с GUI.
Итак, переходим в каталог с исходниками MPlayer и разархивируем их в каталог:
После этого в этом же каталоге набираем:#cd /usr/src/mplayer/ && tar -jxvvf * && cd *
# ./configureПоползуют выводы конфигуратора: что у вас есть и с поддержкой чего будет компилироваться MPlayer. Если его на этом этапе что-то не устроит - он вылетит и перед кончиной скажет, чего ему не хватило для полного счастья. Недостающее надо поставить, после чего собрать-таки пакет прописыванием следующего заклинания:
# DEB_BUILD_OPTIONS="--disable-runtime-cpudetection" fakeroot debian/rules binaryВот прямо так и пишите, как здесь, и должно быть вам счастье. По экрану поползут и замелькают строчки компилятора, в которые вчитываться не обязательно. Апофеозом его деятельности будет появившийся в каталоге /usr/src/mplayer заветный файлик mplayerVersion.deb, который мы ставим утилитой dpkg следующим манером:
# dpkg -i mplayerVersion.debНо это ещё не всё: у нас только основные кодеки, а дополнительных нет, и разные неправильные ролики мы не увидим. А хотим. Но разве напрасно мы качали кодеки к MPlayer вида all-*.tar.bz2 и essential-*.tar.bz2? Сейчас мы их поставим.
Установка Mplayer кодеков в Linux
Отвечаю на вечный вопрос убунтуйцев и сусеводов - как поставить кодеки Mplayer. Скачиваем архив с кодеками Mplayer, разархивируем кодеки Mplayer и все их сваливаем в каталог /usr/lib/win32 - если такого каталога нет, создаём его.
Теперь (заделываясь рутом или его полномочиями через sudo) идём в каталог /etc и редактируем там файл ld.so.conf вписыванием в него строк:
/usr/libВот как например этот файл выглядит у меня (это только пример!)
/usr/lib/win32
# cat /etc/ld.so.conf
/usr/X11R6/lib
/usr/lib/atlas
/usr/lib
/usr/lib/win32
Вот только после этого действа у меня появились кодеки - и увидел их не только MPlayer, но и Xine, что приятно вдвойне. Так что теперь кодеками Mplayer будут пользоваться оба плеера.
Использование консольного MPlayer - основные команды
Сейчас вы освоите такую экзотику, как консольный плеер. Это просто и при некотором навыке гораздо быстрее графического. Организую это в виде FAQ:
1. Как посмотреть фильм, который находится в каталоге /home/vasya/porno.avi?
В графической консольке (Терминал, xterm) набираем:
mplayer /home/vasya/porno.avi
2. Фильм идёт, но много жрёт процессорного времени (вариант: только в центральной части экрана, а когда разворачиваешь fullscreen - фильм продолжает идти не на весь экран) - что можно сделать?
Попробовать другие методы видеовывода, указав плееру параметр:
mplayer -vo xv /home/vasya/porno.avi И попробовать другие ключи:
-vo sdl
-vo xv -vo x11
-vo gl
-vo gl2 а так же другие, которыми плеер поделится, если его попросить: mplayer -vo help
3. Фильм идёт рывками, пропуск кадров виден нетрезвым/невооружённым глазом, что делать?
а) попробовать предыдущий рецепт (п.2) и поменять параметр видеовывода, особенно помогает sdl;
б) указать параметр -framedrop или -hardframedrop при которых плеер пытается воспроизводить фильм в максимально пристойном качестве с пропуском кадров;
в) подымать framebuffer, выгружать иксы и смотреть фильмы в чистой консоли (для упёртых фанатов).
4. Видео снято\перекодировано с поворотом - как повернуть видео в mplayer под linux?
Можно попробовать сделать так:
mplayer -vo xv -vf rotate file.avi
должно повернуться против часовой стрелки.
5. Хочу подкрутить яркость/контраст/насыщенность, а на какие кнопки жать в консольном плеере?
На клавиатурные, натурально, о чём, кстати, в man mplayer подробно растолковано. Но для тех, кто мануалов не читает, привожу перевод:
Кнопки 1 и 2 понижают/повышают контрастНе все эти операции поддерживаются различными методами видеовывода.
Кнопки 3 и 4 понижают/повышают яркость
Кнопки 5 и 6 понижают/повышают оттенки
Кнопки 7 и 8 понижают/повышают насыщенность
6. На какие кнопки жать, чтобы перемещаться по фильму?
На клавиатуре давим:
стрелка < и > передвинуться назад/вперёд на 10 секунди читаем-таки маны (man mplayer), в которых это пишут буквально сразу, не откладывая в дальний ящик.
кнопка перемещения курсора вверх и вниз передвинуться назад/вперёд на 1 минуту
кнопка страница вверх и страница вниз передвинуться назад/вперёд на 10 минут
7. Видео и звук рассинхронизируются - как компенсировать?
Снова мучаем клавиатуру:
кнопка + и - компенсировать назад/вперёд десинхронизацию на 0.1 секунд
или прописать параметр -autosync 0
8. У видеофайла неправильное соотношение сторон (не правильный aspect ratio) - как компенсировать?
В консоли запускаем mplayer c параметром -monitoraspect X:Y где вместо X и Y подбираем правильные соотношения экспериментально. Полная строка может выглядеть так: mplayer -monitoraspect 4:4 1984.mpg
И ещё. Если нужно сделать так, чтобы видео воспроизводилось в цикле, пишем команду:
mplayer -loop 0 Image01.aviЭто заставляет Mplayer проиграть файл, потом закрыть его, потом открыть снова и снова проиграть.
Этого должно хватить для более или менее продвинутого использования замечательного плеера MPlayer.
Ссылки:
Лучшая статья по установке MPlayer в Debian, как и все другие толковые руководства по данному вопросу на англицком наречии. Много полезной информации о том, как поставить MPlayer в с графической мордой сказано здесь. Установившим Fedora Core - сюда, убунтуйцев ждут здесь.
23 комментариев: |высказаться!| RSS-лента дискуссии.|
Добрый день!
Я, если позволите, немного вас покритикую :)
1. Если mplayer всё равно ставится из исходников, то лучше его брать через CVS (или, возможно, Subversion, я не знаю, что у них сейчас). Почему? Просто в связи с довольно редко выходящими релизами могут быть как баги, так и ещё что-то. Допустим, в версии, которая была до 1.0pre8 (а это latest stable), был какой-то баг с x264 (сейчас уже всех подробностей не помню).
Возможно, что это не путь debian, но ...
2. Придирка :) фильм находится в каталоге /home/vasya, но по адресу ~/porno.avi =)
3. Было бы здорово написать, как использовать mplayer и tvtuner ;) - это для многих тоже важно.
А можно как-нибудь из консольного мплэера регулировать громкость звука? В графической версии для этого надо было включать какую-то галочку, а то фильм очень сильно орал в наушниках :)
Вот это действительно интересная статья - сегодня вечером попробую :)
Кстати, я Ваш блог в свои ссылки ранее добавлял - даже не думал, что сам буду комментировать сообщения уважаемого virens
Напомню уважаемому virens и другим коллегам о том, что mplayer возможно установить с www.backports.org. По крайней мере в Sarge.
Это не в смысле, что статья плохая, а так - для порядка. :-)
Извиняюсь, соврал - не с www.backports.org, а /debian.nsu.ru/debian-marillat (как помню - ставил оттуда).
>А можно как-нибудь из консольного мплэера >регулировать громкость звука?
/ и * на numpad'e
Я, если позволите, немного вас покритикую
С удовольствием: собственно, я этого и жду :-)
1. Если mplayer всё равно ставится из исходников, то лучше его брать через CVS
Я что-то неправильно понял, или у команды MPlayer есть версии плеера, отличного от того, что лежит на их главной странице? Там ведь в версии и так написано что-то типа cvs. Если не прав - прошу подробнее. Можно сразу в почту, которая в профиле указана.
Допустим, в версии, которая была до 1.0pre8 (а это latest stable), был какой-то баг с x264
Намекаете на установку из testing? Ага... дошло... Можно.
2. Придирка :) фильм находится в каталоге /home/vasya, но по адресу ~/porno.avi =)
Это не придирка, а багфикс :-) Учтено, будет исправлено.
3. Было бы здорово написать, как использовать mplayer и tvtuner ;) - это для многих тоже важно.
8-0 Не понял? Смотреть телепередачи MPlayer? Киньте ссылочку, не знал. Что-то такое слышал, но подумал, что от лукавого :-)
Надо будет урвать выходной и внести давно назревающие поправки. Большое за них спасибо!
He1mut said...
Вот это действительно интересная статья - сегодня вечером попробую :)
Рад, что нравится - может, будет полезна. О своем опыте отпишите в блоге, мне тоже интересно.
2anonymous:
Извиняюсь, соврал - не с www.backports.org, а /debian.nsu.ru/debian-marillat
Про марилатовские сборки я в курсе, но они меня не впечатлили совершенно: тормозят, были проблемы с GUI и вообще... Всё равно спасибо.
Anonymous said...
>А можно как-нибудь из консольного мплэера >регулировать громкость звука?
/ и * на numpad'e
Надо будет поправить и внести в пост. Спасибо. Было поздно и хотелось спать :-) И ещё раз спасибо, что ответили за меня тов.abc-online!
Всем комментаторам ещё раз большое спасибо за внимание, если что ещё найдёте - пишите смело.
Благодаря вам материал блога становится всё лучше и лучше :-)
Сейчас посмотрел, там subversion. Я бы сказал, что это не testing, а current. А забрать можно командой [code]svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/[/code]
Про просмотр tuner'а из mplayer'a напишу, наверное, вечером.
Прошу прощения, но не умею вставлять тег "code" =(
Например:
mplayer -tv driver=v4l2:alsa:normid=5:freq=191.25 tv://
Опции я брал из man mplayer :), захватывающий документ. Я как-то написал пост про запись с помощью mencoder, оттуда можно взять ещё некоторые данные. Извините за ссылку на себя :):
http://cheer78.wordpress.com/2006/06/23/tv-record-via-mencoder/
P. S. Если кто-нибудь скажет, как вставлять ссылку, буду очень благодарен.
2Igor:
Опции я брал из man mplayer :)
Стало стыдно :-) Ушёл читать ман, скоро попробую на своём тюнере и запостю результаты.
Спасибо за ссылку на свой блог - очень интересная статья. Частоты каналов даны для Москвы?
Нет, для Петербурга. Для Москвы я не знаю :)
спасибо за статью,
но что вы думаете по поводу варианта несколько иной сборки официального mplayer под дебианом
с помощью dpkg-buildpackage -rfakeroot или с помощью
fakeroot debian/rules binary (рекомендовано авторами проги)
2 Anonymous
но что вы думаете по поводу варианта несколько иной сборки официального mplayer под дебианом
А разница? Будет быстрее работать? Если опищите в почте подробнее - обязательно подумаю :-)
увы, я разницы не знаю. Собрал по вашему рецепту - сборка и установка прошла успешно. Но при работе с тв тюнером с аппаратным мпег2 кодеком мплеер виснет
хочу отписать авторам, но не понял вот эту строчку, которую надо выполнить согласно
http://www.mplayerhq.hu/DOCS/HTML/en/bugreports_what.html
gdb mplayer --core=core -batch --command=command_file > mplayer.bug
не подскажете, что надо забить вместо "command_file"
http://cheer78.wordpress.com/2006/06/23/tv-record-via-mencoder/
увы , ссылка не работает
Error 404 - Not Found
а хотелось бы почитать про mencoder
перл-морда для использования mplayer'а как тюнера - http://mplayertv.ivanov.eu/download.php (debs inside)
Извините, а можно в консоли посмотреть DVD-меню?
2 Chpock пишет...
перл-морда для использования mplayer'а как тюнера - http://mplayertv.ivanov.eu/download.php (debs inside)
Спасибо, посмотрю.
2 Анонимный пишет...
Извините, а можно в консоли посмотреть DVD-меню?
насколько я знаю, нет. У Mplayer с этим исторические проблемы :-)
Пост по ходу действия устарел. Будет обновлён при следующей правке.
ИМХО, правильнее ставить кодеки из репозитория, коли таковой имеется:
deb http://www.debian-multimedia.org etch main
Тут имеются и w(32/64)codecs и более-менее свежая libdvdcss, без которой не будут играться некоторые DVD (особенно - коммерческие).
Подробнее: http://linuxhelp.blogspot.com/2007/04/install-multimedia-codecs-libdvdcss-in.html
Господа, а подскажите с какими надо собирать опциями mplayer, чтобы он мог воспроизводить amr и 3gp?
Отправить комментарий