管理视讯播放
播放控制符合RTSP标准和ONVIF串流规格(https://www.onvif.org/profiles/specifications/ )。
录影摘要
您可以使用GetRecordingSummary命令取得装置上所有可用录制视讯的概观。这并非必须,但可在执行搜寻前提供有用的资讯。
您可以使用GetRecordingSummary和/或GetMediaAttributesMilestone Open Network Bridge来取得第一个和最后一个录影的时间戳记,但必须先在XProtect Management Client外挂程式上启用“使用摄影机设定”设定。

使用RecordingSearch服务终结点返回的服务创建服务的代理GetServices。创建请求和响应对象,然后调用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 );
搜寻录影
Search服务方法会FindRecordings在摄影机上启动非同步搜寻。FindRecordings传回参考搜寻结果的标记。即使只有一个录影可用,搜寻仍是取得该录影参考资料的适当方式。
使用下列必要参数传送请FindRecordings求:
SearchScope>IncludedSources>Token–您必须提供摄影机GUID标记您将得到一个带有
SearchToken的响应,该响应对于搜索条件而言是唯一的。SearchScope>RecordingInformationFilter–包含下列参数的字串:timestamp(UTC格式)maxTimeBefore(要求的时间戳记之前的时间,以毫秒为单位)maxCountBefore(要求的时间戳记前的轨道数目上限)maxTimeAfter(要求的时间戳记之后的时间,以毫秒为单位)maxCountAfter(要求的时间戳记后的最大轨道数)
範例:
boolean(//Track[TrackType = “Video”]),2016-12-06T08:07:43Z,99999999,20,99999999,20
将SearchToken目标传递给GetRecordingSearchResults后,您将得到一个列表,其中包含与搜索条件相对应的所有轨道。
正在初始化播放
检视视讯播放时,预设速度为1(向前方向正常播放)。
播放是透过RTSP PLAY方法启动。可以指定范围。若未指定任何范围,串流会从头播放一直播放到尾,若串流暂停,会在暂停的点继续播放。在此范例中,Range: npt=3-20指示RTSP伺服器从第三秒开始播放,直到第二十秒。
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,则由用户端控制播放速度。速率控制重播通常仅由非ONVIF特定的客户端使用,因为它们不会Rate-Control=no指定。
若要控制用户端中的播放速度,请使用提供的控制器。例如,使用VLC媒体播放器,选择播放>速度>更快或更慢。这样会将速度提高或降低0.5。
较快细致和较慢细致可将速度变更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媒体播放器的播放控制:
代码 | 目的 | 值 | 使用量 |
|---|---|---|---|
| 输入重复 |
| 重复相同输入的次数。 |
| 開始時間 |
| 串流将在此位置开始(以秒为单位)。 |
| 停止时间 |
| 串流将在此位置停止(以秒为单位)。 |
| 执行时间 |
| 串流将在此期间(以秒计)执行。 |
| 快速搜寻(预设已停用) | 搜寻时偏好速度而非精确度。 | |
| 播放速度 |
| 这定义了播放速度(标称速度为1.0), |
| 输入清单 |
| 您可以提供一个以逗号分隔的输入列表,这些输入将在正常输入之后拼接在一起。 |
| 输入从属(实验性) |
| 这可让您同时从多个输入端播放。此功能是实验性的,并非支持所有格式。使用'#'分隔的输入清单。 |
撷取特定时间范围的录影
您可以使用RTSP连结clock中可选的URL参数,在特定时间点要求视讯播放。
格式为:rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]-[end_time]Z.
属性[start_time]和[end_time]属性通常遵循格式yyyyMMddTHHmmssZ(年、月、日、固定字母T、24小时时间、分、秒和固定字母Z)。
该属end_time性是可选的。若只要要求开始时间,请使用下列格式:rtsp://[hostname]:[port]/vod/[camera_guid]?clock=[start_time]- .例如,将撷取从rtsp://onbhost:554/vod/3bf3b583-768a-43c7-ae74-38df708c4dbf?clock=20250830T140000Z-2025年8月30日UTC时间14:00开始的串流。
固定字母Z表示UTC时区。即使您省略它(不建议),除非另有指定,否则时间仍将视为UTC。若要设定时区,请使用其中一个支援的后缀:
固定字母
p或+后面加上hhmm表示正的UTC偏移。例如,20250830T140000p0100表示UTC+01:00(中欧时间)。固定字母
m后面加上hhmm表示UTC偏移量为负。例如,20250830T140000m0800表示UTC-08:00 (太平洋时间)。