当源停止并再次启动时,GStreamer无法读取输入视频

当源停止并再次启动时,GStreamer无法读取输入视频,gstreamer,Gstreamer,在Linux平台上,我的gstreamer命令可以很好地将rtsp视频转换为h 264 gst-launch-1.0 -v rtspsrc location="source" ! rtph264depay ! avdec_h264 ! videoscale ! videorate skip-to-first=true ! videoconvert ! queue ! capsfilter caps="video/x-raw,format=(string)I420,width=(int)320

在Linux平台上,我的gstreamer命令可以很好地将
rtsp
视频转换为
h 264

gst-launch-1.0 -v rtspsrc location="source" ! rtph264depay ! avdec_h264 ! videoscale ! 
videorate skip-to-first=true ! videoconvert ! queue ! 
capsfilter caps="video/x-raw,format=(string)I420,width=(int)320,height=(int)240,framerate=(fraction)30/1,colorimetry=(string)bt601" !
x264enc byte-stream=true threads=1 me=1 subme=6 bitrate=100 speed-preset=1 ! video/x-h264 ! rtph264pay pt=96 mtu=1300 ! udpsink clients="IP:port"
但一旦源停止发送视频提要并再次启动,那么gstreamer管道就不会读取新的输入流,我需要再次重新启动gst命令以读取新的输入


还有没有办法检查source是否停止发送视频,这样我就可以编写一个脚本,并且每次脚本都会启动gst命令,如果source的行为是这样的。

gst launch是一个很好的测试工具,但您在发送信号方面的能力有限。您可以围绕该管道编写一个应用程序,观察EOS(流结束)消息,并根据需要处理它。请参阅《应用程序编写者指南》第25页:

同时,rtspsrc有一个timeout属性,您可以尝试将其设置为更高的值作为临时解决方案