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 |
---|