?

Log in

No account? Create an account

Previous Entry | Next Entry

Сразу скажу - IPTV на Sony PlayStation 3 реально, при этом без компьютера!
Достаточно иметь подходящий роутер и прямые руки.
Первым шагом делаем это: clark15b.livejournal.com/110936.html
Вторым шагом качаем мой pshare и запускаем на том же роутере рядом с udpxy.

Кому интересны подробности читаем дальше...

История началась с того как решил я пробросить в домашнюю сеть сквозь D-Link DIR-320 мультикастовое TV от Butovo.com

В общем-то эффекта добился и теперь у меня на роутере крутится udpxy для подписки на мультикаст потоки провайдера и трансляции их внутри юникастом (HTTP) по требованию клиентов.
Остается подсунуть правильный плейлист плееру и вот тебе IPTV даже через WiFi и даже в HD.

Следующим шагом захотел я смотреть это дело не на компе, а на хардварном медиаплеере IconBit HDS4L.

К сожалению в официальной прошивке нет возможности подсунуть плейлист для просмотра потокового видео по сети, а альтернативная кривая и тормозная.

В общем самый естественный вариант - UPnP который есть в родной прошивке.

Задача: Парсить плейлисты и раздавать их по UPnP в качестве набора ссылок на юникастовые потоки udpxy.
Главное требование: Никакого транскодинга видео и все должно работать на роутере или насе (никаких компов).

Для эксперимента добавил линк в TVercity и попробовал посмотреть на PS3 - консоль ругнулась на тип файла и отказалась показывать. На этом я понял что PS3 мне TV не покажет :(
Ну хоть IconBit и ладно.

Начал экспериментировать с моим насом.
Родной Twonky вроде как умеет раздавать плейлисты, но только для радио и, похоже, что именно в виде файла, а не набора ссылок из плейлиста как надо.
Пробовал ushare - плейлисты знает, но раздает их как файлы и не понимает UTF-8.
MediaTomb должен уметь то, что надо, но вместе с Twonky жить отказался да и не легкий он.
Переходить с Twonky на MediaTomb не хочу т.к. первый, на мой взгляд, гораздо лучше.
Другого софта не нашел, только упоминания какого-то мода ushare - ushare_iptv для какой-то железки. Видимо он и должен уметь парсить плейлисты и отдавать по UPnP ссылки как набор медиафайлов.

Вообще похоже весь софт который в состоянии работать на роутерах и насах раздает плейлисты просто как файлы в надежде что клиент умеет с ними обращаться. В UPnP для m3u файлов даже и mime-тип есть: "audio/mpegurl" (ключевое слово audio).
Неужели есть клиенты которые это умеют?

Решил написать свой DLNA медиасервер с единственным сервисом ContentDirectory.
Интерфейс этого сервиса предназначен для навигации по библиотеке медиасервера, но он не обязан отдавать наружу ссылки на свой контент - это могут быть ссылки куда угодно (в нашем случае на udpxy).

Потратил неделю и вот оно чудо - моя штука заставила показывать IPTV через udpxy не только IconBit, но и Sony PlayStation3.
Причем не только каналы стандартной четкости, но и высокой четкости (HDTV).

В результате вчера ночью смотрел MCM TOP на PS3 :)

Программу назвал pshare, вот линк: ps3muxer.org/pshare.html

Стабильно работает на PC и на mipsel (D-Link DIR-320 с DD-WRT) .

Исходники (для DD-WRT/OpenWRT собирать так) и пакет для mipsel тут: code.google.com/p/tsdemuxer/downloads/list
SVN: 'svn co https://tsdemuxer.googlecode.com/svn/trunk/pshare'

С pshare нормально работают: PS3, IconBit, VideoLAN и Windows Media Player.

В общем на DIR-320 у меня крутится udpxy и pshare, Бутово.Ком раздает мультикастом ТВ каналы (в т.ч. и HD), смотрю все это на PS3 и IconBit.
При этом PS3 показывает все, показывает очень хорошо и не глючит.

IconBit странно сортирует плейлист и долго тупит в начале - картинка есть, а звука секунд 5 нет.

Как ни странно PS3 опять лучше :)

Теперь смотрю и в комнате и на кухне с наса HD кино, а с роутера ТВ - высокие технологи :))))
И главное ничего не шумит и не греется, а роутер у меня работает всегда и готов раздавать ТВ.



(просмотр IPTV на Sony PlayStation 3 без компьютера и транскодирования)

Comments

