라즈베리파이2 카메라 영상 스트리밍 (GStreamer)




안녕하세요. 라즈베리파이2 영상 스트리밍 방법에 대해 알아보겠습니다. 컴퓨터에서 라즈베리파이가 보내주는 영상을 실시간으로 확인할 수 있는데요. 저도 수차례 시도 끝에 어제 성공하고 오늘 글을 쓰게 되었네요.


저는 라즈베리파이2와 파이카메라 모듈을 사용하였습니다. 라즈베리파이에 랜선이 꼽혀있습니다만, wifi 동글이 집에 도착하게되면 무선랜 설정을 하고 다시 시도해볼 생각입니다. 그러면 wifi 환경에서는 원격으로 영상을 확인할 수 있겠죠?

.



영상 통신을 위해 정보를 계속 찾아다녔습니다. 그리고 VLC를 사용한 스트리밍 방법도 있었지만, 지연시간이 몇 초씩이나 되서 제가 원하는 기능이 아니었습니다. 하지만 gstreamer를 이용하면 영상을 0.2~0.3초 차이로 확인할 수 있다고 해서 바로 시도를 해보았습니다. 리눅스를 할 줄 아는게 아니라서 많이 애를 먹었고 그대로 시도해도 안되는 자료들도 있어서 힘들었지만 결국에는 성공했습니다. 꽤 고해상도의 영상을 짧은 지연시간 뒤에 전송해주어서 아주 만족스러웠습니다.


https://gstreamer.freedesktop.org/


GStreamer 홈페이지입니다. 최근까지도 자료들이 꾸준히 업데이트되고 있습니다.

1.




~$ wget http://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-0.10.8.tar.bz2
~$ bzip2 -d gst-rtsp-0.10.8.tar.bz2
~$ tar xvf gst-rtsp-0.10.8.tar
~$ cd /gst-rtsp-0.10.8/



위의 명령어를 차례로 입력합니다. Gstreamer RTSP 서버 프로그램을 다운받고 압축을 푸는 과정입니다.


enter image description here


그러면 이제 Gstreamer 라이브러리를 설치해야 합니다. 서버의 버전과 호환이 되야하기 때문에 더 높은 GStreamer 패키지를 설치해도 다음과 같은 명령어를 통해 라이브러리를 받으셔야 합니다.

/gst-rtsp-0.10.8 $ sudo apt-get install libglib2.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev gstreamer-tools gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly





이제 컴파일을 진행합니다.

/gst-rtsp-0.10.8 $ ./configure





컴파일을 마치면 make를 입력합니다.

/gst-rtsp-0.10.8 $ make



이제 모든 설치과정이 끝났습니다.



/gst-rtsp-0.10.8 $ cd examples
/gst-rtsp-0.10.8/examples $ raspivid -t 0 -h 720 -w 1280 -fps 25 -b 2000000 -vf -hf -n -o - | gst-launch -v fdsrc ! h264parse ! gdppay ! tcpserversink host=127.0.0.1 port=5000 | ./test-launch "( tcpclientsrc host=127.0.0.1 port=5000 ! gdpdepay ! avdec_h264 ! rtph264pay name=pay0 pt=96 )"



enter image description here


examples 디렉토리로 이동한 후, 위의 명령어를 입력합니다. raspivid를 통해 카메라 모듈을 실행하고 gst-launch 명령, test-launch 명령을 실행합니다. 에러 없이 카메라 모듈에 불이 들어온다면 성공입니다.




이제 컴퓨터에서 스트리밍 영상을 확인해보겠습니다. 다음 팟플레이어를 사용할건데 스트리밍할 수 있는 플레이어면 아무거나 상관없습니다.


enter image description here


다음 팟플레이어를 열고 ctrl+U를 누릅니다. 주소 열기 창이 나타나는데 위의 사진과 같은 형식으로 작성합니다. 192.168.1.12자리에는 라즈베리파이의 IP주소를 입력하시면 됩니다.


enter image description here


몇 초의 로딩 뒤에 스트리밍 영상이 시작됩니다!


안드로이드 휴대폰에서도 네트워크 스트리밍 기능을 지원하는 플레이어라면 핸드폰에서도 확인해보실 수 있습니다. (예 : mx플레이어)

스트리밍 테스트 동영상입니다.


