ナビ付きでトピックを開く

# ビデオ・ストリームを見るためにONVIFクライアントを使用する

ONVIFクライアントは、進んだカスタム監視システムから基本的なメディア・プレイヤーまで、多くの異なる性質を持っています。

ビデオに永久的なプライバシーマスクを適用している場合、ONVIFクライアントからのビデオをストリームできません。

このセクションでは、Milestone Open Network Bridgeに接続するための手順の例を挙げています。

## ビデオのライブ・ストリームを見るためにネットワーク・ビデオ・クライアントを使用して下さい。

この例では、ONVIF Device Managerをインストールする方法とXProtectインストールからライブビデオをストリームするための構成を説明します。

このONVIF Device Managerは無料の ONVIF 規格に準拠した iDeviceDesign からのオープンソースのネットワークビデオクライアントです。このツールを使用すると、ネットワーク上でONVIF規格に準拠したカメラからのビデオを簡単に見つけ、視聴できます。ただしONVIF Device Managerがストリーミングするにはライブビデオのみとなります。加えて、ストリーム内のビデオデータを収集たり、保存することはできません。

ONVIF Device Managerは、FIPS 140-2またはH.265コーデックに対応していません。

開始する前に、次の情報をご用意ください。

- Milestone Open Network Bridge用に作成されたユーザーのためのログイン資格情報
- インストールされたコンピュータのIPMilestone Open Network Bridgeアドレスまたはその名前

ONVIF Device Managerをインストールするには、次の手順に従ってください：

1. SourceforgeONVIF Device Managerサイト（https://sourceforge.net/projects/onvifdm/）に移動し、インストーラをダウンロードして実行します。ONVIF Device Managerのインストールは、あらゆるコンピュータから行えます。
2. インストールが完了したら、貴方のデスクトップにアイコンが表示されます。アイコンをダブルクリックしてONVIF Device Managerを開始します。
3. ONVIF Device Managerを開始すると、自動的にネットワーク上のONVIF適合デバイスが見つかります。しかし、は見つからない可能性があります Milestone Open Network Bridge。
   - その場合は、ステップ6に移動してください
   - できない場合は、手動でブリッジを追加します。ステップ4で続行
4. Milestone Open Network Bridgeを追加するには、追加をクリックしてください。
5. 追加ディバイスダイアローグボックス及びURI欄で、Milestone Open Network Bridgeをインストールしたコンピュータ名またはIPアドレスとONVIFポーナンバーを記入して下さい。例えば、ストリングはのようなものです:http://[IPaddress]:580/onvif/device_service。
6. ブリッジを追加した後は、リストの最後の「ディバイス」が使用可能です。それを選択して下さい。
7. 上記リストのONVIFクライアント用に作成されたユーザーのログイン資格情報を入力します。これがWindowsユーザーの場合、ドメイン\ユーザー名を入力する必要があります。

## ビデオ・ストリームを表示するために、メディアプレーヤーを使用します。

この例では、XProtectのインストール中にカメラからのライブビデオフィードや録画したビデオを取得し、表示するために、VLCメディアプレーヤーを使用する方法について説明します。

VLCメディアプレーヤーは、VideoLanを含む様々なストリーミング・プロトコルをサポートするVideoRTSPの無料で、オープンソースのマルチメディア・プレーヤーです。カメラにすぐ接続したり、または単にカメラへの接続をテストしたい場合、VLCメディアプレーヤーを使用すると便利です。

録画された映像を見るためにカメラに接続すると、Milestone Open Network Bridgeビデオ・シーケンスは、最初のシーケンスから始まります。

開始する前に、XProtectインストールの管理者からの次の情報を入手してください。

- Milestone Open Network Bridgeに割り当てられているユーザーアカウントのログイン資格情報
- インストールされたコンピュータのIPMilestone Open Network Bridgeアドレスまたはその名前

また、使用するスキーマによって、次の情報が必要となります：

- rtsp://[rtsp_server]:554/live/[camera_id]を使用する場合

  次にビデオのストリーミング元となるデバイスのGUIDが必要です

  Management ClientでカメラGUIDEは利用可能です。GUIDを検索するには、カメラが追加されている録画サーバを選択し、カメラを選択します。情報タブをクリックし、キーボードのCtrlキーを押し、保持し、それから、カメラのビデオ・プレビューをクリックします。

