Началось все с того, что у меня сломалась домашняя IPTV приставка Aminet. Она была уже достаточно старенькая, HD каналы не умела показывать, поэтому у меня были мысли её заменить на какой-нибудь другой плеер. Незадолго до этого события я поменял домашний маршрутизатор с D-link Dir-300 на Mikrotik RouterBOARD 951G-2HnD.
И тут я подумал, неужели такой роутер как микротик не сможет решить задачку с вещанием IPTV в домашней сети. В качестве IGMP proxy он был настроен сразу при установке в сеть, multicast прекрасно бегает через него и по Wi-Fi IPTV работает в том числе, но лишь с девайсами, которые понимают multicast.
В домашнем телеке есть DLNA. Называется это у самсунгов AllShare. Да, вот что меня ещё удивило - PS3 не умеет смотреть IPTV, тоже только DLNA.
Итак, я начал изучать интернеты на предмет запуска IPTV через DLNA. Решение найдено. Реализуется это на разных устройствах (в том числе и на Dir-300). На девайс ставится прошивка OpenWRT или DD-WRT, куда запиливается пакет xupnpd.
Непосредственно сам микротик не умеет DLNA, да и пакета похожего не него нет, но у него есть интересная фича - Metarouter. По сути это такой своеобразный гипервизор. Можно поднять внутри роутера виртуалку и поставить на нее прошивку, собранную под архитектуру процессора микротика. Мне показалось это решение интересным. Никаких лишних девайсов.
Почитав мануалы, я скачал исходники OpenWRT используя утилиту svn, выбрал нужную мне архитектуру (в конфиге есть пункт именно для Mikrotik metarouter MIPS), поставил компилиться. Пока это все дело работало, нашел уже собранную версию, которую и начал ставить в микротик.
В этой статье - http://asp24.com.ua/blog/virtualnaja-mashina-metarouter-i-zapusk-openwrt-na-marshrutizatorah-mikrotik/ есть работающий образ и подробная инструкция, как установить виртуалку через графический интерфейс.
В это статье - http://arxont.blogspot.ru/2013/03/openwrt-mikrotik.html инфа, как сделать это через cli.
Опишу свой гибридный способ.
1. Перетягиваем из виндузячей папки в микротик нужный нам образ.
2. Добавляем метароутер. HD каналы перестали залипать, когда я поставил 64 метра оперативы. Тут нужно ещё поэксперементировать.
3. Не забываем добавить "жесткий диск", иначе пакеты не поставить.
4. Добавляем бриджовый интерфейс.
5. Заходим в консоль виртуалки.
Осталось вывести опенрвт в интернеты и поставить нужный нам пакет xupnpd.
uci set network.lan.proto=static
uci set network.lan.ipaddr=192.168.3.2
uci set network.lan.gateway=192.168.3.1
uci commit
rm /etc/resolv.conf
echo "nameserver 8.8.8.8">/etc/resolv.conf
reboot
Можно поставить веб-морду.
opkg update
opkg list
opkg install webif
Далее ставим xupnpd.
root@OpenWrt:/# cd /usr/share/
root@OpenWrt:/usr/share# wget http://tsdemuxer.googlecode.com/files/xupnpd-1_03.tar.gz
Распаковываем.
root@OpenWrt:/usr/share# tar -xzf xupnpd-1_03.tar.gz
Запускаем.
root@OpenWrt:/usr/share# cd xupnpd-rc/
root@OpenWrt:/usr/share/xupnpd-rc# ls
LICENSE www xupnpd_http.lua
config xupnpd-ar231x xupnpd_m3u.lua
playlists xupnpd-ar71xx xupnpd_main.lua
plugins xupnpd-bcm947xx xupnpd_mime.lua
profiles xupnpd-bcm947xx-ddwrt xupnpd_soap.lua
ui xupnpd.lua xupnpd_ssdp.lua
root@OpenWrt:/usr/share/xupnpd-rc# ./xupnpd-ar231x
И тут я подумал, неужели такой роутер как микротик не сможет решить задачку с вещанием IPTV в домашней сети. В качестве IGMP proxy он был настроен сразу при установке в сеть, multicast прекрасно бегает через него и по Wi-Fi IPTV работает в том числе, но лишь с девайсами, которые понимают multicast.
В домашнем телеке есть DLNA. Называется это у самсунгов AllShare. Да, вот что меня ещё удивило - PS3 не умеет смотреть IPTV, тоже только DLNA.
Итак, я начал изучать интернеты на предмет запуска IPTV через DLNA. Решение найдено. Реализуется это на разных устройствах (в том числе и на Dir-300). На девайс ставится прошивка OpenWRT или DD-WRT, куда запиливается пакет xupnpd.
Непосредственно сам микротик не умеет DLNA, да и пакета похожего не него нет, но у него есть интересная фича - Metarouter. По сути это такой своеобразный гипервизор. Можно поднять внутри роутера виртуалку и поставить на нее прошивку, собранную под архитектуру процессора микротика. Мне показалось это решение интересным. Никаких лишних девайсов.
Почитав мануалы, я скачал исходники OpenWRT используя утилиту svn, выбрал нужную мне архитектуру (в конфиге есть пункт именно для Mikrotik metarouter MIPS), поставил компилиться. Пока это все дело работало, нашел уже собранную версию, которую и начал ставить в микротик.
В этой статье - http://asp24.com.ua/blog/virtualnaja-mashina-metarouter-i-zapusk-openwrt-na-marshrutizatorah-mikrotik/ есть работающий образ и подробная инструкция, как установить виртуалку через графический интерфейс.
В это статье - http://arxont.blogspot.ru/2013/03/openwrt-mikrotik.html инфа, как сделать это через cli.
Опишу свой гибридный способ.
1. Перетягиваем из виндузячей папки в микротик нужный нам образ.
2. Добавляем метароутер. HD каналы перестали залипать, когда я поставил 64 метра оперативы. Тут нужно ещё поэксперементировать.
3. Не забываем добавить "жесткий диск", иначе пакеты не поставить.
4. Добавляем бриджовый интерфейс.
5. Заходим в консоль виртуалки.
Осталось вывести опенрвт в интернеты и поставить нужный нам пакет xupnpd.
uci set network.lan.proto=static
uci set network.lan.ipaddr=192.168.3.2
uci set network.lan.gateway=192.168.3.1
uci commit
rm /etc/resolv.conf
echo "nameserver 8.8.8.8">/etc/resolv.conf
reboot
Можно поставить веб-морду.
opkg update
opkg list
opkg install webif
Далее ставим xupnpd.
root@OpenWrt:/# cd /usr/share/
root@OpenWrt:/usr/share# wget http://tsdemuxer.googlecode.com/files/xupnpd-1_03.tar.gz
Распаковываем.
root@OpenWrt:/usr/share# tar -xzf xupnpd-1_03.tar.gz
Запускаем.
root@OpenWrt:/usr/share# cd xupnpd-rc/
root@OpenWrt:/usr/share/xupnpd-rc# ls
LICENSE www xupnpd_http.lua
config xupnpd-ar231x xupnpd_m3u.lua
playlists xupnpd-ar71xx xupnpd_main.lua
plugins xupnpd-bcm947xx xupnpd_mime.lua
profiles xupnpd-bcm947xx-ddwrt xupnpd_soap.lua
ui xupnpd.lua xupnpd_ssdp.lua
root@OpenWrt:/usr/share/xupnpd-rc# ./xupnpd-ar231x
Проверяем.
root@OpenWrt:/usr/share/xupnpd-rc# netstat -na
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.3.2:4044 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
Заходим через веб, заливаем плейлист, правим настройки.
В настройках нужно указать, что у нас интерфейс br - один на всё.
Добавляем в автозапуск. Я просто сделал соответствующую запись в rc.local.
root@OpenWrt:/usr/share/xupnpd-rc# cat /etc/rc.local
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
/usr/share/xupnpd-rc/xupnpd-ar231x
exit 0
Перезапускаем процесс и проверяем на телеке. Появился пункт UPnP-IPTV.
Далее заходим в плейлисты, выбираем нужный и вперед.
http://openwrt.pantele.com.ua/trunk/metarouter/openwrt-metarouter-rootfs.tgz dead link!
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьАвтор выкинь образ виртуалки плз. По ссылкам недоступно.
ОтветитьУдалитьПоднял openwrt запустил xupnpd.Всё работает.
ОтветитьУдалитьНатолкните на мысль как сделать чтоб с openwrt траф шёл на один только порт,а не раскидывал на все порты.
Или надо ещё один dhcp и бридж.Буду признателен за совет.
Не совсем понятен вопрос. Для чего вы хотите так сделать? О каком трафике речь?
УдалитьДа, нужен ещё один бридж или делать это через VLAN :)
УдалитьДобрый день!
ОтветитьУдалитьКоллега, подскажите, а то зашел в тупик )
Имеется RB951Ui-2Hnd. Метаротуер поставил. Xupnp тоже поставил, на веб морду попадаю. Плейлист добавил. И его даже видно на устройствах. Но изображения нет. Не могу понять в чем затык.
Можете натулкнуть на мысль ? -)
Посмотри с помощью tcpdump, улетают ли джоины с метарутера, настроен ли IGMP proxy на самом микроте, улетают ли джоины с него.
УдалитьВ общем - дампы решают, так что не ленись снифать.
Да,на микротике igmp proxy установелен.
УдалитьЯ его настраивал что хоть как-то смотреть iptv (multicast) по вайфай. Но лагает жутко.
Почитал что можно попробовать или udpxy или вот xupnpd. Но в основном все примеры, которые встречал, предполагают что эти пакеты установлены на сам роутер. А тут получается, что роутер в роутере ))
Инет от провайдера заходит в микротик, а не совсем понимаю как OpenWRT получает поток чтоб его отдавать (
Что-то я запутался в интефейсах (особенно если учесть что в микротике и опенВРТ они по разному называются)
МОгу я уточнить, где именно что смотреть через tcpdump ? Не очень в этом силен.Спасибо.
Зависит от сборки OpenWRT. Бинарник tcpdump. В микроте тоже есть снифер в инструментах.
УдалитьУ опенврт я делал бридж. В нем и смотреть. У микрота тоже у соотвествующего бриджа, если на нем терминируется L3. Ели IP назначен на ethernet интерфейсе, то на нём.
Вообще, хочу сказать, что данная схема с метароутером именно на железке 951HnG не особо жизнеспособна, ибо при просмотре HD каналов (поток около 8 мбит) начинает сильно лагать. Нужен хост посильнее.
В результате я поставил OpenWRT на dir300 ревизии B, там поднял xupmp. Так и работает это сейчас.
Мне бы сперва хоть SD Каналы смотреть )
УдалитьНеужель дир-300 производительнее ?? У него ж 32 мб памяти оперативной.
Я хотел еще попробовать не xupnpd ..а через udpxy .. Но тоже пока не добился результата ...
Получается у меня так.
Есть один порт на микротике, в который приходит инет - ether1
порты ether2(master) по ether5 + wlan01 в бридже. Инет работает, вопросов нет.
Далее, я установил метароутер, и он создал вируальный интерфейс vif01
Этот интерфейс тоже добавлен бридже.
адрес роутера микротика 192.168.1.1
адрес метароутера с ОпенВРТ 192.168.1.20
в метароутере инет есть, все пингается и внутри сети сети и наружу.
Опять же таки, не совсем понял какой бридж смотреть )
и как все это увязать, чтоб мультикаст поток попадал на опенВРТ. Хотя, я так понимаю, что приходит мультикаст от провайдера, далее он и так попадает в бридж, а соответсвенно и на виртуальный интерфейс.
может в настройках самого xupnpd поиграться. Хотя с чем?
br-lan - не совсем понял за что отвечает.
Короче я в тупике.
Добрый день!
ОтветитьУдалитьКак быть с MIKROTIK HAP AC, у него используется Flash ROM 16mb. Возможно ли установить на внешний хард(флешку)?
Можно воткнуть флешку в USB через OTG.
УдалитьЕсли через OTG openwrt поставится на USB флешку(по умолчанию все ставится на внутренний Flash ROM)?
УдалитьНадо пробовать :) Я в результате, все же, перешел на dir-300. Поставил OpenWRT на него т.к. OpenWRT, которую я тогда ставил, периодически на микроте висла.
УдалитьУважаемый k4, не скажете какой ревизии ваш dir-300?
ОтветитьУдалитьСпасибо.
Увидел, что вы уже писали про ревизию. Извиняюсь. ;)
Удалить