Pull to refresh

Comments 65

Извините, но ничего нового. О udpxy уже писалось много раз.
Если действительно много раз, дайте ссылку. Когда я первый раз настраивал udpxy пришлось потратить несколько часов на изучение вики OpenWrt и подобных материалов.
В любом случае теперь у меня есть небольшой мануал, по которому сделать это можно намного быстрее.
Вам повезло. Мне года два назад пришлось еще узнавать все диапазоны адресов, с которых вещаются каналы и прочая техническая информация при помощи tcpdump и прописывать под них статические маршруты, т.к. интернет через pppoe
К сожалению ни в одним из этих топиков не указаны ВСЕ необходимые действия для настройки IPTV, зачастую все ограничено стартовым скриптом, и даже не указано как настроить фаервол. Да и стартовые скрипты там реализованы не самым лучшим образом.
Вы меня конечно снова простите, но вроде habr это не howtoforge.
Принцип работы и все необходимые команды были много раз описаны. А Openwrt, dd-wrt, linux box — уже не важно, меняется только интерфейс на котором слушать, как установить пакет и т.д.
Я к тому что если каждый человек будет писать о настройки на свое_дистрибутиве — мы с вами все дружно охренеем. Потому что как раз пакетным менеджером, настойкой firewall и стартовыми скриптами они будут отличаться.
В начале топика я сразу указал, что эта процедура весьма проста, тем не менее, если бы я в свое время нашел подобный топик, я бы сэкономил пару бессонных ночей. Думаю этого вполне достаточно, что бы расписать все в подробностях. Часто новичкам не хватает простого конкретного примера с соответствующими комментариями.
Да и для этого существует многочисленные форумы и, о боже, wiki.openwrt.org/doc/howto/udp_multicast

Так может проясните: Вы убили пару бессонных ночей на то чтобы сделать opkg install udpxy? Ибо остальное описано на сайте openwrt и выдается первым в гугле по запросу openwrt udpxy howto.
P.S Прежде чем меня минусовать — ознакомьтесь с правилами данного сайта, разде про копипаст.
Во-первых, я вас не минусую.
Во-вторых, может перестанете говорить загадками? Что именно в моем топике не соответствует правилам данного сайта?
Перестаньте отвечать на мои вопросы своими. 1й пункт правил — копипаст с других сайтов.
Что уникального и нового в Вашей статье по сравнению wiki.openwrt? Вы можете пояснить на что Вы убили апру бессоных ночей?
Да и мне помогло. Спасибо огромное!
А почему для просмотра IPTV вообще нужны какие-то особые настройки?
Я не слишком хорошо разбираюсь в вопросе, но сейчас у меня бюджетный Trendnet, до этого был опять-таки бюджетный Asus и на дефолтных прошивках все работало без дополнительных движений.
Мне стало интересно, что я упускаю?
Думаю вся разница в наличии/отсутствии udpxy, преобразующая трафик udp->http
Тёплое с мягким не путать. UDP -> TCP.
а зачем это нужно? vlc прекрасно умеет играть и rtp и мультикасты и вообще.
потому что вы можете сидеть за роутером, который не пропускает мультикаст и на своем VLC вы получите болт с правой резьбой.
openwrt разве не позволяет настроить мультикасты?
не имею компетенции в данном вопросе.
Можно с помощью igmp-proxy. Но с таким вариантом есть траблы с вайфай. Как минимум на ddwrt так было, но насколько помню, это связано не с прошивкой, а с устройством multicast
хм. ну да, верно. По крайней мере на заводской прошивке многие девайсы через вайфай не тянули. И в любом случае нужен 802.11n для этого
На банальном копеечном D-Link DIR-320 в прошивке Tomato можно установить ограничение на мультикаст по WiFi и тогда он не будет его забивать. Собственно, на любых Tomato должно быть так…
да, и под ddwrt и openwrt есть разные способы не забивать wi-fi, или вообще стримать только на необходимый ethernet порт. Но у меня htpc подключён к сети по wi-fi. Да и вообще мало ли возникает необходимость смотреть IPTV по wi-fi. udpxy прекрасно решает эту проблему, можно спокойно смотреть по буку и htpc одновременно.
Гм. Так может быть не нужно искать костыли, а настроить роутер, чтобы он нормально работал с мультикастом? Зачем вам вообще OpenWRT, если не секрет и чем стандартная прошивка (которая, судя по всему, IGMP proxy умеет вполне) не устраивает? И, опять-таки, если все же не устраивает, но почему ставили именно OpenWRT, а не ту, которая нормально работает с мультикастом? DD-WRT небось встанет. Да и судя по Гуглу сборки Tomato имеются…
многие роутеры даже при активации IGMP не дают нормального качества, изображение рассыпается.

Например мой роутер DI-524 (его нельзя прошить ни DD-WRT, ни OpenWRT), в нем есть настройка для IGMP, но она ничем не спасает. То есть часть пакетов просто теряется и картинка плывет.

Но это чисто мой пример из жизни.
Вы извините, но вы как-то все в кучу сваливаете. :-) На вашем di-524 нельзя сменить прошивку (еще бы! На таких скудных ресурсах только пропиетарные специализированные системы могут работать! Линуксу слабо… Не помню правда сходу, что именно конкретно на di-524 стоит...), а значит у вас и выбора нет — тот же udp proxy вы поставить все равно не сможете. :-)
А у автора выбор есть. При этом нигде в статье не говорится (возможно, я плохо смотрел?), что ему надо передавать IPTV по WiFi. Если надо, то действительно, udp proxy хоть как-то оправдан (хотя, например, на IPTV приставку через него все равно ничего не заведешь), но если не надо — то это реально конкретные костыли.
По поводу tomato vs dd-wrt vs OpenWrt — на мое устройство OpenWrt это единственный стабильный вариант.
А чем именно Томато не понравилась? Я сколько все эти прошивки смотрел — с точки зрения адекватности работы (а не предоставления пользователю возможности «поковыряться») именно Томато больше всех понравилась. Все эти *WRT — монстры какие-то страшные-ужасные…
Для моего устройства tomato есть только в альфе на данный момент. Да и с *WRT монстрами я раньше имел дело на других роутерах.
Действительно, прошивку сменить нельзя, памяти там мало.

Роутеры в основном покупать ради модуля Wi-Fi, ради мобильности, плюс сегодня много поэтому конечно я думаю именно поэтому речь именно об IPTV over Wi-Fi.
Потому что на 802.11g мультикаст не очень подходит.
1) Вы бы об этом в статье все-таки написали почетче и по конкретней. Из серии: «Мне нужно смотреть IPTV через WiFi, картинка рассыпалась на „квадраты“, поэтому я решил настроить udp-proxy и вот мой рассказ об этом.» :-) Потому что, как я уже сказал, это все-таки костыли и не айс…

2) Из характеристик вашего роутера на Яндекс.Маркете:
«Стандарт беспроводной связи — 802.11n, частота 2.4 / 5 ГГц, возможность одновременной работы
Макс. скорость беспроводного соединения — 300 Мбит/с»
:-)
Да, я понимаю, что судя по всему у вашего ноутбука только 802.11g, но USB-адаптеры 802.11n стоят где-то в районе 600-700 рублей. И не нужны были бы все эти телодвижения и сложности, а также не потребовалось бы переделывать плейлист под udp-proxy. :-)
1. Цель топика ответить на вопрос «Как?» а не «Почему?». К тому же по-моему это вовсе не костыли.

2. Роутер замечательный, и без проблем передаст мультикаст по wifi и не подавится. Но из трех моих ноутбуков пока только один оборудован нормальной сетевушкой — intel 5300 AGN. А один из ноутов поддерживает только 802.11g и на нем, при использовании мультикаста картинка сразу рассыпается.
Ох, ну хорошо, убедили. :-) Но я вам серьезно советую — добавьте в начале топика абзац на тему WiFi. Потому что все эти предъявы в комментах именно из-за этого — было бы про WiFi написано, я бы только промолчал и не лез. :-)
Есть кстати еще один аргумент, правда сомнительный :)
На полке пылится HTPC с установленным XBMC. А XBMC не очень дружит с udp… Правда до HTPC у меня уже год как руки не доходят, а выкинуть жалко.

Аргументы по поводу костыльности все же хотелось бы услышать.
Почему не очень? Сейчас быстренько глянул Гуглом — плугины соответствующие есть и народ работает. Правда с ТВ-программой тяжко, но XBMC вообще не особо для ТВ подходит, как я понимаю… А, например, для MythTV четкие гайды по настройке есть и все ОК.
Про костыльность написал ниже. Собственно, любые прокси — это костыли из-за отсутствия возможности что-то делать напрямую — на мой взгляд это достаточно очевидно…
Кстати, вы часто называете udpxy костылем. Можно немного аргументировать вашу точку зрения?
Во-первых, речь идет о самой сути технологий. IPTV — это вещание. Для организации вещания по IP-сетям стандартно предусмотрен протокол IGMP и технологии мультикаста. К сожалению, технические недостатки и несовершенство оборудования провайдеров и конечных пользователей зачастую вынуждают прибегать ко всяким ухищрениям и переделывать мультикаст в юникаст. Каждый раз когда это происходит, сетевики-ортодоксы плачут. :-)

