Raspberry PiでWEBカメラの映像をHDMI出力
概要
タイトルのようなシステムを作ろうとしたときに、Raspberry Pi OSのBullseye、Bookwormから標準ソフトが大きく変わったようなので覚書のために投稿します。
従来のOSで使われていたraspivid、raspistill、Picameraなどが、Bullseyeで「libcamera」に一本化され、Bookwormで「rpicam」に名前が変わっているようです。
今回のようなことをしようとするとraspividやrpicamでの方法が検索に引っかかるのですが、rpicamではUSBカメラは使用できないようです。
そのためffmpegが提供しているコマンドであるffplayを使用しました。
実行環境
MCU:Raspberry Pi 4 Model B 4GB
カメラ:安いUSBカメラ(Nuroum V11)
手順
USBカメラが認識しているか確認
以下のコマンドでUSB機器の一覧を表示し、USBカメラが認識されているか確認します。
lsusb
カメラの映像を画面に出力
まずはコマンドを入力して問題なく動作するかを確認します。
ターミナルで以下のコマンドを入力すると、カメラの映像が全画面でHDMIに出力されます。
キーボードのEscを押すと終了します。
ffplay -i /dev/video0 -pixel_format mjpeg -video_size hd720 -an -fs
ラズパイ起動時に自動起動
スクリプトファイルの作成
毎回コマンドを入力するのは面倒なので自動起動するようにしました。
まず、以下のコマンドを入力してスクリプトファイルを作成します。
nano streaming.sh
テキストエディタが開くので、以下のコマンドを貼り付けます。
貼り付けたらCtrl+Sで保存、Ctrl+Xで終了します。
#!/bin/bash ffplay -i /dev/video0 -pixel_format mjpeg -video_size hd720 -an -fs
念の為、スクリプトが問題なく動作するか確認します。
sh streaming.sh
GUIのautostartに登録
今回起動するのはGUIアプリなので、systemd等ではなくlabwcのautostartを使用します。
まずは以下のコマンドでautostartファイルを作成します。
nano .config/labwc/autostart
テキストエディタが開くので、以下のコマンドを貼り付けます。
貼り付けたらCtrl+Sで保存、Ctrl+Xで終了します。
bash ~/streaming.sh
これでラズパイを再起動したときにスクリプトファイルが実行されるようになります。






ディスカッション
コメント一覧
まだ、コメントがありません