ブログ

Armadillo-840: カメラで撮影した動画を保存しながらLCDに表示する方法

at_ito
2018年2月5日 4時51分

Armadillo-840でカメラの画像を表示しながら、SDカード等のストレージにH.264でエンコードして保存したい場合があるかと思います。その場合はGStreamerのコマンドで対応できます。

ここではGStreamerを使用してカメラ画像を表示しながらSDカードへ動画ファイルを保存する方法を紹介します。

サンプルスクリプト

以下のようなサンプルスクリプトをArmadillo上で作成し、実行してください。

echo encoder > /sys/devices/platform/acm.0/codec

sleep 3

gst-launch-1.0 -e v4l2src device=/dev/video0 \
! video/x-raw,format=NV12,width=640,height=480,framerate=30/1 \
! tee name=t \
t. ! queue ! videoconvert ! fbdevsink device=/dev/fb1 \
t. ! queue \
! acmh264enc bitrate=1000000 b-pic-mode=2 \
! queue ! qtmux ! filesink location=/root/output.mp4

※: カメラのデバイスファイルが/dev/video0でない場合はスクリプトを変更してください。
※: フレームバッファが/dev/fb1出ない場合はスクリプトを変更してください。