2015년 7월 12일 일요일

라즈베리파이 카메라 첫 동작


처음에 구입하고 방치해 뒀던 적외선 카메라가 생각이 나서 꺼내 봤습니다.
아래 사진처럼 라즈베리파이에 카메라 전용 슬롯에다 꽂으면 끝입니다.


그리고 raspi-config 에서 5번의 Enable camera 를 해 주시면 기본 준비가 된거죠.



저는 개인적으로 gstreamer 에 친숙 합니다.
gstreamer 를 쉽게 얘기 하면 Linux 의 DirectShow 정도로 설명할 수 있으려나요.
python 에 익숙하신 분이라면 python-picamera 를 사용하시는 것도 좋을 것 같습니다.

그럼, 적외선 카메라를 작동시켜 보죠.
>> gstreamer 를 설치해 주고
$ sudo apt-get install gstreamer1.0
>> 화면에 카메라 영상을 보여 줍니다.
$ raspivid -t 0 -h 720 -w 1080 -fps 25 -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! decodebin ! autovideosink
이렇게 하시면 아래 와 같이 화면에 카메라 미리보기를 할 수 있습니다.
모델은 아들의 어릴적 절친 곰순이가 수고해 줬습니다.

라즈베리 카메라 화면 미리보기
물론 gstreamer 를 사용해서 파일로 레코딩 하거나 스트리밍 서버로 만드는 방법도 있습니다.

[레코딩]
$ raspivid -t 0 -h 720 -w 1080 -fps 25 -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! video/x-h264,width=1280,height=720 ! h264parse config-interval=2 ! filesink location=sample.h264

[스트리밍]
라즈베리파이 (서버) >
$ raspivid -n -w 1280 -h 720 -b 4500000 -fps 30 -vf -hf -t 0 -o - | gst-launch-1.0 -v fdsrc !  h264parse ! rtph264pay config-interval=10 pt=96 ! udpsink host=192.168.0.17 port=9000 
우분투 (클라이언트) >
$ gst-launch-1.0 -v udpsrc port=9000 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
스트리밍 결과 물을 찍어 봤습니다.
접사는 그닥 좋지 않고 적외선 테스트도 해 봤습니다.

스트리밍 결과를 우분투에서 본 화면

스트리밍 결과를 우분투에서 본 화면 (적외선)
스트리밍을 사용해서 감시 카메라를 만들어 보는 것도 괜찮을 것 같고
로봇이 돌아 다니면서 스트리밍을 해주는 것도 생각 해 볼 수 있을 것 같습니다.
동작 감지 센서도 구입했는데 이것과 같이 사용해서 할 수 있는 것도 고민해 봐야 겠네요.

댓글 없음: