我想使用 VLC 通过 IP 网络将音频文件从服务器传输到多个客户端。服务器和客户端都运行 Linux。以下是我对两个客户端的尝试:
服务器命令
cvlc test.mp3 --sout '#duplicate{dst=rtp{dst=10.0.0.2,port=5004,mux=ts},dst=rtp{dst=10.0.1.2,port=5004,mux=ts}}'
客户端命令
cvlc rtp://@:5004
尽管音乐已正确传输,但客户端完全不同步。存在一个重要的时间间隔,导致无法收听。这是正常现象吗?我认为实时传输协议可以处理此类问题。我在配置中遗漏了什么吗?或者我应该看看另一种流媒体协议?
提前致谢。
答案1
正如 Intenso 在评论中所建议的,实现此目的的最佳方法是使用多播 IP 地址。
服务器命令
cvlc test.mp3 --sout '#udp{dst=224.0.0.1,port=1234}'
客户端命令
cvlc udp://@224.0.0.1:1234
您可能需要在服务器和客户端上为子网 224.0.0.0/14 创建网络路由。手动“route”或“ip route”。如果您的客户端位于多个子网上,而您不知道要将路由到哪里,请查看这。