こんにちは。最近、ご多分に漏れずATEM Miniを買ったSeeedの坪井です。
ウェビナーをしたりYouTubeで配信をするときにHDMIスイッチャーがあれば良いなぁと思って、ついポチっと購入をしてみました。 スライドを表示しつつ、ピクチャーインピクチャーで喋っている人を映すとか、デモのときに手元カメラに切り替えるとかできたら便利ですよね。で、届いたのですが、手元カメラに使えるような小型のHDMIカメラを持っていません。みんなカメラは何使っているんだろうと思って調べてみると、一眼レフなどにHDMIを出力させたり、ZOOMのQ2n-4Kを使ったりしているみたいです。で、Q2n-4Kを買おうと思って探してみたのですがどこも品切れです。悲しい。
そこで、ふとRaspberry PiのCSI端子にカメラを繋いで、HDMIに出力すれば良いんじゃないかということです。これだ!しかも材料は全て手元にあるので、追加投資ゼロです。
まずは、RasPiに接続したカメラの動画をHDMIに出せるかどうかを、Raspberry Pi 4 Model Bで試してみました。
www.seeedstudio.com www.seeedstudio.com
カメラは遊んでみたくて取り寄せたまま、忙しくて放置していたRaspberry Pi High Quality Cameraです。レンズは別売りですので、レンズも一緒に入手するのを忘れないようにしましょう。HQ Cameraは、現在Seeedを含めてあちらこちらで欠品していますので、持っていない方がすぐ試すにはRaspberry Pi Camera Module V2などを使うと良いのではないでしょうか。同様に動くはずです。
大事な前提ですが私はヘッドレス大好きなので、Raspberry Pi OS (32-bit) Liteをいつも使用しています。特に今回は、HDMIをカメラ画像の出力に使うので、デスクトップは邪魔でしかありません。Raspberry Pi OS (32-bit) Liteをダウンロードしてきて使っています。
さて、HDMIに出力する方法をちょこちょこっと調べてみたところ、簡単にできました。あ、もちろん先にraspi-configコマンドを使って、カメラインターフェースを有効にしておいてください。HDMIに出力するには、
raspivid -f -t 0
とコマンドを入力するだけです。-fはフルスクリーン表示、-tは撮影時間です。-t 0でずっと撮影してくれます。終わりたいときはCtrl-Cをキーボードから入力すれば終われます。
さて、できたのですが、Raspberry Pi 4はちょっと大きいですよね。手元カメラに使うには邪魔です。そこで、Raspberry Pi Zeroでもできないかと思ってやってみました。
www.seeedstudio.com www.seeedstudio.com
気軽に使うためにはケースが欲しいですし、なによりRaspberry Pi Zeroのカメラインターフェースは、Raspberry Pi Model Bのインターフェースとピッチが違うためケースに付属のフレキが必要になります。ですので、ケースも一緒に手に入れましょう。Raspberry Pi Zeroをセットアップして、先ほどと同様にraspivid -f -t 0
を実行してみます。
特に性能に問題はなさそうです。後はカメラとして気楽に使うため、給電して起動したときにraspividを自動で実行するように設定するのと、電源を抜いて終了できるようにするだけです。
自動で起動
自動でなにかを起動させるには、systemdを使う方法、crontabに@reboot
を書き足す方法、/etc/rc.local
に書いておく方法など複数の方法があります。
今回はお手軽に/etc/rc.local
のexit 0
の直前に、raspivid -f -t 0
って書いた行を足しておきました。どのみち電源引っこ抜いて終了するつもりなので、丁寧に起動をしても意味無いよねということで。
なお、こうやって起動するようにすると、コンソールからCtrl-Cを入力しても終了しません。後でいろいろいじりたい人は、UARTにコンソールを出すか、SSHでログインできるようにしておくと良いかもしれません。
電源を引っこ抜けるようにする
こちらの記事を参考にしました。
sudo su apt update apt install -y git rsync gawk busybox bindfs initramfs-tools dphys-swapfile swapoff dphys-swapfile uninstall update-rc.d dphys-swapfile disable systemctl disable dphys-swapfile git clone https://github.com/josepsanzcamp/root-ro.git rsync -va root-ro/etc/initramfs-tools/* /etc/initramfs-tools/ mkinitramfs -o /boot/initrd.gz echo initramfs initrd.gz >> /boot/config.txt
がしがしと実行して、swapを切り、rootfsをread-onlyにします。
まとめ
こうして、Raspberry Pi ZeroでHDMIカメラを作る事ができました。 お値段は、Pi Zero $5 + ケース $5.95 + HQカメラ $50 + レンズ $25で、$85.95と送料、輸入消費税です。1万円くらいで作れそうですね。 今度、ATEM Miniに繋いで実際に使えるかどうか確認してみようと思います。
追記
ueponさんが、他の様々な方法について調べてblogを書いていらっしゃいます。こちらも参考になると思います。 uepon.hatenadiary.com
変更履歴
日付 | 変更者 | 変更内容 |
---|---|---|
2020/8/9 | ytsuboi | 作成 |
2020/8/10 | ytsuboi | 追記を追加 |