アフィリエイト広告を利用しています

広告

posted by fanblog

Jetson Nano - その6: 顔認識 + Homebridge-camera-ffmpegでドアモニタもどきの機能にする

前準備ができたので、今回からは「 Jetson Nano - その2 」で行った 顔認識と、前回試した「 Jetson Nano - その5 」の Homebridge-camera-ffmpegを使った合わせ技をやっていきたいと思います。


○期待する機能

以下のような動作になればドアカメラとして良いかと思います。

1) doorcam.pyが顔認識したら、JPEGファイルを保存し、Homebridge-camera-ffmpegに通知。
2) Homebridge-camera-ffmpegがサムネイル付きでiPhone(iPad)に通知。
(サムネイル付きの通知は、かなり処理時間の制約で難しいと このあたり にかいてありました。)


○ストリームの流れ
ストリームの流れは以下のような構成にしています。
本来、RTSPサーバーなんて立ち上げる必要がないと思いますし、無駄にEncoder/Decoderを使用しています。

video_stream.png



○使用するプログラム
以下の三つを使用します。

1) rtspサーバー - Jetson Nano - その5 で使用
2) homebridge- Jetson Nano - その5 で使用
3) doorcam.py - Jetson Nano - その2 で使用。


○RTSPサーバー
以下のコマンドで起動して終了です。

./test-launch "nvarguscamerasrc ! video/x-raw(memory:NVMM), width=1280, height=720, framerate=30/1 ! omxh264enc ! queue ! rtph264pay name=pay0 pt=96"



○Homebridge
前回と使った config.json にして、以下のコマンドで起動させてください。

homebridge


今回重要なのは、config.jsonで以下の記述が必要になります。
1) stillImageSourceをdoorcam.pyが保存するJPEGファイル"picture_latest.jpg"に指定しています。
2) motion, switchesをtrueにしているのは外部から通知を受けるようにしています。

あと、iPhoneの設定が必要ですので、 このあたり を読んで設定してください。


○doorcam.py
前回と違って今回は入力ソースがRTSサーバーであったり、JPEGファイルを保存したり、homebridgeに通知したり、と色々やらなければならないので、その辺りの変更をする必要があります。

私のdoorcam.pyを ここ に置いておきますので、必要であれば使ってください。

変更箇所
大きな変更・追加内容は以下になります。"[KM"で検索すればわかるようにコメントしています。

1) os, requests, loggingのモジュールを追加しましたので、インストールしてください。
sudo pip3 install os
sudo pip3 install requests
sudo pip3 install logging


2) 入力ソースをrtspサーバーに変更。

3) 顔検出した時にhomebridgeに通知するように追加。
 また、3秒毎にJPEGファイル (picture_latest.jpg)を保存するように変更。
 前のpicture_latest.jpgは履歴としてバックアップするように日時ファイルにリネーム。

4) そうでない時も、2秒毎にpicture_latest.jpgに保存。ただしバックアップしない。

doorcam.pyの起動
以下のコマンドで立ち上げます。

python3 doorcam.py


○デモ

こんな感じで、顔検出をするとiPadにサムネイル付きで通知がきているのがわかるかと思います。





トラックバック

コメント

お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのコメント

×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: