at_ito
2018年2月5日 4時51分
(function(w,d,url,a,s,e){
w[a]= (w[a]||[]);
s = d.getElementsByTagName('script')[0];e = d.createElement('script');e.src=url;e.async=1;s.parentNode.insertBefore(e,s);
})(window,document,'//ec-concier.com/28656ffd9dd0b0b8/analytics.js','ara');
ara.push(['init', '28656ffd9dd0b0b8']);
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出ない場合はスクリプトを変更してください。