Multicast на двух сетевых картах
Ситуация такова, что есть машина, которая транслирует мультикаст поток с помощью ffmpeg:
ffmpeg -stream_loop -1 -re -i analog.ts -vcodec copy -acodec copy -f mpegts "udp://239.0.1.1:1234"
.
На этой машине два сетевых интерфейса, которые смотрят в разные сети.
eth1 Link encap:Ethernet HWaddr 00:e4:4c:c0:18:a5
inet addr:192.168.161.228 Bcast:192.168.161.255 Mask:255.255.254.0
inet6 addr: fe80::2e4:4cff:fec0:18a5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:66396 errors:0 dropped:2624 overruns:0 frame:0
TX packets:449412 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4679955 (4.6 MB) TX bytes:615166567 (615.1 MB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:76 errors:0 dropped:0 overruns:0 frame:0
TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5892 (5.8 KB) TX bytes:5892 (5.8 KB)
eth0 Link encap:Ethernet HWaddr 00:19:d1:00:eb:f5
inet addr:10.52.254.80 Bcast:10.52.254.95 Mask:255.255.255.240
inet6 addr: fe80::219:d1ff:fe00:ebf5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26364 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1687296 (1.6 MB) TX bytes:680 (680.0 B)
Interrupt:20 Memory:e0300000-e0320000
Соответственно eth1 используется для управления, а eth0 для вещания мультикаста, да только мультикаст идет на eth1 и категорически не хочет идти на eth0. Собственно как его туда направить? Меня даже устроил бы вариант вещать сразу на две сетевых карты, так как eth1 коммутатор блокирует трафик.