播放控件符合 RTSP 标准和 ONVIF 流式传输规范。
记录摘要
您可以使用 GetRecordingSummary
命令获得设备上所有可用视频的概览。这不是必需的,但在进行搜索之前它可提供有用的信息。
您可以使用 GetRecordingSummary
和/或 GetMediaAttributes
获取第一个和最后一个记录的时间戳,但必须先启用使用摄像机配置设置,该设置位于 XProtect Management Client 中 Milestone ONVIF Bridge 插件的高级设置选项卡。
使用 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
返回一个引用搜索结果的令牌。即使只有一个可用记录,搜索也是获取该记录参考的正确方法。
使用以下必填参数发送 FindRecordings
请求:
SearchScope
> IncludedSources
> Token
- 您必须提供摄像机的 GUID 令牌SearchScope
> RecordingInformationFilter
- 具有以下参数的字符串:timestamp
(采用 UTC 格式)maxTimeBefore
(请求的时间戳之前的时间,以毫秒为单位)maxCountBefore
(请求的时间戳之前的最大曲目数)maxTimeAfter
(请求的时间戳之后的时间,以毫秒为单位)maxCountAfter
(请求的时间戳之后的最大曲目数)例如:
boolean(//Track[TrackType = “Video”]),2016-12-06T08:07:43Z,99999999,20,99999999,20
您将得到一个 SearchToken
响应,这个搜索条件是唯一的。
将 SearchToken
传递给 GetRecordingSearchResults
,您将获得与搜索条件对应的所有曲目的列表。
开始播放
观看视频播放时,默认速度为 1(正常正向播放)。
播放通过 RTSP PLAY 方法启动。可以指定范围。如果未指定范围,则从头开始播放到结尾,或者,如果流暂停,则在暂停点恢复。在这个例子中,“范围:npt = 3-20”指示 RTSP 服务器从第 3 秒开始播放到第 20 秒。
例如:
播放 rtsp:// basic:basic @ bgws-pvv-04:554 / vod / 943ffaad-42be-4584-bc2c-c8238ed96373 RTSP / 1.0
Cseq:123
会话:12345678
要求:onvif 重播
范围:npt=3-20
速率控制:否
反向播放
ONVIF 设备可以支持反向播放。使用带有负值的比例标题字段指示反向播放。例如,要反向播放,而且没有数据丢失,将使用值 -1.0。
Milestone ONVIF Bridge 支持值 [-32:32。
播放 rtsp:// basic:basic @ bgws-pvv-04:554 / vod / 943ffaad-42be-4584-bc2c-c8238ed96373 RTSP / 1.0
Cseq:123
会话:12345678
要求:onvif 重播
范围:时钟= 20090615T114900.440Z
速率控制:否
比例:-1.0
更改速度
速度由 RTSP 速率控制标题控制。如果“Rate-Control = yes”,则服务器控制播放速度。数据流使用标准的 RTP 时序机制实时传输。如果“Rate-Control = no”,则客户端控制播放速度。速率控制重播通常只会被非 ONVIF 特定客户端使用,因为它们不会指定“速率控制=否”。
要控制客户端的播放速度,请使用提供的控制器。例如,使用 VLC 媒体播放器,请选择播放 > 速度 > 更快或更慢。这会使速度增加或减少 0.5。
更快和更慢以 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 媒体播放器的播放控件:
输入-重复= |
<整数[-2147483648 .. 2147483647]> 输入重复 相同输入的重复次数 |
开始-时间= |
<浮动> 启动时间 流将在这个位置开始(以秒为单位) |
停止-时间= |
<浮动> 停止时间 流会停在这个位置(以秒为单位) |
运行-时间= |
<浮动> 运行时间 流将运行此时长(以秒为单位) |
输入-快速-寻找 无-输入-快速-寻找 |
快速寻找(默认禁用) 在寻找的同时,优选速度而不是精度 |
速率= |
<浮动> 播放速度 定义了播放速度(标称速度为 1.0) |
输入-列表= |
<字符串> 输入列表 您可以列出用逗号分隔的输入列表,它们将在普通列表之后串联在一起 |
输入-从属= |
<字符串> 输入从属(实验) 这可以让您同时播放多个输入。这个功能是实验性的,并不是所有格式都支持。使用“#”分隔输入列表 |
书签= |
<字符串> 流的书签列表 您可以在表格 "{name=bookmark-name,time=optional-time-offset,bytes=optional-byte-off set},{...}" 中列出流的书签列表 |
© 2019 Milestone Systems A/S