shocker: (Default)
[personal profile] shocker
Сразу скажу - 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 без компьютера и транскодирования)

Date: 2010-10-20 19:57 (UTC)
From: [identity profile] designinfo-ru.livejournal.com
Круто, что тут ещё сказать!

pshare

Date: 2011-01-06 06:32 (UTC)
From: [identity profile] reddish killer (from livejournal.com)
Круто конечно, но как-то не заработало у меня (((. уже год искал софтину для роутера, чтоб iptv смотреть на телеке через свой lg bd570. Он сервак то сразу увидел. Плейлист появился, но при воспроизведении падает в даун с выключением. А на компе в wmp вообще интересно: при нажатии просмотра дооолго так буферизация идет по проценту в сек. А если повторно нажать плей (которая отображается как-бы не нажатой) то сразу влет канал показывает. Через некоторое время начинает писать, что не может воспроизвести файл. HD каналы не заработали. На VLC тот же плейлист влет переключает. Хотя может это и у меня криво как-то ))). Роутер Asus WL500gPV2. Проша от Олега. udpxy штатно в проше поднят. крутятся Transmition, Twonky, Samba, ftp. Удачи в наработках и с наступающим Рождеством.

Re: pshare

Date: 2011-01-11 08:13 (UTC)
From: [identity profile] clark15b.livejournal.com
Проблема с невозможностью воспроизведения файла и переключением каналов в VLC кроется исключительно в udpxy т.к. трафик проксирует он. Попробуйте поиграться с настройками буферов udpxy и т.п. Когда что-то не так, он рвет TCP соединение с клиентом и тот считает что поток кончился.
Вы с торрентами в этот момент не балуетесь? Даже маленькая нагрузка заставляет роутер отдавать IPTV с перебоями.

То, что долго буферизирует это нормально... он хочет закачать себе сразу много но не может т.к. вещание в реалтайме а он думает что это файлик который тащится по http. У меня WMP так же работает.

То, что телек умирает... ну что тут сказать... получил он такой поток от провайдера что крыша поехала, ничего не поделаешь, не повезло. Зависит от провайдера.
С HDTV аналогично... у меня поток в MPEG-PS, видео x.264 - PS3 и IconBit показывают... WMP вроде тоже.

У меня наиболее стабильно ведет себя PS3 и Iconbit. Последний иногда заикается, а PS3 показывает идеально.

DLNA TV

Date: 2011-01-14 14:55 (UTC)
From: [identity profile] mikekv.livejournal.com
Настоил Ваш сервер в надежде, что с помощью роутера смогу смотреть IPTV на телевизоре Samsung 40c550 с DLNA клиентом пез компа. Не получилось.
Знающие люди говорят, что скорее всего заработает, если добавить http-заголовки. По крайней мере с дополнительной python'овской проксей, которая это делает - работает. Но она буфферизует файл на диск, и роутер загибается. Вы бы не могли у себя это реализовать?

Re: DLNA TV

Date: 2011-01-14 15:08 (UTC)
From: [identity profile] clark15b.livejournal.com
Я понимаю о чем речь и в планах это есть. Я собираюсь интегрировать функционал udpxy для проксирования мультикаста. В этом случае у меня появится возможность выдавать дополнительные заголовки в самом потоке а не только матаданные через UPnP.
На всякий случай, не могли бы Вы дать линки на питоновскую проксю или просто кусок кода где видны заголовки?

Re: DLNA TV

Date: 2011-01-14 15:33 (UTC)
From: [identity profile] mikekv.livejournal.com
Вот этой проксей я пользовался:
http://forum.ixbt.com/topic.cgi?id=62:18167:4404#4404

Re: DLNA TV

Date: 2011-01-14 15:44 (UTC)
From: [identity profile] clark15b.livejournal.com
Понял, спасибо, именно это и собирался делать.

Date: 2011-04-07 06:22 (UTC)
From: [identity profile] ilya (from livejournal.com)
Всем привет! Хотел было поставить эту прогу на TP-LINK TL-WR1043ND, да не получилось. Видимо из-за того что процы разные (у "тапка" - Atheros). Может ли уважаемый clark15b скомпилить свою прогу под Atheros?

