Vou repetir o que entendi sobre a configuração e espero que esteja correta; Caso contrário, atualize a questão. Aqui está uma foto, os endereços IP são compostos:
Computer A Blackbox B Blackbox C Computer D
Laptop etc. Embedded Embedded Laptop
10.0.0.1/24 --- 10.0.0.2/24 ... 10.0.1.2/24 --- 10.0.1.1/24
Port 123 Port 123
Assim, A e B são conectados por Ethernet (LAN), B e C por seu rádio, e C e D novamente por Ethernet. Existe um aplicativo em execução em B e C que escuta na porta 123 e encaminha tudo de ou para essa porta para o outro lado via rádio. Você deseja executar o VLC em A e D e transmitir um vídeo para demonstrar a latência envolvida.
Nesse caso, eu configurei um túnel com socat
da seguinte maneira. Em A,
socat TCP4:10.0.0.2:12 TUN:10.0.2.1/24,iff-up
e em B,
socat TCP4:10.0.1.2:12 TUN:10.0.2.2/24,iff-up
Verifique com ip route
em A e D que você tem algo como
10.0.2.0/24 dev tun0 proto kernel scope link src ...
Esse tipo de pessoa finge que A e D estão conectados diretamente, como em uma LAN, como na foto:
A D
10.0.2.1/24 ---- 10.0.2.2/24
tun0 tun0
Teste que isso funciona fazendo ping 10.0.2.2
de A, e se a conexão de rádio é bidirecional, com ping 10.0.2.1
de D. Se a conexão não for bidirecional, você pode ter problemas, não tenho certeza.
(Eu testei isso usando uma configuração um pouco diferente, mas não posso testar uma conexão unidrectional. Eu não testei streaming VLC como descrito abaixo).
Agora você pode iniciar um fluxo enviando a instância VLC em A e um fluxo recebendo a instância VLC em D. Todos os protocolos devem funcionar em teoria (se a conexão de rádio for bidirecional), experimente todos eles. Se a conexão de rádio for unidirecional, o RTP e o UDP devem funcionar. O destino do fluxo é 10.0.2.2
(endereço do túnel de D) para o método UDP e RTP. Se você enviar via HTTP, o receptor precisa de algo como vlc http://10.0.2.1:8080/go.mpg
.