我有基于Ambarella soc的廉价ip camera,我试图从中恢复rtsp流。 它适用于ffmpeg
ffplay -rtsp_transport tcp -i rtsp://admin:admin@192.168.155.160:80/0
但是当我试图用gstreamer
时gst-launch-1.0 -m tcpclientsrc rtspsrc location=rtsp://admin:admin@192.168.155.160 port=80 ! decodebin ! autovideosink
我遇到了问题:
将管道设置为PAUSED ... 管道是实时的,不需要PREROLL ...... 从元素" streamsynchronizer0"得到消息#0; (状态改变):GstMessageSta teChanged,old-state =(GstState)GST_STATE_NULL,new-state =(GstState)GST_STATE_REA DY,pending-state =(GstState)GST_STATE_VOID_PENDING; 从元素" playsink"得到消息#1; (状态改变):GstMessageStateChanged, old-state =(GstState)GST_STATE_NULL,new-state =(GstState)GST_STATE_READY,待定 -state =(GstState)GST_STATE_VOID_PENDING; 从元素" playbin0"得到消息#2; (状态改变):GstMessageStateChanged, old-state =(GstState)GST_STATE_NULL,new-state =(GstState)GST_STATE_READY,待定 -state =(GstState)GST_STATE_PAUSED; 从元素" streamsynchronizer0"得到消息#6; (状态改变):GstMessageSta teChanged,old-state =(GstState)GST_STATE_READY,new-state =(GstState)GST_STATE_PA 待定状态=(GstState)GST_STATE_VOID_PENDING; 从元素" uridecodebin0"得到消息#7; (state-changed):GstMessageStateChan ged,old-state =(GstState)GST_STATE_NULL,new-state =(GstState)GST_STATE_READY,pe nding状态=(GstState)GST_STATE_PAUSED;
答案 0 :(得分:0)
试试这个,
gst-launch-1.0 rtspsrc location="rtsp://admin:admin@192.168.155.160:80" ! rtph264depay ! h264parse ! nv_omx_h264dec ! ffmpegcolorspace ! queue ! xvimagesink
如果您尝试在其中流式传输,则可以从Web浏览器的源代码中获取正确的rtsp id。