NVRシステム「Shinobi」 IPカメラの視点操作(パン・チルト)

2020年3月10日火曜日

IPカメラ NVR

t f B! P L
ONVIF対応IPカメラのPTZ(パン・チルト・ズーム)機能をShinobiから操作できるよう設定したいと思います。
今回操作対象のIPカメラはドンキの「スマモッチャー」です。
光学ズームはついてはいませんが、パン・チルトを操作することができます。


操作対象IPカメラ「スマモッチャー」のPTZ機能解析


解析というと大げさですが、まずは操作対象IPカメラの Web UI のHTMLソースを確認してみます。  
WebブラウザにMicrosft Edge(Chromium版)を使用しました。


1.スマモッチャーの Web UI に接続


Microsoft Edgeにて下記URLにアクセスします。

http://[スマモッチャーのIPアドレス]:8080/cgi-bin/webui



2.Webブラウザ開発者ツールの操作


「F12」キーを押して開発者ツールを表示します。
主要ブラウザの開発者ツールには、ブラウザに描画される要素とHTMLソースを強調表示して関連をわかりやすくする機能があります
右ペインのHTMLソースにマウスカーソルを合わせると、そのソース部分により描画される要素が左ペインに強調表示されます。

Edge Dom Inspector


HTMLの構文は開始タグと終了タグに要素を記述する文法となっています。また、タグで閉じられた要素をさらに別のタグで閉じるといった入れ子構造によって構成されています。  
Tableタグのように大まかな範囲のソース部分から、その内容部分をマウスで指し示しながら左ペインで強調表示される部分を確認することによって、自分の調べたい要素のHTMLソースを確認することが容易になります。



3.HTMLソースの確認


スマモッチャーの Web UI 内にある「↑」ボタンをクリックすると、カメラ本体が上方向にチルト動作します。
「↑」ボタン部分のHTMLソースを確認したところ、以下のようになっていました。

<button onclick="window.location.href='webui?command=ptzu'">⬆</button>


ボタンをクリックされたら指定したURLにアクセスするようになっていると思われます。
推測として現在のページの「command」引数に、値「ptzu」を送る処理をしている、と考えてみました。

確認のため、ブラウザのアドレスバーに下記URLを入れてアクセスしてみたところ、スマモッチャーのカメラが上方向にチルト動作しました!

http://[スマモッチャーのIPアドレス]:8080/cgi-bin/webui?command=ptzu

以上で調べた内容を Shinobi に設定すればPTZ操作できそうです。




Shinobi PTZ コントロール設定


1.Shinobiへのアクセス


Webブラウザのアドレスバーに下記URLを入力してShinobiにアクセスします。
http://[ShiobiのIPアドレス]:8080/


登録しているユーザーアカウント名とパスワードでログインします。



2.設定画面の表示


「Edit Monitor」ボタンをクリックします
Select Edito Monitor





3.PTZコントロールの値設定


「Edit Monitor」ウィンドウの「Control」の項目にPTZコントロールの設定値を入力します。


Edit Monitor - Control


試行錯誤した結果、以下のように設定しました。

【設定項目】【設定値】
controllableyes
custom base URL http://[スマモッチャーのIPアドレス]:8080/cgi-bin/webui
call Method POST
Digest Authentication No
Stop Command No
Center URL Address /
Left URL Address ?command=ptzl
Right URL Address ?command=ptzr
Up URL Address ?command=ptzu
Down URL Address ?command=ptzd
以上の設定値を入力後、右下の「Save」ボタンをクリックして保存終了します。


3.PTZコントロール確認


Controlボタンをクリックするとモニタしているカメラの画面左上にゲームパッドのような十字キーが表示されます。これの上下左右ボタンをクリックしてパン・チルトできるか確認します。
PTZ Control

設定は以上です。

Translate

QooQ