如何通过乘以VLC播放器播放一个流?

时间:2011-10-12 18:06:01

标签: video-streaming vlc libvlc

我正在尝试通过此命令播放视频:

$ vlc [path to file] --sout udp:// [destination path]

同样在目的地,我运行两个VLC播放器,按命令播放一个流:

$ vlc udp:// [source path]

当我运行第一个播放器时,它播放视频,但是当我运行第二个播放器时,第一个播放器停止播放,只有第二个播放器播放流。

如何让2位玩家玩一个小溪?

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数据包复制到同一台机器上的其他几个端口。

这个应用程序的实现应该是微不足道的。