Мой проект включает многоадресную потоковую передачу телеканалов DBV-S2 с использованием сетевого SAT-тюнера. Поскольку нет сетевых коммутаторов с поддержкой IGMP, сеть достаточно напряжена, и поэтому я настроил физически отдельную сеть.
Эта новая сеть содержит DHCP-сервер (Linux Mint 16 с isc-dhcp-сервером; сетевой тюнер не поддерживает статический IP), сетевой тюнер, компьютер с Linux (Mint 16) и ноутбук с Windows 7. В этом случае сетевой тюнер отправит поток RTP на 239.5.2.1
порт 6670.
Это мой dhcpd.conf:
ddns-update-style interim;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.20.255;
subnet 192.168.20.0 netmask 255.255.255.0 {
interface eth0;
range 192.168.20.1 192.168.20.10;
}
host tuner {
hardware ethernet 54:84:7b:00:19:1a;
fixed-address 192.168.20.2;
}
На Windows 7 VLC может открыть rtp://@239.5.2.1:6670
просто отлично. В Linux это не работает. Журнал сообщений VLC говорит: «Невозможно присоединиться к многоадресной группе. Нет такого устройства. "Когда я добавляю
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
это внезапно работает. Я нашел здесь какое-то объяснение, но в стандартной сети VLC мог воспроизводить поток без этого маршрута. Что может отличаться в моей сети и обычной? Я не устанавливал обычную сеть, и я мало что знаю об этом. У этого также есть DHCP.
Может быть, кто-то может пролить свет на этот вопрос.