- rtsp://[rtsp_server]:554/live/[camera_id]/[stream_number]を使用する場合

  次にストリーム番号が必要です。これは0～15の間の数値です。

- rtsp://[rtsp_server]:554/live/[camera_id]/[stream_id]を使用する場合

  次に、ストリームIDが必要です。これは XProtect VMS でストリームを特定する GUID です。

  ストリームを特定する現在の XProtect VMS マルチストリーミング実装 GUID は、次の ID に固定されています：

  - 28dc44c3-079e-4c94-8ec9-60363451eb40 - ストリーム0向け

  - 28dc44c3-079e-4c94-8ec9-60363451eb41 - ストリーム1向け

  - ...

  - 28dc44c3-079e-4c94-8ec9-60363451eb4f - ストリーム15向け

この説明は、Windows用のVLC2.2.4に基づいています。

VLCメディアプレーヤーをインストールして、それをXProtectに接続するには、次の手順に従ってください：

1. https://www.videolan.org/vlc/に移動し、VLCメディアプレーヤーのインストーラをダウンロードします。
2. インストーラを実行し、各ステップの指示に従ってください。
3. ツールバー上で、メディアをクリックし、オープン・ネットワーク・ストリームを選択します。
4. オープンメディアダイアログボックス内で、次のRTSP 文字列を入力します。[Milestone Open Network BridgeIPアドレス]および[カメラGUID]の角括弧内の変数を正しい情報に置き換えてください:
   - ライブビデオストリームを閲覧するには、rtsp://[Milestone Open Network Bridge IP Address]:554/live/[Camera GUID]を入力します。
   - 録画映像を閲覧するにはrtsp://[Milestone Open Network Bridge IP Address]:554/vod/[Camera GUID]を入力します。
5. プレイをクリックし、そして、Milestone Open Network Bridgeに追加されたユーザーアカウントのユーザー名とパスワードを入力します。

## ビデオ再生の管理

再生のコントロールは RTSP 規格および ONVIF ストリーミング仕様（https://www.onvif.org/profiles/specifications/）に準じます。

録画サマリー

`GetRecordingSummary` コマンドを使用することで、デバイスの録画したビデオの概要を取得することができます。これは必要用件ではありませんが、検索を実行するに先立って有益な情報を提供してくれます。

最初または最後の録画のタイムスタンプを取得するために`GetRecordingSummary`や`GetMediaAttributes`を使用できます。ただし、まずMilestone Open Network BridgeのXProtect Management Clientプラグインで [カメラ構成を使用する] 設定を有効に設定する必要があります。

`GetServices`から戻ってきたサービスエンドポイントを使用すると、`RecordingSearch`サービスのためのプロキシを作成することができます。リクエストとリスポンス対象を作成し、 `GetRecordingSummary`を呼び出します。

SearchBindingProxy searchProxy( &soapSearch );

std::string searchEndpoint = "http://" + host + "/onvif/recording_search_service";

_tse__GetRecordingSummary tse__GetRecordingSummary;

_tse__GetRecordingSummaryResponse tse__GetRecordingSummaryResponse;

result = searchProxy.GetRecordingSummary( searchEndpoint.c_str(), NULL,

&tse__GetRecordingSummary, &tse__GetRecordingSummaryResponse );

録画のためのサーチ

サーチサービスメソッドである`FindRecordings` はカメラで非同期のサーチを開始します。`FindRecordings` はサーチ結果を参照する最小単位を戻します。仮に、1つしか録画可能なものがない場合でも、サーチはその録画のリファレンスを得るための適切な方法です。

以下のマンダトリパラメータとともに、`FindRecordings` リクエストを送ります：

- `SearchScope` >`IncludedSources` >`Token` –カメラにGUID最小単位を提供する必要があります。
- `SearchScope` >`RecordingInformationFilter` – 以下のパラメータと紐づいています：
  - `timestamp` (UTCフォーマット)
  - `maxTimeBefore` （ミリセカンド単位。リクエストされたtimestampの前の時間）
  - `maxCountBefore` （リクエストされたtimestampeの前の最大トラック数）
  - `maxTimeAfter` （ミリセカンド単位。リクエストされたtimestampの後の時間）
  - `maxCountAfter`（リクエストされたtimestampeの後の最大トラック数）

