LINUX.ORG.RU

IPTV + mplayer


0

0

Есть модем ADSl Dlink 500T, 2 компьютера, все включены в гигабитный hub.

На одном компьютере Debian Etch i386, на втором Debian Etch amd64.

команда:

mencoder -ovc copy -oac copy -endpos 00:10:00 -o /home/TV-dumps/first.avi 'udp://224.1.1.21:3021'

на i386 отрабатывает прекрасно, на amd64 выдаёт следующее:

STREAM_UDP, URL: udp://224.1.1.21:3021

Timeout! No data from host 224.1.1.21

udp_streaming_start failed

No stream found to handle url udp://224.1.1.21:8021

Cannot open file/device.

Exiting...

версии пакетов одинаковые от debian-multimedia.

на первом компьютере mencoder выдаёт такое же сообщение, если другой mencoder что-то качает с IPTV, даже если качает с другого ip/порта.

на amd64 такое сообщение выдаётся всегда, даже если больше никто с IPTV не работает.

может что-то не так с настройкой модема, но я не нашёл там никаких ограничений.

Ответ на: комментарий от as33

там mpeg2.

да и mencoder пишет что timeout, нечего взять из канала.

в ядре всякие MULTICAST включены, iptables всё пропускает, ничего не режет.

jackLucas
() автор топика
Ответ на: комментарий от jackLucas

А сниферами (tcpdump, wireshark, etc.) видно как ядро посылает IGMP-запрос на присоединение к мультикаст-группе и собственно входящий поток пакетов после этого?

Deleted
()
Ответ на: комментарий от Deleted

вот тут я не специалист, если вы мне точную комадную строчку дадите и скажете, что должно быть на выходе а что не должно, будет здорово.

меня смущает, что mencoder сразу говорит что нету данных, т.е. не через какое-то разумное время, там, установление соединения, ля-ля-ля, а сразу - timeout и всё тут.

jackLucas
() автор топика
Ответ на: комментарий от jackLucas

>> вот тут я не специалист, если вы мне точную комадную строчку дадите и скажете, что должно быть на выходе а что не должно, будет здорово.

Отключи все левые программы, которые могут использовать сеть и сделай

tcpdump -ni ethN

где ethN - сетевой интерфейс с которого должен идти поток IPTV. На выходе должна бать такая ситуация: сначала твой компьютер посылает в сеть пакет с запросом на мультикаст-адрес, а затем с сервера вещания на этот же адрес начинает быстро приходить куча пакетов с собственно данными.

>> меня смущает, что mencoder сразу говорит что нету данных, т.е. не через какое-то разумное время, там, установление соединения, ля-ля-ля, а сразу - timeout и всё тут.


Может криво собран (например забыли собрать поддержку UDP)? Или поддержка мультикастов выключена в ядре?

Deleted
()
Ответ на: комментарий от Deleted

странная ситуация :)

у amd64 клавы нету, подтыкать лень. я решил результат tcpdump -ni ethN просто в файлик кидать, потом поизучать. так вот, когда делаю tcpdump, mencoder работает на ура и всё пишет :). как только вырубаю tcpdump и после этого врубаю mencoder - ситуация как и раньше - timeout и ничего не пишет. снова врубаю tcpdump - mencoder пашет :)

несколько раз попробовал. похоже, tcpdump при запуске что-то включает, что помогает всяким multicast'ам. надо как-то sysctl -a поизучать на предмет изменений наверное. посмотрю потом.

спасибо за помощь :)

jackLucas
() автор топика
Ответ на: комментарий от jackLucas

Попробуй обновить ядро и mplayer. Ещё попробуй получать поток с помощью VLC вместо mplayer'а. Больше ничего в голову не приходит.

Deleted
()
Ответ на: комментарий от jackLucas

Когда tcpdump начинает отлов пакетов, то он первым делом переводит сетевой интерфейс в режим "promiscuous", чтобы сетевая карта и ядро не отбрасывали пакеты, которые им не предназначены, а все пытались обработать (чтобы tcpdump выловил их через PF_PACKET-сокет). Раньше я дмуал, что на маршрутизацию и обычный TCP/IP стек этот режим влиять никак не должен, но либо я ошибался либо таки где-то бага.

Deleted
()
Ответ на: комментарий от Deleted

ядро только что обновилось с debian.org/security.debian.org . не помогло

или самосборное надо? как самому включить/проверить включено ли это самое "promiscuous" ?

jackLucas
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.