在我真正为它编写代码之前,我一直在尝试制作视频流服务器的原型。所以我使用 VLC 使用以下命令在我的服务器上进行流式传输:
cvlc video.mpg --loop --sout '#transcode{vb=0,vcodec=mpgv,fps=20,ab=0,acodec=mpga,channels=2,venc=ffmpeg}:rtp{mux=ts,ttl=10,dst=127.0.0.1,port=9554}'
流服务开始在localhost的 9554 端口上运行。经过一番研究,我未能将 VLC 流绑定到公共 IP,这是另一个值得在另一个页面上分享的问题。
问题是,为了让外部世界可以看到流媒体,我使用了 NginX 反向代理,并在 VLC over RTP上使用了HTTP流媒体。
cvlc video.mpg --loop --sout '#transcode{vb=0,vcodec=mpgv,fps=20,ab=0,acodec=mpga,channels=2,venc=ffmpeg}:http{mux=ts,ttl=10,dst=0.0.0.0:9554/live}'
好吧,除了我没有使用RTP协议之外,在我的手机上观看流媒体视频是成功的。
当我不知道如何反向代理UDP Stream时,问题就出现了。当然,NginX 不会工作,因为它只代理 HTTP 和新版本的 TCP,当然。
那么,知道如何反向代理UDP 流吗?
也欢迎任何其他相关答案,以防您知道如何将 VLC 绑定到公共地址而不是 localhost。