Пытаемся смотреть IPTV на Raspbian.
-
Я решил закончить свои эксперименты по поводу просмотра IPTV на Raspberry Pi.
Представляю полученные результаты.
И так, имеем в наличии:
- -Raspberry Pi с установленной ОС Raspbian сборки от 16.08.2012;
- -подключенная лицензия на кодеки MPEG2 и VC1;
- -штатный медиаплеер OMXplayer;
- -установленные медиаплееры XINE-UI и VLC-player;
- -провайдерская мультикаст-трансляция каналов IPTV (простые и FULL-HD каналы).
Хотя видеопоток успешно подхватывался всеми перечисленными медиаплейерами, XINE и VLC оказались на данный момент абсолютно непригодные для этой задачи в виду того, что пока их сборки не используют GPU. Трансляция велась со скоростью не более 1-5 кадров в секунду при 100% загрузке процессора. Даже если эти плееры запускать не из LXDE.
Консольный OMXplayer гораздо лучше справился с этой задачей. Благо его научили работать с GPU.
Но всё равно, его работу можно назвать удовлетворительной лишь с натяжкой.
Первая проблема- у меня неполучилось скормить ему плейлист. Пришлось каждый канал запускать в ручную. Но это в принципе не так критично. Гораздо более критичным оказался недостаток памяти в Raspberry Pi.
Каналы в формате FULL-HD, транслирующиеся в формате h.264, оказались ему не по зубам.
Картинка возникает на 1-2 секунды (правда картинкой её назвать сложно- более половины экрана разбито на кубики), после этого плеер вылетает с пожеланиями "всего хорошего".
С обычными каналами, транслирующимися в формате MPEG2, плеер в общем-то справляется более-менее. Но опять же, относительно чистой картинки получилось добиться лишь на каналах, которые транслируются с уменьшенным разрешением. На каналах, транслирующихся в обычном разрешении (720 точек), по экрану периодически пробегают квадратики. Т.е. Raspberry не успевает уверенно декодировать этот поток налету.
Увеличение частоты процессора до 800МГц абсолютно никак не влияет на качество картинки. HD-каналы так-же вылетают, а простые- всё так же квадратятся.
Играться с оверклокингом GPU и памяти я не стал. Ибо сильно сомневаюсь, что прирост производительности в 10% исправит ситуацию.
На этом я свои эксперименты завершил. На данный момент Raspberry Pi невозможно использовать для нормального просмотра IPTV используя штатные средства ОС Raspbian. Остаётся надеяться на то, что кто-нибудь напишет специализированный плагин для просмотра IPTV под XBMC, или создаст оптимизированную сборку, выделив максимум ресурсов IPTV-плееру.
Для тех, кто хочет попробовать посмотреть IPTV на своей "Малинке" дам пару советов.
-
Перераспределите память в пользу GPU, через raspi-config.
-
OMXplayer запускайте из терминала, не запуская LXDE.
-
Чтобы плеер увидел мультикаст-поток, адреса нужно изменять.
Например, в плейлисте моего провайдера адреса каналов представлены в таком виде:
rtp://@239.1.1.24:1234
Для плеера этот адрес должен выглядеть так:
udp://239.1.1.24:1234
Т.е. чтобы посмотреть этот канал, я ввожу следующую команду:
omxplayer udp://239.1.1.24:1234
Далее плеер задумывается на 5-10 секунд, потом выводит информацию о найденном потоке и его характеристиках и ещё секунд через 5 начинается трансляция.
Выйти из трансляции можно нажатием клавиши Q
Вот в общем то и всё, что я хотел сказать.
Попробуйте сами, может вы добъётесь более положительных результатов.