SW

nodejs를 활용하여 라즈베리파이 카메라 스트리밍 사용하기

S.Zinlee 2016. 7. 24. 23:18
1. 카메라 동작확인
  -. PiCAM 구입 후 파란색이 USB, 은색이 hdmi쪽을 향하게 모듈을 삽입한다.
  -. sudo raspi-config 명령어에서 5번 메뉴 camera를 enable시킨다.
     (안되면 sudo apt-get update, sudo ap-get upgrade 선행)
  -. 메뉴를 빠져나오면서 재부팅을 한다.
  -. raspistill -o image.jpg 라고 입력하여 이미지가 잘 생성되는지 확인한다.

2. 먼저 필요한 라이브러리를 설치
   $ sudo apt-get install libjpeg8-dev imagemagick libv4l-dev

3. build시 필요한 파일을 include해 두기
   $ sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h

4. mjpg-streamer 소스를 받는다
  -. Git에서 받아도 되고 검색해서 일반 사이트에서 받아도 된다.

5. 빌드
   $ cd mjpg-streamer-code-182/mjpg-sreamer
   $ make mjpg_streamer input_file.so output_http.so (Makefile에서 필요한거 주석 풀어준다)
  (위에가 귀찮으면 make clean all)

6. 주요 library root로 복사
   $ sudo cp mjpg_streamer /usr/local/bin
   $ sudo cp outpu_http.so input_file.so /usr/local/lib/
   $ sudo cp -R www /usr/local/www

7. stream이 될 jpg파일이 저장될 폴더 생성
   $ mkdir /tmp/stream

8. 실행
   $ raspistill --noreview -w 640 -h 480 -q 5 -o /tmp/stream/pic.jpg -tl 100 -t 9999999 -th 0:0:0 & (임시 저장 폴더에 이미지를 반복하여 저장)
   $ LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_file.so -f /tmp/stream -n pic.jpg" -o "output_http.so -w /usr/local/www"

9. 포트 변경
기본 포트는 8080으로 mjpeg stream 서버가 열리는데 이를 바꿔 주기 위해서는 -p 옵션을 사용한다.
   $ LD_LIBRARY_PATH=/usr/local/lib mjpg_streamer -i "input_file.so -f /tmp/stream -n pic.jpg" -o "output_http.so -p 8888 -w /usr/local/www"

*동작원리는 mjpeg용 서버를 열어서 실제 웹페이지에서는 해당 서버의 스트리밍을 받아서 사용.(포트가 겹치지 않도록 주의)


참고 사이트 :

http://jskorl.blog.me/220379225762