Gstreamer视频流错误并中断/dev/video source

Gstreamer视频流错误并中断/dev/video source,gstreamer,h.264,v4l2,Gstreamer,H.264,V4l2,该管道是我使用Logitech C920摄像头来传输H264视频的管道,如下所示: gst-launch-1.0 -v -e v4l2src device=/dev/video1 ! video/x-h264,width=1280,height=720,framerate=30/1 ! h264parse ! tee name=t ! queue ! rtph264pay ! udpsink host=127.0.0.1 port=1234 (T形三通用于拆分以稍后保存流) 这条管道很管用。然

该管道是我使用Logitech C920摄像头来传输H264视频的管道,如下所示:

gst-launch-1.0 -v -e v4l2src device=/dev/video1 ! video/x-h264,width=1280,height=720,framerate=30/1 ! h264parse ! tee name=t ! queue ! rtph264pay ! udpsink host=127.0.0.1 port=1234
(T形三通用于拆分以稍后保存流)

这条管道很管用。然而,一段时间后,管道将崩溃:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
libv4l2: error dequeuing buf: No such device
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2865): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason error (-5)
EOS on shutdown enabled -- waiting for EOS after Error
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:12:06.806371505
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
libv4l2: error turning off stream: No such device
libv4l2: error turning off stream: No such device
libv4l2: error turning off stream: No such device
libv4l2: error querying buffer 0: No such device
libv4l2: error turning off stream: No such device
Setting pipeline to NULL ...
Freeing pipeline ...
这通常是可以的,但是通过这种方式崩溃,视频对象(/dev/video1)被破坏并消失。当我拔下并重新插入相机时,它再次出现。我是远程控制的,所以我不能用这种方式重置相机

这是怎么发生的?有没有办法解决这个问题?重建/dev/video*对象的某种方法

Edit1:在对管道进行了更多的处理之后,这显然是可行的:

gst-launch-1.0-v-e v4l2src设备=/dev/video1!视频/x-h264,宽度=1280,高度=720,帧速率=30/1!发球台名称=t!队列h264parse!RTPH264支付!udpsink主机=127.0.0.1端口=1234

我刚把h264parse移到发球台后面。仍然不知道为什么会这样,也不知道最初的问题是什么