例：

boolean(//Track[TrackType = “Video”]),2016-12-06T08:07:43Z,99999999,20,99999999,20

検索条件ごとに固有である`SearchToken`とともに、レスポンスを取得できます。

`SearchToken` から`GetRecordingSearchResults` に渡すと、検索条件に一致するすべてのトラックのリストを取得できます。

再生を開始する

ビデオ再生を閲覧するとき、デフォルトのスピードは1です（通常の再生は順方向です）。

再生は RTSP PLAY手法により主導されます。レンジは指定可能です。レンジが指定されていない場合、ストリームは始めから終わりまで再生されます。あるいは、ストリームが一時停止された場合には、一時停止された箇所から再開します。本例で、“Range: npt=3-20”は、RTSPサーバーに3秒から20秒まで再生を開始するように指示します。

例：

PLAY rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

Session: 12345678

Require: onvif-replay

Range: npt=3-20

Rate-Control: no

逆再生

ONVIFデバイスは逆再生をサポートすることがあります。逆再生は負の値のあるスケールヘッダーを使用して表示されます。例えば、データのロスなく逆再生をする場合、–1.0が値として使われます。

Milestone Open Network Bridgeは [-32をサポートしています：32]。

PLAY rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

Session: 12345678

Require: onvif-replay

Range: clock=20090615T114900.440Z

Rate-Control: no

Scale: -1.0

スピードの変更

スピードはRTSP Rate-Controlヘッダーによりコントロールされます。「Rate-Control=yes」の場合、サーバーが再生スピードをコントロールしています。ストリームは標準のRTPタイミングメカニズムを用いて、リアルタイムで配信されます。「Rate-Control=no」の場合、クライアントが再生スピードをコントロールしています。Rate-controlledのリプライは、往々にして特定のONVIFが指定されていないクライアントによって使用されています。なぜなら、「Rate-Control=no」を指定しないからです。

クライアントで再生のスピードをコントロールする場合、提供されたコントローラーを用います。例えば、VLCメディアプレイヤーにおいては、 再生 >スピード>速くあるいは 遅くを選択します。0.5スピードを速める、あるいは遅くする。

Faster FineそしてSlower Fineはスピードを0.25の単位で変更します。

コマンドラインエントリで、VLCメディアプレイヤーの再生を管理する

コマンドラインを使うことで、VLCメディアプレイヤーでのビデオの再生を管理することができます。詳細はVLCコマンドラインヘルプ（https://wiki.videolan.org/VLC_command-line_help/）をご参照ください。

これらのコマンドは、例えば逆再生や、再生の開始場所の変更といったことを可能にします。

よく使われるコマンドラインの例：

>vlc.exe --rate=-1.0 --start-time=3600 "rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373"

場所：

- 速度はスケールおよびスピードパラメータ
- 開始時間は、データベースが開始する数秒後

以下は、VLCメディアプレイヤーの再生コントロールです：

コード | コードでできることは何ですか？
--- | ---
input-repeat= | <integer [-2147483648 .. 2147483647]> インプットの重複 同じ入力が繰り返される回数
start-time= | <float> 開始時間 ストリームは、この地点で開始されます（数秒後に）
stop-time= | <float> 終了時間 ストリームは、この地点で終了します（数秒後に）
run-time= | <float> ランタイム ストリームはこの期間実行されます（数秒後に）
input-fast-seek no-input-fast-seek | ファーストシーク（デフォルトでは無効） シークしている間、正確さよりスピードを選ぶ
rate= | <float> 再生速度 これは再生スピードを定義します（標準スピードは1.0です）
input-list= | <string> インプットリスト コンマで区切られた入力のリストを与えることができます。これらの入力のリストは、通常の入力の後に連結されます。
input-slave= | <string> インプットスレイブ（実験的） これにより、複数のインプットを同時に操作することができます。これは実験的な機能であり、すべてのフォーマットがサポートされているわけではありません。インプットのリストは、#を使って区切ってください。

© 2024 Milestone Systems A/S