Я относительно новичок в этой теме, поэтому в моих знаниях может быть фундаментальный пробел, но я пытаюсь использовать GStreamer для отправки потока MPEG2-TS на встроенное устройство с использованием IPv6 (в Windows 10). Встроенное устройство подключается через адаптер USB-Ethernet к медиаконвертеру (RJ45-to-BroadR-Reach).
Если я использую IPv4 для трансляции (например, 192.168.1.255), все работает нормально. Я могу получить поток на устройстве без проблем. Пример команды, которая работает:
gst-launch-1.0.exe -v filesrc location=d:/video.ts do-timestamp=false ! \ "video/mpegts, systemstream=(boolean)true, packetsize=(int)188" ! \ tsparse set-timestamps=true ! rtpmp2tpay mtu=1200 pt=127 ! \ udpsink host=192.168.1.255 port=5001
Теперь мне нужно сделать это с IPv6 через многоадресную рассылку, и я не могу понять, как это сделать!
Предположим, что IPv6-адрес встроенного устройства — fe80::1:2:3
, а IPv6-адрес интерфейса Ethernet на ПК — fe80::1:2:4
. Какой адрес использовать для многоадресной рассылки? Я уже пробовал ff0x::1:2:4
и ff1x::1:2:4
(где x=1,2,3), но данные передаются через основной сетевой интерфейс моего компьютера (например, интерфейс WiFi, это было проверено с помощью Wireshark).
Если я попытаюсь добавить параметр multicast-iface
, GStreamer выдаст следующую ошибку:
Не удалось присоединиться к группе многоадресной рассылки: ошибка присоединения к группе многоадресной рассылки: запрошенный адрес недействителен в своем контексте.