我正在尝试运行一些实验,我需要在一台机器上播放小视频,同时从另一台服务器流式传输该视频。我可以使用以下命令流式传输它:
vlc -vvv big_buck_bunny_720p_30mb.mp4 --sout-keep --sout '#transcode{vcodec=theo,vb=800,acodec=vorb,ab=128,channels=2,samplerate=44100}:http{mux=ogg,dst=:8080/stream}'
但是,当我在服务器上发出此命令时,视频就会开始播放,而不是在客户端连接时开始播放。有没有办法仅在客户端连接到流时才启动视频?将只有一个客户端。
我已经阅读了VLC流文档,但找不到任何选项来执行此操作。有没有可编程的方法?黑客的方式也是可以接受的。
我在这个链接中找到了一个更简单的方法。你只需托管一个网络服务器,就像我的案例中的 Apache 一样,创建一个目录,例如/var/www/html/videos/
并将视频放入该目录中。现在你可以直接使用服务器的 IP/主机名在客户端启动流,如下所示:
vlc http://10.10.2.7/videos/video1.mp4
瞧!视频点播流,它也可以支持多个客户端。