【问题标题】:How to stream a mp4 video over stdin/stdout?如何通过标准输入/标准输出流式传输 mp4 视频?
【发布时间】:2019-10-03 13:35:33
【问题描述】:

我需要将视频流式传输到标准输出,然后再次从标准输入读取该流以显示它。最后,中间会有一个应用程序来处理网络,但现在我想直接测试它。尝试此操作时,视频计时器工作,但屏幕保持黑色。

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

有人知道怎么做吗? 提前致谢!

【问题讨论】:

    标签: linux video streaming stdin


    【解决方案1】:

    我不得不在 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"}"}'
    

    注意:

    • 您会看到 2 个视频输出,这是由于流式传输选项中的“重复”参数(--sout 的值)
    • 不要忘记在两个命令中添加工作站的 IP 地址

    【讨论】:

    • 非常感谢您的回复,但我正在寻找一种通过 stdin/stdout 管道传输流的解决方案,以便我可以自己处理网络传输。
    猜你喜欢
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多