我正在尝试使用 gstreamer 1.0 将网络摄像头视频从 Raspberry 流式传输到 VLC 播放器。现在我得到了树莓的以下命令:
gst-launch-1.0 -vv -e v4l2src device=/dev/video0 \
! videoscale \
! "video/x-raw,width=352,height=288,framerate=10/1" \
! queue \
! x264enc \
! h264parse \
! rtph264pay config-interval=10 pt=96 \
! udpsink host=239.255.12.42 port=5004
以及以下 sdp 文件以使用 vlc 播放流:
c=IN IP4 239.255.12.42
m=video 5004 RTP/AVP 96
a=rtpmap:96 H264/90000
当我运行 gst-launch-1.0 命令时,我可以使用 wireshark 看到它正在发送 udp 数据包,但是当我尝试使用 vlc 和 sdp 文件播放流时,我什么也得不到。vlc 日志说:
es error: cannot peek
es error: cannot peek
live555 error: no data received in 10s, aborting
我不知道怎么了。我可能没有正确构建管道,这就是 vlc 无法将流识别为正确的视频流的原因。有任何想法吗?
在此先感谢您的帮助。