ネットワークカメラは一つのコンピューター
ネットワークカメラとアナログカメラの最大の違いは、『ネットワークカメラはそれ自身が一つの小さなコンピューター』であることであると筆者は考えている。
つまり、ネットワークカメラに対して指示(コマンド)を投げつけることで、カメラで様々な挙動を起こすことが可能なのだ。
また、機種によってはネットワークカメラから別のネットワークカメラに対してコマンドを投げることもできる。例えば、固定カメラAでモーション検知をしたタイミングで、PTZカメラBに対して首振りやズームを行うように指示をすることが可能であるのだ。
アクシスのカメラはVAPIXで動作する
このコマンドは、基本的には各メーカーでバラバラの記述となっている。アクシスコミュニケーションズのカメラの場合、VAPIX(バピックス)というコマンドで動作させることができる。
VAPIXについては以下のURLにライブラリーが掲載されている。一例を紹介しよう。
※なお、以下のURLにログインするためにはMY AXISのアカウントのほか、開発者コミュニティへの参加が必要となる。
※また、筆者も開発の専門家ではないため、コマンドの記述を間違えているかもしれない。正式な記述については以下のURLを参照してほしい。
◎HTTPで動画を取得する場合の例
例えば、HTTPコマンドでカメラからJEPGの映像を取得したいとする。その場合、以下のコマンドをPC上で入力すると、映像を取得することができる。
http://IPアドレス/axis-cgi/mjpg/video.cgi?resolution=1920x1080&compression=30
※上記では解像度が1920×1080で、圧縮率を30で映像を取得するように記載している。
◎HTTPで静止画を取得する場合の例
静止画の場合は『Video』のところを『image』に書き換えると良い。
また、『mjpg』のままだと、モーションJPEG(動画)になってしまうため、『jpg』に変更すると、静止画を取得することができる。
http://IPアドレス/axis-cgi/jpg/image.cgi?resolution=1920x1080&compression=30
※上記のコマンドを入力することで以下の画像を取得することができた。
◎HTTPでカメラを再起動する場合の例
http://IPアドレス/axis-cgi/restart.cgi
◎RTSPで動画を取得する場合の例
rtsp://IPアドレス/axis-media/media.amp
これ以外にも、HTTPのコマンドを送信することで、指定したプリセットに首振り操作をしたり、IOポートを制御することも可能である。
例えば、防犯センサーの信号をAXIS P8221などの装置で受け取り、PTZカメラを制御することも可能だ。
まとめ
- ネットワークカメラは、コマンドを送受信することで様々な挙動を実行させることが可能である。
- コマンドを使うことで、ネットワークカメラを連動させて、機能を活用することができる。
- 最低限のコマンドを知っておくだけでも、障害切り分けや検証の際に役に立つので覚えておくと良いだろう。