我想访问我的安全摄像头,该摄像头通过 rtsp feed 与仅支持字符视频类型条目的 API 进行通信(我是 Linux 新手,我不确定它是否被称为“字符视频”'/dev /video1' 排序)。我跟着这发布后,我得到以下命令的输出:
gst-launch-1.0 -v rtspsrc location=rtsp://admin:[email protected]:554/CH001.sdp ! v4l2sink device=/dev/video1
...Progress: (request) Sending PLAY request...
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3: Internal data flow error.
Additional debug info:
gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3:
streaming task paused, reason not-linked (-1)
我该如何解决这个错误?除了 gstream 之外,您还知道其他方法来完成此任务吗?
PS:消息上还有更多内容,我刚刚恢复以更具可读性。
答案1
我已经使用以下命令在“/dev/video1”上进行了 rtsp 流传输:
ffmpeg -i rtsp://admin:[email protected]:554/CH001.sdp -f v4l2 -pix_fmt yuv420p /dev/video1
。
感谢大家的大力支持。
答案2
您还可以使用 gstreamer,因为 ffmpeg 和 avconv 可能在 v4l2 格式方面存在问题。请注意管道中decodebin的使用。
gst-launch rtspsrc location=rtsp://192.168.2.18/play.sdp ! decodebin ! v4l2sink device=/dev/video1