Date: 2011-04-07 07:09 (UTC)
From: [identity profile] clark15b.livejournal.com
Если честно, не хочется портить окружение для сборки. К тому же не факт что сходу заведется, а проверить мне не на чем.

Может сами попробуете?

Вот тут рецепт для сборки инструментария: http://clark15b.livejournal.com/116979.html

Там есть два Atheros (я собирал под Broadcom BCM947xx/953xx [2.4]):
Atheros 231x/5312 [2.6]
Atheros AR71xx [2.6]

Тут исходники проги: http://tsdemuxer.googlecode.com/files/pshare_0.0.2rc2_src.tar.gz

Ну или хотя бы скажите какой из Atheros больше подходит, может соберу.

Date: 2011-04-07 10:27 (UTC)
From: [identity profile] ilya (from livejournal.com)
Эээх, если бы я был гуру в Линухах, то собрал бы (по крайней мере попытался бы...., но увы...) :(

Если конечно не очень обременительно, прошу собрать под AR71xx.

Date: 2011-04-07 11:35 (UTC)
From: [identity profile] clark15b.livejournal.com
Попробуйте это:

http://tsdemuxer.googlecode.com/files/pshare_0.0.2rc2_mips.ipk

Если пакет не встанет можно попробовать просто достать оттуда бинарник и запустить.

В общем сборка под то, что заказывали.

Date: 2011-04-25 11:46 (UTC)
From: [identity profile] clark15b.livejournal.com
Вот новый линк на пакет под AR71XX, должно ставиться через ipkg без вопросов:

http://tsdemuxer.googlecode.com/files/pshare_0.0.2rc2_ar71xx.ipk

Date: 2011-05-29 09:23 (UTC)
From: [identity profile] victor gladkikh (from livejournal.com)
А под AR7241 заведеться? DLINK-615

Date: 2011-05-30 07:48 (UTC)
From: [identity profile] clark15b.livejournal.com
Да ктож его знает :)

Date: 2011-04-08 05:41 (UTC)
From: [identity profile] ilya (from livejournal.com)
После недолгих ковыряний, запустил бинарник (инсталлер ругнулся на архитектуру и ставиться не захотел), все заработало, осталось несколько вопросов:
1. как запихнуть в автозагрузку?
2. ссылки на потоки вида http://xxx.xxx.xxx.xxx:8041, нужно ли использовать udproxy?

На PS3 поток воспроизводится, но через 2-3 секунды встаёт на паузу..

Date: 2011-04-08 07:20 (UTC)
From: [identity profile] clark15b.livejournal.com
По поводу пакета не был уверен т.к. не знаю какую архитектуру указывать. Написал mips (т.к. сборка была под mips) - не угадал :) Мне бы где-нить посмотреть на содержимое рабочих пакетов для этой железяки. В частности интересует что прописано в качестве Architecture в control файле пакета.

Насчет автозагрузки.... в dd-wrt я делал так: в /jffs (должна быть примонтированна jffs партиция) создаем /jffs/etc/config. Там создаем стартовый скрипт, например, pshare.wanup (wanup срабатывает после того как поднимется внешний сетевой интерфейс - то, что нам надо).
Все что внутри файла выполнится в нужный момент.

Если потоки уже http, то udpxy не нужен. Он нужен только для мультикаста (урлы вида 'udp://@xxx.xxx.xxx.xxx:yyyy').

Если встает на паузу, через udpxy похоже маршрутов каких-то не хватает либо сетевым экраном на роутере что-то фильтруется. Я где-то на форумах в свое время читал, такой симптом значит что нет маршрута до IGMP роутера либо IGMP трафик до него фильтруется.
В итоге работает пару минут и трансляция завершается т.к. IGMP роутер поставщика услуг не получил от тебя подтверждения что ты все еще в мультикаст группе (считают что ты отвалился).

Почитай у меня как я боролся: http://clark15b.livejournal.com/110936.html

Еще можно поиграться с настройками таймаутов и размера буферов в udpxy.

Date: 2011-04-08 07:23 (UTC)
From: [identity profile] clark15b.livejournal.com
P/S

Попробуй для начала firewall отключить.

