Олег Шалаев  > Мой Debian-опыт

Радио, телевизор, аудио- и видеоплеер.

Давным–давно была дурацкая, но запоминающаяся реклама зубной пасты, в которой пелось "На три вопроса – один ответ!" У меня на четыре вопроса – два ответа: mplayer и xmms. Кроме того, раньше я пользовался программой tvtime для просмотра ТВ, но она почему-то отказывается работать с моей новой видеокартой Matrox Millenium P650.

Итак, радио России я слушаю командой
mplayer mms://stream.rfn.ru/radiorussia
Радиостанции "Серебренный дождь" и "Европа Плюс" я слушаю с помощью xmms, открывая в нём этот playlist.

Телевидение я смотрю на экране компьютера командой
mplayer tv:// -tv \
driver=v4l2:width=640:height=480:channels=R6-3SAT,SR2-?,SR8-SAT1,SR12-?,SR19-WDR,E5-?,E6-?,E7-?,E8-?,E9-?,E10-?,SE8-RTL,SE10-?,22-?,23-?,25-?,29-Super_RTL,30-?,39-?,40-?,41-?,42-RTL,43-NTV,44-VoX,54-54,59-59,64-64,65-ORF_1,S40-ORF2,66-?,67-?,47-SF_1,SR11-RAI_UNO,SE11-Rai_Uno,28-RAI_2,45-Canale_5,68-Ticino_1,61-Ticino_2

а на большом экране (с помощью проектора) – командой
mplayer -aspect 3:4 -display :1.1 tv:// -tv \
driver=v4l2:width=640:height=480:channels=R6-3SAT,SR2-?,SR8-SAT1,SR12-?,SR19-WDR,E5-?,E6-?,E7-?,E8-?,E9-?,E10-?,SE8-RTL,SE10-?,22-?,23-?,25-?,29-Super_RTL,30-?,39-?,40-?,41-?,42-RTL,43-NTV,44-VoX,54-54,59-59,64-64,65-ORF_1,S40-ORF2,66-?,67-?,47-SF_1,SR11-RAI_UNO,SE11-Rai_Uno,28-RAI_2,45-Canale_5,68-Ticino_1,61-Ticino_2

Разумеется, я не набираю каждый раз эти длинные команды в консоли. Они запрограммированы в меню icewm.

Фильмы смотрю с помощью mplayer. На мониторе в простейшем случае для просмотра фильма я даю команду
mplayer film.avi
или, в случае, если, например, мне хочется посмотреть фильм на немецком языке с итальянскими субтитрами,
mplayer -alang deu -slang ita film.mkv
–это работает для фильмов, где один видеопоток и несколько звуковых дорожек и субтитров заключены в один файл-контейнер типа "matroska". Если же, например, имеется film.avi с двумя звуковыми дорожками, то выбрать их можно командами
mplayer -aid 1 film.avi или mplayer -aid 2 film.avi
Для фильмов на DVD командуем
mplayer -alang deu -slang ita dvd:// – при этом, разумеется, о кодах зон, призванных недопустить просмотра в России DVD, купленного в Америке, можно забыть.

Музыку я слушаю с помощью xmms.

Компиляция mplayer

Очень важно иметь правильные настройки в /etc/X11/xorg.conf! Пока у меня были неправильные настройки, фильмы тормозили.

Создатели mplayer заботятся о пользователях Debian, так что мы можем его откомпилировать прямо в deb-пакет, который мы потом интеллигентно установим с помощью dpkg: DEB_BUILD_OPTIONS="--enable-gui --enable-menu --disable-rtc --enable-freetype --enable-gui --enable-largefiles --language=ru,en --disable-runtime-cpudetection --win32codecsdir=/usr/local/lib/win32 --enable-xv --enable-vm --enable-x11 --enable-gl --enable-lirc" fakeroot debian/rules binary
Подразумевается, что windows-кодеки (которые можно свободно скачать с сайта mplayer) я положил в каталог /usr/local/lib/win32

Пульт ДУ (lirc) – тут требуется доводка ручками.

После того, как я купил проектор, я остро ощутил необходимость настройки пульта ДУ (который поставлялся в комплекте с ТВ-тюнером и втыкается в разъём на нём). Была проблема: patch блокировал работу звука в ТВ. Я так и не понял, почему. Потом скачал новую версию ядра, пропатчил, перекомпилировал и всё заработало штатно. Излагаю подробности. Перекомпилируем ядро как надо, перезагружаемся с новым ядром. Даём команду more /proc/bus/input/devices которая выдаёт нам что-то вроде
I: Bus=0001 Vendor=107d Product=6609 Version=0001
N: Name="bttv IR (card=34)"
P: Phys=pci-0000:00:0e.0/ir0
S: Sysfs=/class/input/input6
H: Handlers=kbd
B: EV=100003
B: KEY=10afc336 2150a48 0 0 0 404 80010000 190 4801 1e0000 4400 100000 10000ffc

Сначала, без демона lirc, система воспринимает пульт как альтернативную клавиатуру. Например, можно в терминале набрать с помощью пульта любую комбинацию цифр. Читаем умный текст и выполняем команды:

apt-get install lirc lirc-modules-source
cd /usr/src
tar xzf lirc-modules.tar.gz
Это мы установили исходники пакета lirc-modules, которые предстоит ещё скомпилировать и установить (собрать). Сборка осуществляется командой (из-под root)
m-a update,prepare
dpkg-reconfigure lirc-modules-source
cd modules/lirc
debian/rules binary-modules KSRC=/usr/src/linux/
m-a ai lirc
После этого инсталлируем из /usr/src/ скомпилированный модуль. Затем где-то в дебрях интернета находим правильный файл /etc/lirc/lircd.conf и копируем его в каталог /etc/lirc/
Предупреждение: файл /usr/share/doc/lirc/remotes/leadtek/lircd.conf.PVR2000 не подходит для моей карты Leadtek WinFast TV 2000 XP (RM edition) !!!

Делаем правильные изменения в /etc/lirc/hardware.conf
Убеждаемся, что пульт работает, запуская
input-events 6 и нажимая разные кнопки на пульте. Наблюдаем реакцию – выводит названия кнопок и их коды.

Затем запускаем lircd --nodaemon -H 'dev/input' -d /dev/input/event6 /etc/lirc/lircd.conf На другой консоли запустим
irw
Опять понажимаем кнопки на пульте. В консоли с lircd появляются сообщения об этих нажатиях. В консоли с irw появлются символьные имена нажатой кнопки.

В дальнейшем демон lirc будет тихонечко запускаться системой при перезагрузке без нашего участия. Признак нормальной работы демона lirc: пульт ДУ больше не воспринимается системой как виртуальная клавиатура.

Теперь – настраиваем mplayer. Посмотрим на (длинный) список названий клавиш ДУ, который он может воспринимать от пульта ДУ:
mplayer -input keylist

Редактируем файлы ~/.mplayer/input.conf и ~/.lircrc
Кстати, чтобы mplayer работал с lirc, надо его компилировать с опцией --enable-lirc (см. выше)

Вот собственно и всё. Работают не все кнопки пульта, но работающих вполне достаточно для моих скромных целей.


Олег Шалаев
Last modified: Sat Jan 3 10:32:44 CST 2009