我正在尝试通过此命令播放视频:
$ vlc [path to file] --sout udp:// [destination path]
同样在目的地,我运行两个VLC播放器,按命令播放一个流:
$ vlc udp:// [source path]
当我运行第一个播放器时,它播放视频,但是当我运行第二个播放器时,第一个播放器停止播放,只有第二个播放器播放流。
如何让2位玩家玩一个小溪?
答案 0 :(得分:0)
我假设目标路径是播放器的IP和端口,这意味着您将流直接单播到该端点。当您在播放器上打开流时,它会绑定到该套接字并读取数据包。之后,数据包“消失”了。通常玩家会保留地址,所以没有其他程序可以在那里打开套接字,但似乎这里没有发生这种情况,所以第二个玩家劫持同一个套接字并获取UDP数据包。
如果两个播放器都在同一主机上,则多播也不起作用。如果您需要支持固定数量的玩家,可以让VLC复制输出;
- sout'#duplicate {dst = rtp {mux = ts,dst = 192.168.1.10,port = 50002}, DST = RTP {MUX = TS,DST = 192.168.1.40,端口= 50004}}“
如果您需要动态支持未知数量的客户端,则需要将流服务器放入混合中。哪一个真正取决于你想要达到的目标。可能是VLC也可以直接作为流媒体服务器,但我从未尝试过。
答案 1 :(得分:0)
对于您的情况,有一些实用程序可以将发送到特定端口的UDP数据包复制到同一台机器上的其他几个端口。
这个应用程序的实现应该是微不足道的。