Если перестанет на паузу вставать, тогда уже с правилами для пакетного фильтра ковыряйся (либо оставь как есть :) )
From: [identity profile] ilya (from livejournal.com)
Всё заработало! Создал скрипт автозагрузки в /etc/init.d/pshare,
код:
#!/bin/sh /etc/rc.common
START=99

start() {
/usr/sbin/pshare -n IPTV -i 192.168.22.21 /pshare/playlist/DOM.RU.m3u -r /pshare/www -e
}

stop() {
killall -9 pshare
}

Далее из консоли:
chmod +x /usr/sbin/pshare
chmod +x /etc/init.d/pshare
/etc/init.d/pshare enable (добавляем в автозагрузку)
/etc/init.d/pshare start

Чтобы все работало нормально использовал параметр -e - DLNA protocolInfo extend (DLNA profiles), без него стримился только первый канал из плейлиста, остальные вставали на паузу.

Спасибо дружище за помощь! Можно конечно сделать нормальный инсталлер под Atheros. Девайсов много на нём, достаточно неплохих... Это на твоё усмотрение... :)
Жаль что нет кнопки "Donate"... ;)
From: [identity profile] clark15b.livejournal.com
Ооо, поздравляю, ты крут что победил!

Очень рад!

Насчет Donate - делал из жажды познания т.е. для собственного удовольствия :) А если от этого еще кому-то хорошо, то удовольствия еще больше.
Вот только с боксом никак дружить не хочет, ну и ладно :)
From: [identity profile] miw4ka (from livejournal.com)
Так как ты её установил? Можешь по подробней hfccrfpfnm на iwyk@mail.ru
From: [identity profile] ilya (from livejournal.com)
Приветы всем! Вот моё видение пакета под AR71xx.
http://depositfiles.com/ru/files/a2ajohbcb
копирайты не нарушал!:))
Плейлист и иконки каналов в пакете (собирал под себя)

Date: 2011-04-27 16:11 (UTC)
From: [identity profile] Дима Кучеренко (from livejournal.com)
А мог бы ты выложить какой-то мануал для доходяг типа меня?) Вот у меня д-линк дир-300, я качнул всё что у тебя в первом посте написано, а чё с ним делать и куда пихать, и как пихать - не понятно, много непонятного... Помоги плииз, хочется так айпитиви на соньке без всяких ноутов.

Date: 2011-04-28 07:49 (UTC)
From: [identity profile] clark15b.livejournal.com
Ставим пакет командой ipkg, подготавливаем плейлист и запускаем как написано тут: http://ps3muxer.org/pshare.html

Настройка udpxy тема отдельная и не простая (мой опыт http://clark15b.livejournal.com/110936.html).

Прости, подробнее не могу, времени нет.

pShare

Date: 2011-06-09 07:46 (UTC)
From: [identity profile] Илья Ваганов (from livejournal.com)
Приветствую всех! Может ли уважаемый Clark15b собрать эту прогу под FreeBSD? Сам не соберу, не программер...

Re: pShare

Date: 2011-06-09 11:35 (UTC)
From: [identity profile] clark15b.livejournal.com
А там и собирать не чего:

1) берем исходники: http://tsdemuxer.googlecode.com/files/pshare_0.0.2rc2_src.tar.gz
2) tar zxf pshare_0.0.2rc2_src.tar.gz
3) cd src
4) make

Если не соберется пишите что выдало.

У меня фрюхи нет под рукой, поэтому не могу попробовать.

Re: pShare

Date: 2011-06-16 10:01 (UTC)
From: [identity profile] Илья Ваганов (from livejournal.com)
вот такая ошибка при сборке:
gcc -fno-exceptions -fno-rtti -O2 -DWITH_LIBUUID -o pshare main.cpp upnp.cpp soap.cpp tmpl.cpp mem.cpp proxy.cpp common.cpp -luuid
main.cpp:3: getopt.h: No such file or directory
upnp.cpp:6: uuid/uuid.h: No such file or directory

Re: pShare

Date: 2011-06-16 10:12 (UTC)
From: [identity profile] clark15b.livejournal.com
Поищи есть ли на машине файлы getopt.h и uuid.h

Если есть укажи соответствующие пути gcс ключами '-I', например '-I/usr/local/include' (в Makefile).

