ブログ

Armadillo-640:USBカメラの画像を保存

at_kazutaka.bito
2021年6月8日 9時49分

Armadillo-640でUSBカメラの画像を保存します。
ここでは、UVC対応のUSBカメラから、MJPEG形式の画像を入力し、mkvファイルに保存します。

1. USB Video Class(UVC)を有効にします。

Armadillo-640:USB Video Class(UVC)を有効にするを 参考に、Armadillo-640のカーネルイメージを書き換えて起動します。
USBカメラを接続すると、/dev/video0というデバイスファイルでUSBカメラを認識します。

2. ffmpegをインストール

Armadillo-640をインターネットに接続可能なネットワークに接続して、下記コマンドでffmpegをインストールします。

root@armadillo:~# apt-get update
root@armadillo:~# apt-get install ffmpeg


3. USBカメラの画像の入力&保存

下記内容(※)のファイル(rec_usbcam)を作成します。
※)ここでは例として下記の設定
 USBカメラからの入力(注):1920x1080、15fps、MJPEG形式
 1ファイルの保存時間:60秒
注)USBカメラ側で設定可能な範囲の設定にします。

rec_usbcam

ffmpeg \
 -f v4l2 -input_format mjpeg -video_size 1920x1080 -framerate 15 \
 -i /dev/video0 \
 -c:v copy \
 -f segment -segment_time 60 -segment_wrap 10 \
 output%02d.mkv


補足)
 -input_format mjpeg:カメラからの入力をMJPEGに指定
 -video_size 1920x1080:画像サイズ(1920x1080)
 -framerate 15:フレームレート(15fsps)
 -segment_time 60:撮影時間(60秒)
 output%02d.mkv:MJPEGをmkv形式の動画ファイルとして出力

上記で作成したファイル(rec_usbcam)に実行権限を付けます。

root@armadillo:~# chmod +x rec_usbcam

下記のrec_usbcamを実行すると、USBカメラの画像の保存が開始されます。

root@armadillo:~# ./rec_usbcam

1分毎に、output[数値].mkvというファイル名でUSBカメラから入力したMJPEGの画像が、
動画として、mkvファイルに保存されます。