Во-вторых, такой проксированный трафик не поймет подавляющее большинству IPTV-приставок к телевизору. А основной массе пользователей нужно именно это — IPTV на компьютерах смотрят только технически подкованные.
Думаю последнее предложение как раз про читателей хабра.
Это да! Но про WiFi вы все-таки в статью добавьте… :-)
Для того, чтоб не изменять плейлист, можно использовать программу IP-TV Player. Это неплохая русская оболочка VLC. И в настройках программы указать адрес udpxy и порт сервера. Удобная штука.
image
Да, и кстати — а вы мультикаст пробовали по WiFi смотреть перед тем как прокси ставить? SD-каналы зачастую вполне успешно по 802.11g ходят — там же всего лишь 4-6Мбит в пике, если вещание в Mpeg2. А если в h264, то и того меньше…
Ой, извините, по вашему комменту подумал, что вы топик-стартер. :-) Но вопросы в любом случае имеют смысл. :-)
да ничего :) Выше отписался, но это чисто в моем случае, довольно ограниченном.
А мне не помогло. Не описан проброс VLAN'ов. Так что поможет не всем. И название неправильное
Коллеги, а кто-нибудь пробовал заворачивать IPTV в dlna?
В свое время хотел организовать связку wl500gpv2 + dlna + samsung ue32d6510 + torrent daemon.
В общем, информации об такой связке мало, а осилить не смог и времени свободного было мало.
Надеюсь в будущем вернусь и доделаю :)
Если у кого-нибудь получилось, то я бы с радостью почитал.
А вспомнил, потому что без udpxy так никуда.

P.S. Как оказалось wl500gpv2 для всего этого слабоват и проседает уже под торрентокачалкой.
Делал так. Очень не удобно пользоваться. Схема была такая: iptv udp/rtp -> udpxy -> proxy dlna -> mediatomb. Сейчас iptv работает через udpxy+виджет на телике (ue32d6530). Делал по мануалу отсюда forum.ixbt.com/topic.cgi?id=62:19152
с помощью этой штуки можно попробовать (сам не пробовал): xupnpd
Как-то пытался сделать похожую схему. Только на тот момент у меня все файлы и dlna сервер были на компе. Использовал mediathomb (mt). Решил попробовать завернуть IPTV на телевизор через mt. Начитался, что mt умеет не просто файлы стримать но и пускать процессы и стримать результат (есть куча разных примеров транскодеров с ffmpeg). Решил сделать так же с IPTV — ffmpeg читает поток и транскодит его в понятный телевизору формат. Но так и не добился положительных результатов, телевизор просто отказывался это показывать, хотя сам транскодинг работал на ура. В итоге сейчас у меня неттоп c xbmc(всё таки самсунговская оболочка и рядом не стоит с xbmc), а IPTV транслируется через udpxy на роутере. Сейчас посмариваю в сторону LiveTV билда xbmc и tvheadend, но не уверен получится ли пустить tvheadend на роутере (на ddwrt не вышло, щас стоит openwrt, на нём ещё не пробовал).
P.S. кста, dlna по сути простой http, а udpxy транслирует по http. возможно получится завернуть IPTV с помощью udpxy, такую схему я не пробовал.
Вообще, для просмотра IPTV не через Wifi вообще ничего делать не нужно. Я через udpxy смотрел раньше через WiFi, но, как оказалось, ADSL модем Sagemcom умудряется через 802.11n без преобразрований доставлять IPTV по WiFi! Не верите? Сам фшоке… :-D
И да. У меня вещание от Ростелекома. Адреса каналов вида udp://IP:PORT/
посредством igmpproxy
Гм. На самом деле, некоторые нормальные роутеры мультикаст и по 802.11g вполне прилично доставляют. HD смотреть не получается, а вот SD — вполне. Там поток-то копеечный — 4-6Мбит, не больше — а если h264, то и сильно меньше. Сейчас сходу не помню, но мне клиенты с полдесятка наименований называли протестированных у пользователей в реальных условиях.
Есть два пути для использования IPTV находясь за роутером:
1. igmpproxy
2. udpxy (в этом топике описан)
3. прозрачный проброс порта от wan до порта с подключенной IPTV приставкой

Есть еще один затык когда нет прописанного маршрута для мультикаста.
Тогда добавляем этот статический маршрут

route add -net 224.0.0.0/4 dev eth1 metric 1