Если нет, то надо искать в какие пакеты/порты оно входит и ставить.
getopt.h вообще с libc должен идти, а uuid.h с библиотекой libuuid (на Дебиане пакет uuid-dev)

Re: pShare

Date: 2011-06-17 07:19 (UTC)
From: [identity profile] Илья Ваганов (from livejournal.com)
теперь вот так...:
FREEBSD# make
gcc -I/usr/include -fno-exceptions -fno-rtti -O2 -DWITH_LIBUUID -o pshare main.cpp upnp.cpp soap.cpp tmpl.cpp mem.cpp proxy.cpp common.cpp -luuid
upnp.cpp: In function 'void upnp::uuid_gen(char*)':
upnp.cpp:34: error: 'uuid_generate' was not declared in this scope
upnp.cpp:36: error: 'uuid_unparse_lower' was not declared in this scope
upnp.cpp: In function 'int upnp::get_if_info(const char*, upnp::if_info*)':
upnp.cpp:73: error: 'struct ifreq' has no member named 'ifr_ifrn'
upnp.cpp: In function 'int upnp::get_if_list(upnp::if_info*, int)':
upnp.cpp:132: error: 'struct ifreq' has no member named 'ifr_ifrn'
*** Error code 1

Stop in /tmp/src.

Re: pShare

Date: 2011-06-17 07:21 (UTC)
From: [identity profile] clark15b.livejournal.com
Ясно, тогда делаем проще... в Makefile ищем '-DWITH_LIBUUID' '-luuid' и стираем.

Re: pShare

Date: 2011-06-17 08:21 (UTC)
From: [identity profile] Илья Ваганов (from livejournal.com)
gcc -I/usr/include -fno-exceptions -fno-rtti -O2 -o pshare main.cpp upnp.cpp soap.cpp tmpl.cpp mem.cpp proxy.cpp common.cpp
upnp.cpp: In function 'int upnp::get_if_info(const char*, upnp::if_info*)':
upnp.cpp:73: error: 'struct ifreq' has no member named 'ifr_ifrn'
upnp.cpp: In function 'int upnp::get_if_list(upnp::if_info*, int)':
upnp.cpp:132: error: 'struct ifreq' has no member named 'ifr_ifrn'
*** Error code 1

Date: 2011-06-09 06:24 (UTC)
From: [identity profile] ahimgeon.livejournal.com
Хадумка очеь хорошая) но реализовать у себя уже неделю не могу..
У меня уже виндос медиа плеер конектится к медиа плееру на роутере и воспроизодит. а вот цель так и недостигнута. PS3 пишет то ошибку сети 00000 то файл повреждён.... уже не знаю что делать
Может здесь что-то не впорядке?
ifconfig vlan2 235.10.10.1 netmask 255.255.255.0 broadcast 235.10.10.255
cd /opt
chmod +x udpxy
/opt/udpxy -a 192.168.4.1 -p 4022 -m 192.168.1.101 -B 256Kb -M 0
cd /opt/bin
chmod +x pshare
/opt/bin/pshare -i 192.168.4.1
Может у меня на компе прописаны пути какие-то, по этому работает? хотя когда включаю каналы на плойке в udpxy в статусе появляется клиент. но не надолго.

Плей лист уже воообще обрезал
http://192.168.4.1:4022/udp/235.10.10.34/strem.mpeg2
http://192.168.4.1:4022/udp/235.10.10.31:1234
http://192.168.4.1:4022/udp/235.10.10.37:1234
http://192.168.4.1:4022/udp/235.10.10.63:1234
http://192.168.4.1:4022/udp/235.10.10.12:1234
http://192.168.4.1:4022/udp/235.10.10.43:1234
http://192.168.4.1:4022/udp/235.10.10.56:1234

всё равно не пашет...

Date: 2011-06-09 11:37 (UTC)
From: [identity profile] clark15b.livejournal.com
Попробуйте запустить pshare с параметром '-e'.
Возможно PS3 начнет показывать.

Profile

shocker: (Default)
shocker

December 2019

S M T W T F S
1234567
891011121314
15161718 192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 9 Jan 2026 15:09
Powered by Dreamwidth Studios