?

Log in

No account? Create an account
 
 
01 November 2010 @ 06:40 pm
Sony PlayStation3 в роли приставки для просмотра IPTV  
Надеюсь информация будет полезна русскоязычному сообществу т.к. наслаждаться одному не прилично :)

Долго искал способ смотреть Extreme Sports Channel у себя на телевизоре без использования компьютера и похоже мне это удалось. Единственный приемлемый для меня источник трансляции - IPTV раздаваемое моим Интернет-провайдером мультикастом.




Что нужно:
- Интернет-провайдер осуществляющий трансляцию IPTV у себя в сети мультикастом или юникастом;
- Роутер под управлением OpenWrt либо DD-WRT (полагаю Олеговская прошивка для Асусов тоже подойдет);
- Аппаратный плеер умеющий вести просмотр видео с UPnP медиасервера (set-top box);
- Прошивка для Вашего роутера с OpenWrt либо DD-WRT;
- udpxy для проброски мультикаста за роутер;
- pshare для раздачи плейлистов UPnP плеерам.

Провайдер: У меня Butovo.com, они транслируют больше сотни каналов мультикастом в т.ч. и HD. Уверен с Корбиной и т.п. все еще лучше т.к. важной информации в Интернете о том как все настроить предостаточно.

Роутер: У меня D-Link DIR-320 с установленной DD-WRT. Второе что приходит в голову - Asus WL-500gP (v1/v2). Список поддерживаемого железа на сайтах OpenWrt и DD-WRT соответственно.

Плеер: Я использую Sony PlayStation3 и IconBit HDS4L.

Первым делом надо прошить роутер альтернативной прошивкой - DD-WRT либо OpenWrt.
После этого качаем, ставим и настраиваем на роутере udpxy (уже может быть в прошивке и включается галочкой в разделе Multicast). Перед этим нужно убедиться в том, что директория /opt существует и она не в ram-диске т.к. udpxy и pshare по умолчанию ставятся именно туда. Можно воспользоваться руководством по установке OptWare и тогда все будет как надо: www.dd-wrt.com/wiki/index.php/Optware

udpxy
подписывается на мультикаст потоки с телевидением по запросу и отдает их  клиентам в локальной сети юникастом по HTTP.
Как это настраивается на примере Butovo.com и D-Link DIR-320 читаем тут:  clark15b.livejournal.com/110936.html
Проверяем что все работает с компьютера и переходим к pshare (у нас должен быть подготовленный m3u плейлист с нашими каналами ТВ на udpxy).

pshare это легкий UPnP (DLNA) Медиасервер моего производства который разработан специально для того, что бы раздавать списки телевизионных каналов в локальной сети совместимым устройствам (среди которых и PlayStation3).
Тут все просто - качаем ipkg пакет для роутера, ставим и в /opt/share/pshare/playlists заливаем наш m3u плейлист с ТВ каналами. После этого запускаем программу не забывая указать интерфейс Вашей локальной сети, например './pshare -i br0'.
Если не указать интерфейс, то может получиться так, что Ваш роутер будет отдавать плейлист во внешнюю сеть :)
Первый раз желательно указать ключ '-v', тогда программа запустится в консоли и будет выдавать диагностику - очень полезно.
Потом можно поставить в автозагрузку как и udpxy.
Для этого в DD-WRT создаем стартовый скрипт /jffs/etc/config/iptv.wanup со следующим содержимым (пример):
/opt/bin/udpxy -a br0 -m vlan1 -p 4022 -M 30
/opt/bin/pshare -i br0

На этом все - запускаем PS3, идем в Видео и видим UPnP-IPTV среди медиасерверов.

Я смог посмотреть практически все каналы включая HDTV - PlayStation3 чудо!

Доп. информация:
clark15b.livejournal.com/117362.html
ps3muxer.org/pshare.html
clark15b.livejournal.com/110936.html

Видео:
 
 
 
clark15bclark15b on September 10th, 2011 09:45 pm (UTC)
xupnpd
Только что выложил предварительную версию наследника pshare.
Хомпейдж там же: http://ps3muxer.org/pshare.html

Пока сборка только для роутеров - mipsel и ar71xx (исходники в SVN):
http://tsdemuxer.googlecode.com/files/xupnpd-testing-1.tar.gz

Распаковать и запустить :) Должно появиться ТВ от Mozhay.tv

Если что не так - пишите, это пока не релиз!

PS3 показывает
HTC Desire показывает (UPnPlay)
WMP показывает (кучу времени убил, ну никак не хотело)
VLC показывает
WDTV Live тоже показывает (но с задержкой из-за большого буфера)
Телевизоры тоже должны показывать (есть положительный отзыв)

http://www.youtube.com/watch?v=_uFSHBfPzs8
http://www.youtube.com/watch?v=YomT03aNvro

Все настройки в xupnpd.lua:
playlist - список плейлистов
cfg.daemon - заставляет запускаться в фоновом режиме
cfg.embedded - запрещает писать логи
cfg.proxy - отвечает за проксирование потока (нудно для телевизоров... если включено, то плейлисты автоматом модифицируются и все ссылки ведут на xupnpd, а он добавляет дополнительные заголовки)
cfg.dlna_extras - разрешает выдачу расширенных заголовков DLNA (нужно для телеков)

