Raspberrypi video recorder

From 탱이의 잡동사니
Jump to navigation Jump to search

Overview

라즈베리 파이를 이용한 동작 감지기 만들기.

대부분의 가이드에서는 motion 프로그램을 이용한 실시간 감시 & 스트리밍을 소개하고 있었다. 처음에는 따라서 설치를 해보았으나, cpu 사용율이 너무 높게 나왔다. 처음에는 motion 사용시, 그래픽 프로세서를 사용하지 않는 줄 알았다. 하지만 몇번의 테스트를 통해서 확인한 결과, 그래픽 프로세서를 사용하지 않는 것이 아니라, motion 에서 동작감지를 하기위해 영상을 분석할 때만 사용률이 올라가는 것을 확인할 수 있었다.

동작이 감지되지 않는 정지화면에서는 CPU 사용률이 높지 않았다.

Requires

다음의 조건을 만족해야 한다.

  • HD 급 화질 녹화
비디오 녹화시 HD급으로 녹화가 되어야 한다.
  • Web streaming
웹 인터페이스를 통해 언제 어디서는 Live 로 중계가 가능해야 한다.
  • Motion detect & alert
동작 감지 중에, 수상한 동작이 감지 되었을 때에는 즉시 email 혹은 SMS 으로 수상한 동작 감지 알람을 전송할 수 있어야 한다.
  • Save & send to email
감지된 영상/사진 내용을 저장 및 이메일로 자동 전송할 수 있어야 한다.

Installation

  • Setup camera module
  • Enable camera module
raspi-config

USB 웹 캠이 아닌, Raspberrypi 카메라 모듈을 사용한다면, raspi-config 설정을 통해 카메라 모듈을 enable 시켜줘야 한다. <source lang=bash> $ sudo raspi-config </source> Enable camera 메뉴로 들어가서, enable 설정후, finish, reboot를 하도록 하자.

Video testing

기본 해상도 설정은 1080p이다(1920x1080)

<source lang=bash> $ raspivid -t 5000 -o video.h264 </source>

기본 설정으로 5초 동안 레코딩

<source lang=bash> $ raspivid -t 5000 -o video.h264 -b 3500000 </source>

설정된 비트 레이트로 5초 동안 레코딩(3.5Mbits/s)

<source lang=bash> $ raspivid -t 5000 -o video.h264 -f 5 </source>

설정된 프레임 레이트로 5초 동안 레코딩(5fps)

<source lang=bash> $ raspivid -t 5000 -o - </source>

stdout 으로 출력하기(Stream encoded)

<source lang=bash> $ raspivid -t 5000 -o - > my_file.h264 </source>

파일로 내용 저장

Configuration

Mail setup

motion 자체적으로는 메일 전송 기능을 지원하지 않는다. 대신, 동작 감지 인식 후, 해당 화면 저장시 별도의 동작 스크립트를 지정할 수 있는데, 이를 통해 메일 전송 및 알람 기능을 활성화 할 수 있다.

postfix

메일 전송 기능을 위해 postfix 를 사용하기로 한다. sendmail에 비해 설정이 간단하고 사용하기가 쉽다.

on_picture_save

on_picture_save 항목은 motion 에서 캡쳐한 이미지 파일을 저장할 때 수행되는 작업을 정의한다. <source lang=bash>

  1. Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
  2. To give the filename as an argument to a command append it with %f
on_picture_save value

</source>


External links