Opencv: ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด rtsp ์„œ๋ฒ„, ffmpeg ๋””์ฝ”๋”ฉ

์— ๋งŒ๋“  2017๋…„ 03์›” 29์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: opencv/opencv

์‹œ์Šคํ…œ ์ •๋ณด(๋ฒ„์ „)
  • OpenCV => 3.1
  • Opencv-python => 3.1.0-dev
  • ์šด์˜ ์ฒด์ œ / ํ”Œ๋žซํผ => Ubuntu 16.04 LTS
์ƒ์„ธ ์„ค๋ช…

python ๋˜๋Š” C++๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ ˆ์ž„๋ณ„๋กœ ๋ผ์ฆˆ๋ฒ ๋ฆฌ ์นด๋ฉ”๋ผ์—์„œ ์ƒ์„ฑ๋œ rtsp ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ ๋‹จ๊ณ„
.py
     import cv2
     rtsp_url = "rtsp://192.168.55.151:8554/stream.sdp"
     video = cv2.VideoCapture(rtsp_url)
     while(1):
            ret, frame = video.read()
            cv2.imshow('VIDEO', frame)
            cv2.waitKey(1)

์ŠคํŠธ๋ฆผ์€ vlc๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์ฆˆ๋ฒ ๋ฆฌ ๋จธ์‹ ์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค: raspivid -o - -t 0 -hf -w 640 -h 480 -fps 30 | cvlc stream:///dev/stdin --sout "#rtp{sdp=rtsp://192.168.55.151:8554/stream.sdp}" :demux=h264

์ŠคํŠธ๋ฆผ์€ rtsp://192.168.55.151 :8554/stream.sdp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ vlc ํ”Œ๋ ˆ์ด์–ด์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํŒŒ์ด์ฌ ์ฝ”๋“œ์—์„œ ๋‹ค์Œ์„ ์–ป์Šต๋‹ˆ๋‹ค. method SETUP failed: 461 Client error (ffmpeg ์˜ค๋ฅ˜)

๋ช…๋ น์ค„ ffmpeg๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ffmpeg -rtsp_transport tcp -i rtsp://192.168.55.151:8554/stream.sdp
๋™์ผํ•œ ์ •ํ™•ํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ• SETUP ์‹คํŒจ: 461 Client error ๋ฐ Protocol not supported
๋ช…๋ น์ค„ ffmpeg๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ffmpeg -rtsp_transport udp -i rtsp://192.168.55.151:8554/stream.sdp
์ŠคํŠธ๋ฆผ์ด ์„ฑ๊ณต์ ์œผ๋กœ ๋””์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค.

์ด ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด ๋ฒ„๊ทธ์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ์ œ๊ฐ€ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? OpenCV ์ฝ”๋“œ์—์„œ ์ „์†ก ํ”„๋กœํ† ์ฝœ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

videoio question (invalid tracker)

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ผ์ฆˆ๋ฒ ๋ฆฌ ์นด๋ฉ”๋ผ์šฉ UV4L ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด opencv์™€ ํ˜ธํ™˜๋˜๊ณ  ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์ด ์žˆ๋Š” URL์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋ฏธ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค.

์ด๊ฒƒ์— ๋Œ€ํ•œ ํŠœํ† ๋ฆฌ์–ผ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  3 ๋Œ“๊ธ€

๋„คํŠธ์›Œํฌ ๊ฒฐํ•จ/๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ ์—ฐ๊ฒฐ ๋Š๊น€ ๋“ฑ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด OpenCV๋Š” TCP ์ „์†ก ํ”„๋กœํ† ์ฝœ์„ ๊ฐ•์ œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. TCP ์ง€์›์„ ์œ„ํ•ด rstp ์„œ๋ฒ„๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ FFmpeg๊ฐ€ ์•„๋‹Œ OpenCV ๋ฐฑ์—”๋“œ(Gstreamer?)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

BTW, ์‚ฌ์šฉ ์งˆ๋ฌธ์€ ์‚ฌ์šฉ์ž OpenCV Q/A ํฌ๋Ÿผ์œผ๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. http://answers.opencv.org

๋ผ์ฆˆ๋ฒ ๋ฆฌ ์นด๋ฉ”๋ผ์šฉ UV4L ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด opencv์™€ ํ˜ธํ™˜๋˜๊ณ  ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์ด ์žˆ๋Š” URL์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋ฏธ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค.

๋ผ์ฆˆ๋ฒ ๋ฆฌ ์นด๋ฉ”๋ผ์šฉ UV4L ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด opencv์™€ ํ˜ธํ™˜๋˜๊ณ  ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์ด ์žˆ๋Š” URL์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋ฏธ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค.

์ด๊ฒƒ์— ๋Œ€ํ•œ ํŠœํ† ๋ฆฌ์–ผ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