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'
...
}