ビデオ再生の管理

再生のコントロールはRTSP基準およびONVIF Streaming Specificationに準じます。

録画サマリー

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

GetRecordingSummaryそして/またはGetMediaAttributesを使用してはじめの、そして終わりの録画のタイムスタンプを取得することができます。しかし、初めに、XProtect Management ClientにおけるMilestone ONVIF Bridgeプラグイン内の詳細設定タブでカメラからの構成使用 設定を有効化しておく必要があります。

ONVIF Bridge_Use camera configurations

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

SearchBindingProxy searchProxy( &ソープサーチ):

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 リクエストを送ります:

たとえば、

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://basic:basic@bgws-pvv-04:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

セッション: 12345678

必要: onvif-replay

範囲: npt=3-20

レートコントロールl: no

逆再生

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

Milestone ONVIF Bridgeは [-32をサポートしています:32]。

PLAY rtsp://basic:basic@bgws-pvv-04:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

セッション:12345678

必要: onvif-replay

範囲: clock=20090615T114900.440Z

レートのコントロール: no

スケール:-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コマンドラインヘルプを参照してください。

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

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

>vlc.exe --rate=-1.0 --start-time=3600 "rtsp://basic:basic@bgws-pvv-04: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>

インプットスレイブ(実験的)

これにより、複数のインプットを同時に操作することができます。これは実験的な機能であり、すべてのフォーマットがサポートされているわけではありません。インプットのリストは、#を使って区切ってください。

bookmarks=

<string>

ストリームのためのブックマークリスト

手動でストリームのためのブックマークのリストを与えることができます。フォームは、 "{name=bookmark-name,time=optional-time-offset,bytes=optional-byte-off set},{...}"

© 2019 Milestone Systems A/S