지금까지 라즈베리파이2과 카메라 모듈을 이용해서 영상 스트리밍을 진행했습니다. 다음에는 wifi 동글을 장착해서 무선으로 진행해보도록 하겠습니다.

  1. 이전 댓글 더보기
  2. ㅇㅇ 2016.05.15 21:23

    저기 혹시 무선랜으로 하셨나요? 무선랜으로 어떻게 하는지 알려주실수 있나요 유선으로는 cctv처럼 만들었는데 무선은 wifi로 할당받은 아이피 집어넣으니까 안되더라구요

    • ㅇㅇ 2016.05.15 21:33

      아 됐어요!

    • ㅇㅇ 2016.05.15 21:51

      아 근데 MX플레이어에서 똑같이 주소 집어넣으면 되나요? 안되서요;;

    • 다무찌 2016.05.17 10:09 신고

      확인해보고 댓글 다시 달겠습니다.

  3. 2016.05.19 22:34

    라이브러리 다운하는데 에서 않되요? 어떤문제인가요?

  4. 페티투치 2016.06.10 00:51

    안녕하십니까. 따라해보는중 안되는 부분이 있어서 질문드립니다.
    다 정상설치 되고 정상실행됬는데 pc나 모바일에서 연결하니깐 no element avdec_h264라는 메시지가 뜨면서 연결이 안되는데 무엇때문이지 아시나요?

    • helpme 2016.10.17 15:17

      저도 계속 이렇게 나와서....너무 답답한데
      혹시 해결하셨나요? ㅠㅠ

  5. 현미니즘 2016.06.10 16:17

    rtsp://192.168.137.5:8554/test 이렇게 했는데 안되네요ㅠㅠ 파이캠에 불은 들어와요
    8554는 뭐를 뜻하는건가요??

    • testpage 2016.07.05 17:05

      포트번호 입니다

  6. 박두상 2016.07.08 01:29

    안녕하세요~ 혼자 계속 삽질하고있는 유저입니다 ㅠ

    입력은 문제가없는데 마지막 다음팟 실행에서 계속 오류가나네요.. 아이피문제는 아닌건 확인했는데 뭐가문제인질 모르겠어요.. 커멘드는 전부 정상으로 입력됬습니다.

  7. ㅇㅇ 2016.07.23 22:38

    첫문장부터 안되는데 머가 문제죠
    다운로드 할려고 타이핑하면 에러가 나면서
    The certificate has not yet been activated 이런 문구가 뜨는데 무슨문제죠?

  8. 오택준 2016.08.02 19:36

    gstreamer0. 10-plungins-ugly 패키지를 찾을수 없데요ㅜㅜ

  9. 오택준 2016.08.02 19:37

    gstreamer0.10-plungins-ugly 패키지를 찾을수 없데요ㅜㅜ

  10. 오택준 2016.08.02 19:37

    gstreamer0.10-plungins-ugly 패키지를 찾을수 없데요ㅜㅜ

  11. 오택준 2016.08.02 19:37

    gstreamer0.10-plungins-ugly 패키지를 찾을수 없데요ㅜㅜ

  12. 오택준 2016.08.02 19:42

    gstreamer0.10-plungins-ugly 패키지를 찾을수 없데요ㅜㅜ

  13. 흐지 2016.08.08 17:15

    1번 과정에서 부터 에러가 납니다. the certficate has not yet been activated가 뜨구요

    gstreamer.freedesktop.org is not trusted. , gstreamer.freedesktop.org is not yet activated 에러가 납니다. 해결부탁드려요 ㅠㅠ

  14. 라즈베리파이3 2016.10.07 12:41

    혹시 라즈베리아피3도 아래와같이하면 되는부분인가요???

  15. 공돌이 2016.11.07 21:53

    저희가 opencv를 컴퓨터에서 사용하려고 생각중인데

    위와 같은 방법으로 컴퓨터로 영상을 받았을때

    opencv로 전송받은 영상 처리를 위해 이용가능한가요??

  16. dd 2016.11.22 05:13

    저기 example에 명령어 입력할때 ip주소랑 다음팟 실행할때 ip주소랑 왜 다른거에요...??

  17. youaregood 2016.12.21 02:44

    많은 도움이 됐습니다! 정말 감사합니다!

  18. 김형우 2017.01.11 13:19

    안녕하세요
    글 잘 봤습니다. 그런데 추가로 궁금한 것이 있어 댓글남겨봅니다. 혹시 스트리밍에 password를 설정하는 방법이 있을까요?

  19. 2018.04.26 20:32

    비밀댓글입니다

  20. 다라무지 2018.04.26 20:33

    E: Package 'gstreamer0.10-plugins-bad' has no installation candidate
    E: Package 'gstreamer-plugins-ugly' has no installation candidate
    해결방법없을까요?

  21. 전자공학 2018.12.04 11:14

    glib-2.0
    gobject-2.0
    gthread-2.0
    gmodule-no-export-2.0
    패키지가 없다고 뜹니다 ㅠ
    wogh325@gmail.com

+ Recent posts