문자 비디오 유형 항목만 지원하는 API를 사용하여 rtsp 피드를 통해 통신하는 보안 카메라에 액세스하고 싶습니다. (저는 Linux를 처음 사용하는데 'char video' '/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 외에 이를 수행하는 다른 방법을 알고 있습니까?
추신: 메시지에 더 많은 내용이 있습니다. 더 쉽게 읽을 수 있도록 복원했습니다.
답변1
다음 명령을 사용하여 "/dev/video1"에서 rtsp 스트리밍을 수행했습니다.
ffmpeg -i rtsp://admin:[email protected]:554/CH001.sdp -f v4l2 -pix_fmt yuv420p /dev/video1
.
여러분의 압도적인 지지에 감사드립니다.
답변2
ffmpeg로 gstreamer를 사용할 수도 있으며 avconv는 v4l2 형식에 문제가 있을 수 있습니다. 파이프라인에서 decodebin 사용에 유의하세요.
gst-launch rtspsrc location=rtsp://192.168.2.18/play.sdp ! decodebin ! v4l2sink device=/dev/video1