Задать вопрос
v-oz
@v-oz
ССЗБ

Почему приложение не получает видеопоток, поступающий на сетевой интерфейс?

Дома стоит комп под linux (OpenSUSE) с двумя сетевыми интерфейсами. Один (eth3) для просто выхода в сеть (локалку и инет). Второй (eth2) - для подключения к мультикасту через туннель в удаленной локалке. Оба подключены к роутеру под RouterOS.
Маршрутизация настроена, всё работает, пакеты мультикаст-потока приходят на eth2 - tcpdump показывает активность на этом интерфейсе с правильных адресов сразу после запроса приложением (ffmpeg, mplayer, VLC) потока с
сервера по UDP. То есть запрос уходит в правильный интерфейс, в ответ на него сыплется поток через правильные мосты в роутере, в правильный интерфейс, но .. собственно приложение этого потока не получает. Например, в ffmpeg (ffplay) просто тишина, вместо обычного вывода в консоль характеристик потока и пр. Причем приложение толкает периодические пакеты присутствия, что поддерживает трансляцию с сервера. И когда жму "стоп", трансляция обрывается через сколько-то секунд - то есть всё правильно с мультикастом и маршрутами.
Причем незадолго до этого как-то работало, но криво - поток заходил в комп не через выделенный для него eth2, а через eth3. Перенастроил роутер и поток пошел правильным руслом, но видео работать перестало.

Куда, чем копать на уровне системы, чтобы понять где заблудился этот поток?
  • Вопрос задан
  • 530 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Алексей Черемисин К ответам на вопрос (2)
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Пропишите на нужный интерфейс роутинг на адреса мультикаста
Например
ip route add 224.0.0.0/4 via dev eth2
Ну и для того, чтобы мультикаст маршрутизовался с интернфейса на интерфейс, нужно ставить специального демона, иначе маршрутизации мультикаста не будет!
smcroute и igmproute.
Ну и статья на всякий случай - https://www.altlinux.org/Static_Multicast_Routing
ну и - http://xgu.ru/wiki/Multicast_в_Linux
Ответ написан