我需要将视频流传输到stdout,然后再次从stdin中读取该流以显示它。最后,中间会有一个应用程序来处理网络,但现在我想直接对其进行测试。尝试此操作时,视频计时器可以工作,但是屏幕保持黑屏。
vlc -I dummy video.mp4 --sout '#standard{access=file,mux=ogg,dst=-}' | vlc -
我也尝试过gstreamer,但是我还无法成功流式传输视频。
gst-launch-1.0 filesrc location=video.mp4 ! fdsink | gst-launch-1.0 fdsrc fd=0 ! decodebin ! autovideosink
有人知道怎么做吗? 预先感谢!
答案 0 :(得分:0)
为了使这项工作有效,我不得不在VLC选项上付出很多努力,甚至不能确定那里没有多余/无用/错误的设置(例如多余的冗长;-) 记录下来,我从VLC's wiki获得了帮助。
在接收方:
vlc rtp://192.168.56.101
在发送方:
vlc -vvv video.mp4 --sout '#duplicate{dst=display,dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{mux=ts,dst=192.168.56.101,sdp=sap,name="TestStream"}"}'
NB:
--sout
)