PDA

Просмотр полной версии : Просмотр IP-TV и прослушивание радио в Linux


lsmod
11.05.2008, 03:32
Просмотреть телеканалы и послушать радио от Сахателекома в Linux можно различными программами. Использую для этих целей три: mplayer, xine, vlc. Выбор обоснован прежде всего тем, что это "всеядные" программы, способные воспроизводить как звук, так и видео. К тому же mplayer и xine стандартно поставляются со многими дистрибутивами Linux.

1. VLC

vlc-0.8.6

Это кроссплатформенный проигрыватель, версия для Windows всем известна. В управлении с GUI Linux-версия от неё не отличается, насколько могу судить. Читает плейлисты от Сахателекома, само собой.

Управление из командной строки не представляет затруднений:
запуск плейлиста - vlc --playlist free.m3u
запуск отдельного канала - vlc udp://@224.14.10.8:8208

С помощью vlc можно записывать поток в файл. Формат команды в общем случае выглядит так:
vlc адрес --sout file/muxer:stream.xyz

где:
адрес - адрес_потока:порт
muxer - один из форматов, поддерживаемых vlc для вывода потока - ogg | ps (для MPEG2-PS) | ts (для MPEG2-PS)
stream.xyz - имя сохраняемого файла

Пример:
vlc udp://@224.14.10.2:8208 --sout /ogg:stream.ogg

P.S. Для прослушивания радио без "заиканий" мне пришлось увеличить кеш udp до 5000.

2. mplayer

mplayer-1.0-rc1

Это, без преувеличения, легендарный плейер для Linux. Проигрывает, кажется, всё, что можно проиграть. Имеется GUI с возможностью менять skins (в принципе GUI не нужен). Читает различные форматы плейлистов.

Запуск плейлиста - mplayer -playlist free.m3u
Запуск отдельного канала - mplayer udp://@224.12.10.115:8208

Возможно сохранение потока в файл, общий формат команды следующий:
mplayer адрес -dumpstream -dumpfile stream

где:
адрес - адрес_потока:порт
stream - имя сохраняемого файла

Пример:
mplayer udp://@224.12.10.115:8208 -dumpstream -dumpfile stream

mplayer может проигрывать медиафайлы в "голой" консоли, используя различные драйверы, напрмер, видео через framebuffer. Для получения видеоизображения на полном экране в консоли могут оказаться полезными опции -fs, -zoom, -xy. Например, в моём случае (framebuffer в режиме 800х600) наиболее приемлемый вариант оказался таким:

mplayer -zoom -xy 800 udp://@224.12.10.115:8208

P.S. Собственно, в пакет mplayer входят две прграммы - медиапроигрыватель mplayer и mencoder - медиакодировщик. При умелом использовании эти программы позволяют решать широкий спектр задач, от собственно проигрывания, до кодирования/перекодирования. Поэтому крайне рекомендуется чтение man mplayer. Есть, кстати, и русский его вариант.

При использовании mplayer нужно также учитывать, что разработчики не поставляют бинарных сборок. Так что бинарные пакеты - это, как правило, сборки ментейнеров дистрибутива. А так как у mplayer большое количество опций конфигурации, то сборки могут несколько отличаться. В частности, в моём случае переключение каналов осуществляется только клавишей Enter (вперёд по списку), и не работают клавиши с символами < > (вперёд-назад по списку).

3.xine

xine-0.99.4

Тоже чрезвычайно распространённый и очень известный медиапроигрыватель для Linux. Есть возможность менять skins. Поддерживает различные форматы плейлистов.

Однако *.m3u от Сахателекома указанная выше версия xine не воспринимает. Чтобы привести плейлист в читабельный для xine вид, нужно во всех строках с адресами удалить символ @. Сделать это можно либо ручками (что в большом плейлисте делать крайне скучно), либо использовать unix-way, например, потоковый редактор sed:

sed -e 's/@//g' free.m3u > new_free.m3u

Запуск плейлиста: xine new_free.m3u
Запуск отдельного канала - xine udp://224.11.10.32:8208

Переключение каналов при проигрывании плейлиста - клавишами PageUp/PageDown.

Весёлый Молочник
13.05.2008, 11:16
Спасибо за FAQ. =)
Хотя я через плагин смотрю в firefox'e и слушаю. Плагин VLC.