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

예전에 Icbanq에서 라즈베리파이를 구입해서 그동안 책상위에 박스채로 잘 모셔두었습니다.

얼마전 지름신께서 강림하신 바람에 SG90 서보 모터를 여러개 구매해 버렸습니다. 실험할 제어 보드로 라즈베리파이를 사용하기로 했습니다.

라즈님을 소환해보니 서포트를 끼울수 있는곳이 두곳이었습니다. 서포트를 끼우고 세워보니 안세워 ​
집니다.


​​​"​세워보고 또세우고~ 세워보고 또세우고~세워보고 또세우고~ 세워보고 또세우고~세워보고 또세우고~ 세워보고 또세우고~세워보고 또세우고~ 세워보고 또세우고~세워보고 또세우고~ 세워보고 또세우고~"를 실행해보다가 정신건강을위해 그만하고 바닥판를 만들어보았습니다.


3mm MDF판재에 홀가공을 해준후에 바닥면은 미끄러지지 않도록 고무판를 잘라 붙였습니다. (홀가공은 요전번에 만든 미니자동드릴머신을 이용하려 하다가 설치가 귀찮아서 수동핸드드릴을 사용했습니다.)

바닥판에 만들어 결속해주었더니 안정적으로 놓여집니다. 이제 서보를 이용해서 무엇을 만들어야 할것인지 생각해 보아야 겠습니다.

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


+ Recent posts