eth1 — это интерфейс на который wan порт прицеплен
А вот интересно можно ли на OpenWRT настроить DualWan с разными MAC адресами (роутер TP-LINK WR-1043ND с OpenWrt Backfire 10.03.1)? Провайдер РТК, инет оптика, IP-TV через приставку MAG-250, авторизация приставки по MAC, ей при этом выдается IP вида 10.x.x.x. без доступа к интернет. В роутере для ИП-ТВ 1 порт в бридже с WAN. Хочется сделать IP-TV приставку частью общей домашней сети, так как в последних прошивках появилась возможность использовать приставку в качестве медиа плеера читающего из сети по SMB и NFS с домашнего сервера, а так же возможность записи ТВ по расписанию, YouTube и так далее. В инете встречал настройки dualWAN только применительно к нескольким провайдерам для балансировки нагрузки.
офтопик

Недавно переехал на Netgear WNDR-3800. Подскажите, у вас на OpenWRT какая скорость чтения с USB устройств? На крайних официальных прошивках от Netgear меньше 3 Mb/sec. Попробовал DD-WRT, но она пока сыровата…

За статью спасибо, вечером попробую.
Чесно говоря даже не пробовал подключать что либо по USB :)
На выходных посмотрю.
попробовал скопировать 100 метровый файлик с внешнего HDD. Средняя скорость получилась 2500 KiB/s (показания winscp).
В таком виде как приведено не заработало. Причин две
— 1 внешний интерфейс (тут он eth0.2) в описанной конфигурации не имеет ip адреса и udpxy не понимает откуда брать поток (точнее он будет его брать с адреса pppoe/l2tp, а там его нет, он только в локальной сети провайдера)
— 2 если запустить udpxy, когда еще не поднят eth0.2, он вылетит с ошибкой, которую вы нигде не увидите, разве что руками запустить попробуете. Надо подождать и запускать его после установки всех сетевых интерфейсов. Тут прикольный момент — он то не работает, а вот уже работает…

Решение первого вопроса простое — называется DualAccess. На eth0.2 надо подвесить еще один интерфейс в локальную сеть прова. Чтобы не искали дальше инструкция:

— В /etc/config/network подкорректировать:
config 'interface' 'wan'
option 'ifname' 'eth0.2'
option 'proto' 'dhcp'
option 'macaddr' 'хх: хх....'

config 'interface' 'wpppoe'
option 'ifname' 'eth0.2'
option 'proto' 'pppoe'
option 'username' 'me'
option 'password' 'me_pass'
option 'keepalive' '5'

если у кого не pppoe а что-то другое — поменяйте на требуемое.

— в конфиг файрвола в зону wan добавить строку (чтобы приклеить новый интерфейс в правильное место)
option network 'wan wpppoe'

— в файл /etc/rc.local добавить перезапуск сети (иначе после ребута второй интерфейс не поднимается)
/etc/init.d/network restart

все это надо проделать только в текстовом редакторе и ни в коем случае не в Люси, она там что-то портит и результат не работает. Т.е. записали, сохранили, перегрузились — joy.
=====================================

Насчет второго пункта рекомендаций не имею (я все-таки в линуксе не спец) пока запускаю руками после каждого ребута (ужас), если кто подскажет что делать — буду рад.
====================================

Чтобы не переписывать после каждого обновления настройки TVPlayer можно в нем указать сетевой адрес откуда брать поток. У меня 192.166.1.1:5050 один раз вписал и не надо плэйлист корректровать.
Ребят такой вопрос, у меня вылетает wifi через какое то время работы роутера. всё настроено всё хорошо, по локалке есть интернет, а wifi сначало пропадает интернет при активном подключении а при попытке переподключения он не выдает ip, идет постоянная идентификация, решается перезагрузкой роутера или же перезагрузкой /etc/init.d/network

что делать, подскажите
У меня было подобное, когда работал торрент-клиент. Долго не думал, просто купил более мощный роутер.
IGMP_OPTS="-a br-lan -m eth1 -p 8888 -M 600"
В моем случае оказалось достаточно IGMP_OPTS="-p 8080 -a 0.0.0.0"

Еще небольшая автоматизация. Cделал такой скрипт:
mkdir /tmp/iptv_tmp mount /tmp/iptv_tmp /www/iptv/ wget -q -O- http://provider.ru/IPTV/IPTV_player/channel_list.php | sed 's/udp\:\/\/@/http\:\/\/192.168.1.1:8080\/udp\//' > /tmp/iptv_tmp/iptvplayer.m3u
Он трансформирует адреса в плейлисте провайдера и выкладывает на веб страничку роутера. Запихнул этот скрипт в планировщик.

Подставил в IP TV Player (он обновляет список программ используя этот адрес при запуске):
http://192.168.1.1:8080/iptv/iptvplayer.m3u

PS Если будете устанавливать IP TV Player внимательно следите за опциями в процессе установки. Инсталлятор тащит кучу бесполезного софта от яндекса.
Sign up to leave a comment.

Articles

Change theme settings