カメラモジュール libcamera

RaspberryPi OSが2021年11月8日「bullseye」へバージョンアップした。
それに伴い、カメラモジュールが従来のraspistill、raspividコマンドからlibcameraに変わったので、概要をピックアップして使い方などの要約。

OSが「Buster」の場合は、「libcamera」をインストールする。
「Buster」を最新版にアップデートしておく
sudo apt update
sudo apt full-upgrade
sudo apt install libcamera-apps
boot/config.txtの末尾にカメラモジュールに合わせて、dtoverlayを追加する。

Camera Module Markdown
V1 camera (OV5647) dtoverlay=ov5647
V2 camera (IMX219) dtoverlay=imx219
HQ camera (IMX477) dtoverlay=imx477
IMX290 and IMX327 dtoverlay=imx290,clock-frequency=74250000
dtoverlay=imx290,clock-frequency=3712500
IMX378 dtoverlay=imx378
OV9281 dtoverlay=ov9281

rasPi3などを使っている場合、認識されないときには。
dtoverlay=vc4-fkms-v3ddtoverlay=vc4-kms-v3d と記述がが必要、そして再起動。
[例] /boot/config.txの下に
[all]
dtoverlay=vc4-fkms-v3d
dtoverlay=imx477

再起動の後、デスクトップのターミナルから

libcamera-hello

デスクトップ画面にカメラからのプレビューが5秒ほど表示される。

静止画コマンド libcamera-jpeg

libcamera-jpeg -o test.jpg
 -o : オプションは –output とも、ファイル出力する
 tes.jpg のファイル名で出力。

静止画コマンド libcamera-still

libcamera-still -o test.jpg は、libcamera-jpegと同等
エンコーダオプション
 -e(同等の–encoding) でエンコード指定
libcamera-still -e png -o test.png
libcamera-still -e bmp -o test.bmp
libcamera-still -e rgb -o test.data
libcamera-still -e yuv420 -o test.data 

プレビュー

libcamera-hello -t 0
-t : 時間設定オプション 0を設定で無制限、

動画コマンド libcamera-vid

デフォルトでH.264 エンコーダ
libcamera-vid -t 10000 -o test.h264  10 秒のビデオをtest.h264に出力
vlcでh264を表示できる、またはコンバータでmpg4に変換する

ネットワークストリーミング

UDP
libcamera-vid -t 0 –inline -o udp://<ip-addr>/:<port>
VLCで見る
vlc udp://@:<port> :demux=h264
TCP
libcamera-vid -t 0 –inline –listen -o tcp://0.0.0.0:<port>
vlcで
vlc tcp/h264://<ip-addr-of-server>:<port>

Previous article

WindowsにWSLでLinuxを