![보안 카메라에 액세스하고 /dev/video에 숨기는 방법은 무엇입니까?](https://linux55.com/image/82377/%EB%B3%B4%EC%95%88%20%EC%B9%B4%EB%A9%94%EB%9D%BC%EC%97%90%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%98%EA%B3%A0%20%2Fdev%2Fvideo%EC%97%90%20%EC%88%A8%EA%B8%B0%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
문자 비디오 유형 항목만 지원하는 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