具有RTSP src和UDP接收器的gstreamer管道

时间:2018-06-27 18:46:19

标签: gstreamer

我有一个奇怪的需求,即需要gstreamer管道... 我有一台采用VP8流的服务器,以及一台生成H264 rtsp流的摄像机。这两个系统都在其范围内工作,并且都是独立的(我无法更改它们)。我需要将H264流从摄像机上拉下来,并将其转换为VP8,然后将其发送到服务器。

在H264(网络摄像机)侧,我可以从摄像机中检索视频并以此显示它...

PIPELINE1:
gst-launch-1.0 \
  rtspsrc location=rtsp://FULL_URI_OF_CAMERA ! queue ! rtph264depay ! \
  decodebin ! autovideosink

在VP8端,我可以使用此功能将视频发送到服务器...

PIPELINE2:
gst-launch-1.0 \
 v4l2src device=/dev/video0 ! video/x-raw,height=480,width=640 ! \
 videoconvert ! \
 vp8enc target-bitrate=1000000 threads=8 error-resilient=1 deadline=1 ! \
 rtpvp8pay pt=96 !  \
 udpsink host=1234 port=1.2.3.4

PIPELINE1和PIPELINE2都可以工作;但是我基本上需要用PIPELINE1的src替换PIPELINE2的src,它看起来像这样:

PIPELINE3:
gst-launch-1.0 rtspsrc \
location=rtsp://FULL_URI_OF_CAMERA ! queue ! rtph264depay ! decodebin ! \
videoconvert ! \
vp8enc target-bitrate=1000000 error-resilient=1 deadline=1 ! \
rtpvp8pay pt=96 ! udpsink host=1.2.3.4 port=1234

当我尝试此管道时,gstreamer崩溃(捕获到SIGSEGV)。 不是gstreamer专家,我有点迷茫。 有什么想法吗?

0 个答案:

没有答案