Достаточно иметь подходящий роутер и прямые руки.
Первым шагом делаем это: 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/li
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 без компьютера и транскодирования)
← Ctrl ← Alt
Ctrl → Alt →
pshare
January 6 2011, 06:32:47 UTC 10 years ago
Re: pshare
January 11 2011, 08:13:59 UTC 10 years ago
Вы с торрентами в этот момент не балуетесь? Даже маленькая нагрузка заставляет роутер отдавать IPTV с перебоями.
То, что долго буферизирует это нормально... он хочет закачать себе сразу много но не может т.к. вещание в реалтайме а он думает что это файлик который тащится по http. У меня WMP так же работает.
То, что телек умирает... ну что тут сказать... получил он такой поток от провайдера что крыша поехала, ничего не поделаешь, не повезло. Зависит от провайдера.
С HDTV аналогично... у меня поток в MPEG-PS, видео x.264 - PS3 и IconBit показывают... WMP вроде тоже.
У меня наиболее стабильно ведет себя PS3 и Iconbit. Последний иногда заикается, а PS3 показывает идеально.
DLNA TV
January 14 2011, 14:55:53 UTC 10 years ago
Знающие люди говорят, что скорее всего заработает, если добавить http-заголовки. По крайней мере с дополнительной python'овской проксей, которая это делает - работает. Но она буфферизует файл на диск, и роутер загибается. Вы бы не могли у себя это реализовать?
Re: DLNA TV
January 14 2011, 15:08:13 UTC 10 years ago
На всякий случай, не могли бы Вы дать линки на питоновскую проксю или просто кусок кода где видны заголовки?
Re: DLNA TV
10 years ago
Re: DLNA TV
10 years ago
April 7 2011, 06:22:43 UTC 10 years ago
April 7 2011, 07:09:19 UTC 10 years ago
Может сами попробуете?
Вот тут рецепт для сборки инструментария: 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 больше подходит, может соберу.
April 7 2011, 10:27:21 UTC 10 years ago
Если конечно не очень обременительно, прошу собрать под AR71xx.
April 7 2011, 11:35:47 UTC 10 years ago
http://tsdemuxer.googlecode.com/files/pshare_0.0.2rc2_mips.ipk
Если пакет не встанет можно попробовать просто достать оттуда бинарник и запустить.
В общем сборка под то, что заказывали.
9 years ago
9 years ago
9 years ago
April 8 2011, 05:41:15 UTC 10 years ago
1. как запихнуть в автозагрузку?
2. ссылки на потоки вида http://xxx.xxx.xxx.xxx:8041, нужно ли использовать udproxy?
На PS3 поток воспроизводится, но через 2-3 секунды встаёт на паузу..
April 8 2011, 07:20:45 UTC 10 years ago
Насчет автозагрузки.... в 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.
10 years ago
Завёл pShare на TP-LINK TL-WR1043ND (OpenWRT BackFire 10.03 RC4)
April 9 2011, 13:11:23 UTC 10 years ago
код:
#!/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"... ;)
Re: Завёл pShare на TP-LINK TL-WR1043ND (OpenWRT BackFire 10.03 RC4)
April 11 2011, 07:27:46 UTC 10 years ago
Очень рад!
Насчет Donate - делал из жажды познания т.е. для собственного удовольствия :) А если от этого еще кому-то хорошо, то удовольствия еще больше.
Вот только с боксом никак дружить не хочет, ну и ладно :)
Re: Завёл pShare на TP-LINK TL-WR1043ND (OpenWRT BackFire 10.03 RC4)
9 years ago
Re: Завёл pShare на TP-LINK TL-WR1043ND (OpenWRT BackFire 10.03 RC4)
9 years ago
Re: Завёл pShare на TP-LINK TL-WR1043ND (OpenWRT BackFire 10.03 RC4)
9 years ago
Re: Завёл pShare на TP-LINK TL-WR1043ND (OpenWRT BackFire 10.03 RC4)
9 years ago
April 27 2011, 16:11:03 UTC 9 years ago
April 28 2011, 07:49:38 UTC 9 years ago
Настройка udpxy тема отдельная и не простая (мой опыт http://clark15b.livejournal.com/110936.html).
Прости, подробнее не могу, времени нет.
pShare
9 years ago
Re: pShare
9 years ago
Re: pShare
9 years ago
Re: pShare
9 years ago
Re: pShare
9 years ago
Re: pShare
9 years ago
Re: pShare
9 years ago
June 9 2011, 06:24:12 UTC 9 years ago
У меня уже виндос медиа плеер конектится к медиа плееру на роутере и воспроизодит. а вот цель так и недостигнута. 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
всё равно не пашет...
June 9 2011, 11:37:44 UTC 9 years ago
Возможно PS3 начнет показывать.
iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
Re: iptv
9 years ago
September 3 2011, 07:26:58 UTC 9 years ago
September 3 2011, 08:15:32 UTC 9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
September 6 2011, 20:42:36 UTC 9 years ago
September 7 2011, 08:53:10 UTC 9 years ago
Новая версия в процессе и я уже близок. Функционал прокси будет встроенным. Но основная фишка не в этом... программа будет очень гибкой в плане настроек и расширяемой за счет использования lua скриптования. Можно будет, например, по расписанию загружать плейлисты снаружи. Или вообще превратить ее в полноценный медиасервер для раздачи локального контента. Или отключить подсистему UPnP и использовать программу как lua фрейморк для написания web сервивов :)
Главное что бы на роутерах нормально шуршала и память не жрала.
Если не затруднит, прошу выслать мылом модифицированный питоновский скрипт (clark15b собака gmail.com).
xupnpd
September 10 2011, 21:44:56 UTC 9 years ago
Хомпейдж там же: 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
Re: xupnpd
September 11 2011, 08:10:24 UTC 9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
September 12 2011, 14:01:39 UTC 9 years ago
- багфикс с урлом при использовании udpxy
- немного оптимизации
- возможность раздачи локальных файлов (т.е. работает как обычный медиасервер).
Для раздачи локального контента в таблицу playlist (xupnpd.lua) надо добавить директории содержимое которых надо раздавать.
Например, "{ './localmedia', 'Local Media Files' }" приведет к появлению еще одной папки 'Local Media Files' содержащий все внутренние файлы. Тип и профиль DLNA определяется по расширению (по умолчанию 'mpeg'), поддиректории игнорируются (обязательно перечислять в таблице).
После добавления новых файлов необходимо перечитать плейлисты.
Для этого либо посылаем SIGUSR1 процессу xupnpd либо дергаем броузером http://192.168.1.1:4044/reload (где 192.168.1.1 адрес хоста с xupnpd).
UDP прокси
September 12 2011, 16:18:07 UTC 9 years ago
Re: UDP прокси
9 years ago
Re: UDP прокси
9 years ago
September 13 2011, 14:52:27 UTC 9 years ago
- добавилась опция cfg.http_timeout, задает максимально допустимое время отсутствия сетевой активности в секундах.
- Экспериментальная cfg.accept_ranges заставляет программу выдавать длину файла и реагировать на Range заголовки при раздаче локального контента. С длинными файлами возможны проблемы, поэтому лучше не включать. Но при включении возможно PS3 будет показывать превьюшки на таймлайне.
- Экспериментальная cfg.fix_dlna_org_op меняет DLNA.ORG_OP=00 на DLNA.ORG_OP=11 при раздаче локального контента (возможно заработает перемотка).
September 13 2011, 20:02:42 UTC 9 years ago
September 14 2011, 19:46:42 UTC 9 years ago
9 years ago
9 years ago
9 years ago
September 17 2011, 08:15:39 UTC 9 years ago
Пробовал на TP-LINK TL-WR1043ND чёт не получилось
root@OpenWrt:/opt/share/xupnpd-ar71xx# ls
playlists xupnpd.lua xupnpd_main.lua xupnpd_ssdp.lua
www xupnpd_http.lua xupnpd_mime.lua
xupnpd xupnpd_m3u.lua xupnpd_soap.lua
root@OpenWrt:/opt/share/xupnpd-ar71xx# xupnpd
-ash: xupnpd: not found
root@OpenWrt:/opt/share/xupnpd-ar71xx#
September 20 2011, 08:01:37 UTC 9 years ago
xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
Re: xupnpd
9 years ago
← Ctrl ← Alt
Ctrl → Alt →