我正在使用 gstreamer 流式传输 RAW 视频,如下所示:
gst-launch-1.0 -v videotestsrc ! rtpvrawpay ! udpsink host="127.0.0.1" port="5000"
这会输出以下上限:
caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)RAW, sampling=(string)YCbCr-4:2:0, depth=(string)8, width=(string)320, height=(string)240, colorimetry=(string)BT601-5, payload=(int)96, ssrc=(uint)1103043224, timestamp-offset=(uint)1948293153, seqnum-offset=(uint)27904
我可以使用 gstreamer 查看此流:
gst-launch-1.0 udpsrc port="5000" caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)RAW, sampling=(string)YCbCr-4:2:0, depth=(string)8, width=(string)320, height=(string)240, colorimetry=(string)BT601-5, payload=(int)96, ssrc=(uint)1103043224, timestamp-offset=(uint)1948293153, seqnum-offset=(uint)27904" ! rtpvrawdepay ! videoconvert ! queue ! xvimagesink sync=false
使用 VLC,我创建了一个 SDL 文件:
v=0
c=IN IP4 127.0.0.1
m=video 5000 RTP/AVP 96
a=rtpmap:96 RAW/90000
a=fmtp:96 media=video; clock-rate=90000; encoding-name=RAW
但 VLC 错误如下:
core input error: no suitable demux module for `file/any:///home/.../settings.sdp'
如何让 VLC 接受 RAW 流?
答案1
显然 VLC 不支持通过 RTP 的原始视频,请参阅https://forum.videolan.org/viewtopic.php?t=145855(最近)和https://forum.videolan.org/viewtopic.php?t=45(较旧)。