Create Date :2015/01/15,  Modified Date : 2015/01/17,  Revision : 3.


gstreamer로 해보는 라즈베리파이 카메라 테스트.


*사용 OS : raspbian(debian wheezy) 2014-12-24 / windows7 64

*사용 프로그램 : gstreamer1.0



얼마전 라즈베리파이 카메라 모듈을(pi-cam) 구입 하였습니다. 테스트를 해보기위해 인터넷을 검색해 VLC를 사용한 스트리밍, mjpg-stream을 사용한 웹스트리밍을 수행해 보았습니다. 두가지 자료 모두 정상적으로 카메라 영상을 볼수 있었지만 지연시간이 길어서 (상황에 따라 약3~10초 정도 되었었습니다.) 만족스러운 테스트 결과를 얻을수 없었습니다.


그러던중 gstreamer을 활용한 스트리밍은 지연시간이 상당히 짧다는 내용(약 0.2초) 을 검색할수 있었습니다. 테스트를 위해 내용을 수행보려 했지만 검색된 내용은 리눅스에서 영상을 출력하고 있었습니다. 필자는 윈도우에영상출력 테스를 하려고 하였기 때문에 몇가지 내용의 검색을 더 수행하였습니다.

 

자료를 검색해 종합하여 정상적인 실행및 테스트를 할수 있었습니다. 또한 매우 짧은 지연시간을 확인할수 있었습니다. 아래 내용은 필자가 수행했던 설치 방법및 실행 방법을  정리해보았습니다.



1. 라즈베리파이 카메라 설정.


$ sudo raspi-config

* 5 Enable Camera 항목 Enter키 누른후 Enable 선택후 Enter키 입력.

* <Finish> 선택하여 Enter키 누른후 <Yes>에 Enter키눌러 재부팅.



2. 라즈베리파이 gstreamer 설치/실행.


$ sudo apt-get update

$ sudo apt-get install gstreamer1.0

(* raspbian 2014-12-14 버전에서는 별도의 저장소 추가 없이 설치가 가능하였습니다.)

$raspivid -t 0 -w 800 -h 600 -fps 30 -hf -vf -b 50000000 -o - | gst-launch-1.0 -e -vvvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 ! udpsink host=[타켓 컴퓨터 IP] port=5000



3. 윈도우 gstreamer 설치/실행.


아래링크에서 사용하고있는 윈도우 시스템에 맞는 패키지를 다운 받은후 설치합니다.(complete를 선택하여  설치합니다. Typical 선택시 WARNING: erroneous pipeline: no element "avdec_h264" 에러가 발생할수 있습니다.)

32비트 : http://gstreamer.freedesktop.org/data/pkg/windows/1.4.5/gstreamer-1.0-x86-1.4.5.msi

64비트 : http://gstreamer.freedesktop.org/data/pkg/windows/1.4.5/gstreamer-1.0-x86_64-1.4.5.msi


* 시작을 눌러 cmd를 입력후 Enter키를 눌러 cmd창을 열어줍니다.

C:\> cd gstreamer

C:\gstreamer> cd 1.0

C:\gstreamer\1.0> cd x86_64 [32비트일경우 cd x86]

C:\gstreamer\1.0\x86_64> cd bin

C:\gstreamer\1.0\x86_64\bin> gst-launch-1.0 -e -v udpsrc port=5000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false



* 기타사항


Issue 1> URL : http://pmice.tistory.com/292#comment10104514

윈도우 gstreamer1.0 1.4.5버전에서는 gdpdepay 파이프라인을 선언한 실행이 가능한것을 확인하였습니다. (낮은 버전 사용시 WARNING: erroneous pipeline: no element "gdpdepay" 에러로 인하여 실행을 할수 없었습니다.)


[ 명령어 예제 ]

라즈베리파이 : $ raspivid -t 0 -h 720 -w 1280 -fps 25 -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=[라즈베리파이IP] port=5000


윈도우 : C:\gstreamer\1.0\X86_64\bin> gst-launch-1.0 -v tcpclientsrc host=[라즈베리파이IP] port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false



* 참고URL


1)  http://robogoby.blogspot.kr/2014/01/raspi-camera-gstreamer-10-w-windows-7.html

2)  http://www.raspberrypi.org/forums/viewtopic.php?p=491075



- 2015.01.15 나무의날에 프미케 -


* 본 포스트의 원문은 프미케의 낙서장(http://pmice.tistory.com)에서 작성되었습니다.




'라즈베리파이' 카테고리의 다른 글

라즈베리파이.....  (0) 2014.08.18

+ Recent posts