Спасибо, теперь запустилось и заработало!
Только качество изображения не улучшилось, почти все кадры теряются.
Похоже, что-то ещё сильно грузит проц рутера. Буду разбираться дальше.
Интересно, а сложно проделать обратную операцию - преобразовать роутером юникаст в мультикаст?
Нужно это чтобы смотреть ТВ через приставку подключенную по wi-fi. Т.е. роутер будет использоваться как wi-fi клиент.
_oz_, повысь, пожалуйста, приоритет процессов до максимального. Без renice'a при загрузке торрентом без выпадений смотреть невозможно, даже по проводу.
А какой по умолчанию размер буфера используется?
Поставил последнюю прошивку. Роутер WL550ge,
в настройках wi-fi скорость мультикаста поставил на макс, но осталась проблемма с цифровым шумом,проскакивают лаги и подобные гадости.
Есть еще способ для решения данной проблеммы?
Паша зарегистрировался в форуме - читает и, надеюсь, сможет ответить точнее на вопросы (ник bsl45). У меня при просмотре исходников сложилось ощущение (скорее всего ошибочное), что буфера по умолчанию нет вообще. Приоритеты процессов ретрансляции, конечно, надо бы иметь возможность задавать в параметрах. Я как-то даже не подумал о том, что рутер может быть сильно загружен. (У меня торрентов столько запущено, что они работают на компьютере - на рутер даже не пробовал ставить - дохлый номер, если память не перепаивать ;-))
А так - классная штука получилась, открыл проксёвый порт наружу, смог смотреть TV из другой сетки, с другого конца города чуть-чуть скорости не хватает, нет постоянно 3.5MBps, колеблется от 2-х до 4-х - поэтому картинка рассыпается временами (тут как раз большой буфер помогает, но понятно, только до определённой степени).
Last edited by _oz_; 03-01-2008 at 09:14.
Да, когда большая нагрузка на процессор то он пропускает пакеты будь здоров. Даже если найс выкрутить полностью. У меня в первый раз проявилось, когда кто--то снаружи ломился на роутер по ssh, подбирая пароли.
SO_RCVBUF может нас спасти?
Спасибо за программу, пригодилась мне в OpenWRT, где у меня не получалось наладить IPTV от Корбины без перекомпиляции ядра. Да и вообще, ИМХО, такой способ лучше именно из-за возможности не гонять мультикаст по внутренней сети и вайфаю.
Что-то не хочет: смотрел тцпдампом - при подключении плеера по http ссылке на роутер начинают нормально жирным потоком сыпаться udp-пакеты, но с http сервера никаких данных кроме HTTP/1.0 200 OK не идёт.
фиревал в вебморде отключен, правила iptables которые возможно могут помешать - сброшены, игмппроксь пришиблена,
в /статусеПри старте без фона в кансоль пишет:Code:HTTP/1.0 200 OK Content-type: text/html Server process [1080] is listening on address [0.0.0.0:8080] Multicast interface [172.17._._] Active clients: 0Пробовал на 2х 500гп с фирмварью 1.9.2.7-7gCode:[admin@router /tmp]$ udpxy -v -T -m 172.17._._ -p 8080 Starting server [1081]; capacity=[1] clients Setting up listener for [0.0.0.0:8080] Server socket=[4] is set up Entering server loop Server socket=[4] is waiting. Accepted socket=[5] Reading command from socket [5] Request=[udp/233.163.114.154:5308], length=[24] Command [udp] with params [233.163.114.154:5308] read from socket=[5] udp_relay : new_socket=[5] param=[233.163.114.154:5308] Added client: pid=[1082], maddr=[233.163.114.154], mport=[5308], saddr=[10.156._._], sport=[2637] Closed accepted socket [5] Server socket=[4] is waiting. Client process=[1082] started for socket=[5] Setting up multicast listener Mcast listener socket=[4] set up Relaying traffic from socket[4] to socket[5], buffer size=[1800] Sent HTTP response code=[200], reason=[OK] to socket=[5] Receive on socket [4] timed out relay_traffic - recv: Resource temporarily unavailable Exited relay loop: received=[-1], sent=[0], quit=[0] Mcast listener socket=[4] closed Child process=[1082] exits with rc=[0] *** Caught SIGCHLD in process=[1081] *** Client [1082] has exited. Deleted client: pid=[1082] Server socket=[4] is waiting.
При хттп запросе начинает валить udp траффик, но данных нет.
А multicast routing разрешён? Возможно дело в фаерволе.
в вебморде разрешён, в фаере правила есть.
cat /tmp/filter_rules
-A INPUT -p igmp -d 224.0.0.0/4 -j ACCEPT
-A INPUT -p udp -d 224.0.0.0/4 -j ACCEPT
даже роутинг попробовал прописать, хотя если udp-трафф начинает валить - то с этим всё норм...
15:39:11.829744 IP 77.246.96.66.4096 > 233.163.114.152.5304: UDP, length: 1316