Если плейлист мультикастовый (udp://@), то xupnpd автоматом перестраивает его и натравляет плеер на udpxy (cfg.udpxy_url) напрямую или через себя (cfg.proxy).

В плейлистах теперь допускается такая форма:
#EXTINF:0 logo=http://butovo.com/iptv/iskra_channels_files/perviy00.jpg type=mpeg dlna_extras=mpeg_ps_pal ,Эфирный: Первый
http://192.168.1.1:4022/udp/234.5.2.1:20000

logo - укл с логотипом, type - тип потока, dlna_extras - инфа о профиле DLNA (если указаться, то он будет передаваться несмотря на cfg.dlna_extras).

В xupnpd_mime.lua содержится справочник по типам контента и профилям DLNA... если что-то плееру не нравится, то можно править там.
type в плейлисте вибирает тип из таблицы mime, а dlna_extras из dlna_org_extras.

Если надо подкрутить HTTP заголовки при проксировании, то лезем в xupnpd_http.lua
(Anonymous) on September 12th, 2011 01:27 pm (UTC)
Re: xupnpd
Подскажите, пожалуйста, как установить Вашу программу на роутере TP-link wr1043nd (чипсет ar71xx)? Pshare, к сожалению, не смогла сладить с samsung le40c500, надеюсь, эта пойдёт. Спасибо заранее!
clark15bclark15b on September 12th, 2011 02:04 pm (UTC)
Re: xupnpd
1) берем это: http://tsdemuxer.googlecode.com/files/xupnpd-testing-2.tar.gz
2) записываем на роутер
3) tar zxf xupnpd-testing-2.tar.gz
4) копируем содержимое xupnpd/xupnpd-ar71xx куда больше нравится (на роутере)
5) запускаем xupnpd

С телеком должно заработать, в любом случае пишите как что.
(Anonymous) on September 12th, 2011 05:29 pm (UTC)
Re: xupnpd
Проблема в следующем: при запуске ничего не происходит, нету медия сервера, а сам процесс 100% использует ЦП. Конфиги настроил. Он как бы зависает при запуске, даже дебаг сообщения не выводит.
clark15bclark15b on September 13th, 2011 07:53 am (UTC)
Re: xupnpd
cfg.daemon=false
cfg.embedded=false
cfg.debug=1

и запустить.

Должен писать в консоль что происходит. Если все равно ничего не пишет то оно видимо не особо совместимо с железкой. Вы сборку под ar71xx запускаете?
А операционная система какая? У меня сборка под OpenWrt и DD-WRT, так же должно работать на Асусах с прошивкой от Олега.
(Anonymous) on September 13th, 2011 03:55 pm (UTC)
Re: xupnpd
Прошивка OpenWRT RC5 (тестил и на RC4), сборка под ar71xx. Дебаг пробовал включить, как вы сказали, но безрезультатно – ЦП 100% ест и процесс виснет. Правда в OpenWRT логах высвечивается вот это, когда запускаю:

FPU emulator disabled, make sure your toolchainwas compiled with software floating point support (soft-float).

Pshare на этом железке работала, вот только телек плейлисты не брал.
clark15bclark15b on September 14th, 2011 07:18 am (UTC)
Re: xupnpd
Оо, спасибо. Инфа оказалась полезной!
Попробую пересобрать toolchain с софтварной эмуляцией математического сопроцессора.
В xupnpd интегрирован Lua интерпретатор который умеет оперировать дробными числами, а проц похоже у Вас не умеет с плавающей точкой работать.
clark15bclark15b on September 14th, 2011 08:27 am (UTC)
Re: xupnpd
Пересоберу сегодня новым toolchain для ar71xx и все должно заработать. По крайней мере опция использования софтварной эмуляции FPU там есть.
(Anonymous) on September 14th, 2011 06:26 pm (UTC)
Re: xupnpd
Спасибо, теперь с testing-4 всё работает!!
Re: xupnpd - clark15b on September 15th, 2011 10:48 am (UTC) (Expand)
Re: xupnpd - clark15b on September 23rd, 2011 11:39 am (UTC) (Expand)
Александр ПрясловАлександр Пряслов on February 5th, 2012 01:21 pm (UTC)
глупый вопрос но как запустить xupnpd (п.5)
clark15bclark15b on February 7th, 2012 08:55 am (UTC)
Зайти на роутер ssh'ом, перейти в директорию с бинарником (команда 'cd') и запустить './xupnpd' ('./' обзательно). Вместо xupnpd должно быть название бинарника под соответствующую архитектуру.
Александр ПрясловАлександр Пряслов on February 7th, 2012 12:34 pm (UTC)
Все спасибо! Теперь все работает!)
patlatyipatlatyi on September 15th, 2011 07:28 pm (UTC)
Re: xupnpd
Доброго времени суток.
Очень интересует Ваша программа в контексте использования с WDTV. Роутер у меня программный, на Ubuntu server 11.04.
Попытался собрать из SVN. Сборка вываливается с такой ошибкой:
"mcast.cpp:6:23: fatal error: uuid/uuid.h: Нет такого файла или каталога
compilation terminated."
Благодарю за помощь.
patlatyipatlatyi on September 15th, 2011 07:48 pm (UTC)
Re: xupnpd
Уже разобрался: у меня не был установлен пакет uuid-dev.
Буду экспериментировать с программой.
clark15bclark15b on September 16th, 2011 07:26 am (UTC)
Re: xupnpd
Ага, все верно, я уже поздно увидел :)

В WDTV Live у меня работает, но этот плеер прежде чем начать показывать пытается загнать в буфер около минуты эфирного времени. Т.к. вещание в реалтайме это занимает минуту реального времени. С IconBit, например, таких проблем нет.

Если найдете решение как победить WDTV напишите пожалуйста.