Gstreamer rtsp 从 ipcamera 接收

Gstreamer rtsp receiving from ipcamera

我有基于 Ambarella soc 的廉价网络摄像头,我正在尝试从中接收 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

我有一个问题:

正在将管道设置为暂停... 管道是实时的,不需要 PREROLL ... 从元素 "streamsynchronizer0" 获得消息 #0(状态已更改):GstMessageSta teChanged,旧状态=(GstState)GST_STATE_NULL,新状态=(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, pending -state=(GstState)GST_STATE_VOID_PENDING; 从元素 "playbin0" 获得消息 #2(状态已更改):GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending -state=(GstState)GST_STATE_PAUSED; 从元素 "streamsynchronizer0" 获得消息 #6(状态已更改):GstMessageSta teChanged,旧状态=(GstState)GST_STATE_READY,新状态=(GstState)GST_STATE_PA USED​​, pending-state=(GstState)GST_STATE_VOID_PENDING; 从元素 "uridecodebin0" 获得消息 #7(状态已更改):GstMessageStateChan ged, 旧状态=(GstState)GST_STATE_NULL, 新状态=(GstState)GST_STATE_READY, pe 发现状态=(GstState)GST_STATE_PAUSED;

试试这个,

gst-launch-1.0 rtspsrc location="rtsp://admin:admin@192.168.155.160:80" ! rtph264depay ! h264parse ! nv_omx_h264dec ! ffmpegcolorspace ! queue ! xvimagesink

您可以从网络浏览器的源代码中获取正确的 rtsp id,如果您尝试在其中进行流式传输。