clark15b
Sep. 10th, 2011 09:44 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
Stanislav Timinskiy
Sep. 11th, 2011 08:10 am (UTC)
Re: xupnpd
Автору респект! Проверил на SAMSUNG UE40D5000PW + Asus WL500GP v2. Работает. Единственный момент. Нужно поправить код так, чтобы в udpxy GET запрос уходил в виде 'GET /udp', т.к. udpxy ищет в запросе 'GET /'. Есть workaround - в параметре cfg.udpxy_url в конце поставить '/'.
dimovey
Sep. 11th, 2011 08:50 am (UTC)
Re: xupnpd
вы какой прокси в итоге использовали- udpxy запущенный на роутере или новый? У меня не идет воспроизведение видео. Плейлист виден на ТВ филипс и на компе, но воспроизведение не идет, на ТВ явных ошибок не пишет, просто шагает канал за каналом и все.
clark15b
Sep. 12th, 2011 10:45 am (UTC)
Re: xupnpd
Ооо, спасибо!
Залечу сегодня и выложу обновление.
dima
Sep. 12th, 2011 11:21 am (UTC)
Re: xupnpd
кстати, у меня по видимому тоже такая же проблема
clark15b
Sep. 12th, 2011 01:49 pm (UTC)
Re: xupnpd
dima
Sep. 12th, 2011 02:12 pm (UTC)
Re: xupnpd
сейчас проверю

подскажи только какого вида должен быть плейлист, и у меня потом с расширением .mpg а не .mpeg это имеет какое-то значение или нет?

'udpxy' url for multicast playlists (udp://@...)
cfg.udpxy_url='http://192.168.1.1:4022' я так понимаю здесь я должен изменить на свой порт udpxy?
dima
Sep. 12th, 2011 02:13 pm (UTC)
Re: xupnpd
*поток
dima
Sep. 12th, 2011 02:33 pm (UTC)
Re: xupnpd
работает вухууу!!!
телек samsung le40c550

спасибо тебе огромнейшее!!!

dima
Sep. 12th, 2011 02:57 pm (UTC)
Re: xupnpd
правда многие каналы обрываются, особенно HD
может в настройках что-то покрутить?
clark15b
Sep. 12th, 2011 03:12 pm (UTC)
Re: xupnpd
А с компа через udpxy нормально (без xupnpd)?

Тут либо udpxy тупит (может буффера или таймауты маленькие).
У меня так запущено и вроде ничего (тоже кстати по умолчанию фигово работало): /jffs/bin/udpxy -a br0 -m vlan1 -p 4022 -M 30

У меня в xupnpd таймаут 15 секунд... т.е. если в течение 15 секунд ничего от провайдера (udpxy) не приходит - рву соединение.
dima
Sep. 12th, 2011 03:23 pm (UTC)
Re: xupnpd
не знаю даже, сонька не тупит, а вот телек заикается, хотя если эти же каналы записать и с флешки запустить то не глючит...
может телеку кеша не хватает...?
Re: xupnpd - clark15b - Sep. 12th, 2011 03:28 pm (UTC) - Expand
Re: xupnpd - dima - Sep. 12th, 2011 04:21 pm (UTC) - Expand
Re: xupnpd - clark15b - Sep. 13th, 2011 07:50 am (UTC) - Expand
Re: xupnpd - dima - Sep. 13th, 2011 07:12 am (UTC) - Expand
Re: xupnpd - clark15b - Sep. 13th, 2011 08:16 am (UTC) - Expand
Re: xupnpd - dima - Sep. 13th, 2011 02:14 pm (UTC) - Expand
Re: xupnpd - dima - Sep. 13th, 2011 04:40 pm (UTC) - Expand
Stanislav Timinskiy
Sep. 12th, 2011 07:43 pm (UTC)
Re: xupnpd
А этот таймаут уже был в версии 1? Можно вынести его на уровень конфига, чтобы можно было менять? Samsung ребутится если после выбора канала по коннекшену данных нет (ну или когда xupnpd рвёт соединение. пока не понял). У моего провайдера периодически некоторые каналы отваливаются.
Re: xupnpd - clark15b - Sep. 13th, 2011 08:05 am (UTC) - Expand
clark15b
Sep. 12th, 2011 03:08 pm (UTC)
Re: xupnpd
Ураааа! :)
clark15b
Sep. 12th, 2011 01:58 pm (UTC)
Re: xupnpd
Пофиксил, обновление - http://tsdemuxer.googlecode.com/files/xupnpd-testing-2.tar.gz