我的gstreamer命令可以在Linux平台上将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命令来读取新输入。
无论如何都要检查源是否停止发送视频以便我可以编写脚本,并且每次脚本都会启动gst命令,如果源的行为如此。
答案 0 :(得分:0)
gst-launch是一个很好的测试工具,但是就信号而言,你可以做的事情有限。您可以围绕该管道编写应用程序并监视EOS(流末尾)消息,并根据需要处理它。请参阅“应用程序编写者指南”的第25页:http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/manual.pdf
同时,rtspsrc具有超时属性,您可以尝试将其设置为更高的临时解决方法。