4.2. onviftools¶
onviftoolsは、ONVIF対応カメラの以下の設定を取得するためのコマンドラインツールです。 ICE-Core、Node-RED実行中でも使用できます。
4.2.2. 書式¶
onviftools discovery [-u <ユーザ名>] [-p <パスワード>]
onviftools get <カメラのIPアドレス>:<カメラのHTTPポート番号> [-u <ユーザ名>] [-p <パスワード>] <プロパティ名>
カメラのIPアドレス、ユーザ名、パスワードは事前の設定が必要です。
4.2.2.1. サブコマンド¶
discovery接続されているカメラを発見し、カメラのIPアドレスを表示します。getカメラの各種情報を取得します。
4.2.2.2. オプション¶
-u、--userカメラのユーザ名を設定します。-p、--passwordカメラのパスワードを設定します。
4.2.2.3. プロパティ名¶
サブコマンドgetでは以下のプロパティを指定し、カメラの情報を取得することができます。
capabilitiesカメラの対応機能一覧を取得します。profilesカメラのプロファイル一覧を取得します。deviceInformationカメラの機器固有情報を取得します。systemDateAndTimeカメラの日時設定を取得します。hostnameカメラのホスト名を取得しますvideoSourcesカメラのビデオソース設定を取得します。presetsカメラのプリセットポジションを取得します。servicesカメラのサービスについての情報を取得します。streamUriカメラ映像のストリームを取得するためのURIを取得します。snapshotUriカメラのスナップショットを取得するためのURIを取得します。statusカメラのPTZ statusを取得します。imagingSettingsカメラのアクティブなビデオソースに設定されたスナップショット撮影用の設定を取得します。
4.2.3. 出力¶
指定したプロパティの情報やディスカバリーされたカメラの情報がJSON形式で標準出力に表示されます。
4.2.4. 戻り値¶
| エラーコード | 実行結果 |
|---|---|
| 0 | 正常終了 |
| 1 | 異常終了 |
4.2.5. 使用例¶
4.2.5.1. カメラの発見・IPアドレス取得¶
onviftools discovery
上記コマンドを使用することで、接続しているカメラのIPアドレスを取得できます。
オプション-uおよび-pを使用すると、指定したユーザ名、パスワードで接続できるカメラのハードウェア情報も取得することができます。 (カメラの認証設定によってはオプションを指定しなくてもカメラのハードウェア情報を取得できる場合があります。) カメラのハードウェア情報が得られなかったカメラについてはその原因を出力します。
以下のような出力が標準出力に表示されます。
[
{
hostname : "xxx.xxx.xxx.xxx",
port : 80,
device_information: {
manufacturer: 'xxx',
model: 'xxx',
firmwareVersion: 'xxx',
serialNumber: xxx,
hardwareId: 'xxx'
}
},
{
hostname : "xxx.xxx.xxx.xxx",
port : 80,
get_device_infor_error: ""
}
]
4.2.5.2. カメラのCapabilityの取得¶
- 全てのCapabilityの取得
onviftools get <IPアドレス> capabilitiesカメラが対応している機能一覧を取得するコマンドです。 以下のような出力が表示されます。
device{
XAddr: "", //deviceサービスのURI
network:
{ IPFilter: true,
zeroConfiguration: true,
IPVersion6: false,
dynDNS: false
},
system:
{ discoveryResolve: true,
discoveryBye: true,
remoteDiscovery: false,
systemBackup: false,
systemLogging: false,
firmwareUpgrade: false
},
...
},
...
- 部分的なCapabilityの取得 第3引数にピリオド区切りで項目を指定することで、機能一覧の一部を取得することができます。 以下はネットワークに関するカメラの対応機能一覧を取得する場合のコマンド使用例です。
$ onviftools get <IPアドレス> capabilities.device.network
{ IPFilter: true,
zeroConfiguration: true,
IPVersion6: false,
dynDNS: false
}
存在しない項目を指定した場合、「PROPERTY is not exist」というメッセージが出力されます。
4.2.5.3. プロファイルの取得¶
- 全てのプロファイルを取得する場合
onviftools get <IPアドレス> profiles上記コマンドを実行することで、カメラのプロファイルが以下のように出力されます。
[
{
$: 'mdedia_profile1',
name: 'media_profile1',
videoSourceConfiguration: {...},
...
}
]
- 部分的なプロファイルを取得する場合 第3引数にピリオド区切りで項目を指定することで、プロファイルの一部を取得することができます。
$ onviftools get <IPアドレス> profiles.1.videoEncoderConfiguration
{
$:'encoder_config1',
name: 'encoder_config1',
encoding: 'H264'
...
}