ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ONVIF协议云台服务规范(三)-移动操作 ONVIF PTZ Service Specification-Move Operations

2021-06-19 20:59:11  阅读:474  来源: 互联网

标签:Operations InvalidArgVal Service Sender PTZ env 请求 ter ONVIF



5.3    移动操作

    本节介绍三种移动PTZ单元操作,绝对、相对或移动。所有操作都需要profile token,引用PTZ配置中的Media Profile。

    所有移动命令应以非阻塞方式执行,表示不应等到请求的移动操作完成。新的移动请求可以覆盖最后的移动操作。

    由于本规范涉及的物理设备范围广泛,因此本规范不要求对PTZ移动操作的特定相应时间。但是设备应尽量减少PTZ移动命令响应的延迟。设备没有完全控制PTZ控制输入和设备移动的滞后。网络与客户端的延迟会增加滞后。实现应该尽快减少设备的延迟。

5.3.1.    绝对移动(AbsoluteMove)
    如果PTZ节点支持绝对水平/俯仰或绝对变焦的移动,则应支持绝对移动操作。这个命令的位置参数指定PTZ单元要移动的绝对位置。它分为一个可选的水平/俯仰元素和一个可选的变焦元素。如果忽略了水平/俯仰位置,则当前的水平/俯仰运动不受此命令的影响。变焦也是同样的原理。

    PTZ节点支持的绝对位置空间,如果省略了空间信息,则PTZ配置的相应的默认空间,采用指定控件的媒体属性。设备仅为有绝对位置空间提供支持绝对水平/俯仰或变焦的服务。现有的移动操作命令中的速度参数比PTZ配置中的默认速度优先级要高。如果空间引用了速度参数,那么需要支持PTZ节点支持的速度空间。

    如果无法达到所要求的绝对位置,操作将失败。

请求(REQUEST):
• ProfileToken [tt:ReferenceToken]
对现有媒体配置文件的引用
• Position [tt:PTZVector]
指定绝对目标位置的矢量
• Speed – 可选[tt:PTZSpeed]
可选速度矢量
响应(RESPONSE): 空消息
错误(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
请求的配置文件token内ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
请求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的空间。
• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
请求的位置超出了界限。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
请求的速度超出了界限。
访问权限类(ACCESS CLASS)
ACTUATE

5.3.2.    相对移动(RelativeMove)

    如果PTZ节点支持相对水平/俯仰或相对变焦移动,则需要支持相对移动(RelativeMove)操作。此操作的转换参数指定当前位置与要移动的位置的插值。该操作可分为一个可选的水平/俯仰元素和一个可选的变焦参数。如果水平/俯仰忽略掉了,那么当前的水平/俯仰位置不会受此命令的影响。变焦元素也同样。
    转换元素中引用的空间应该为PTZ节点支持的转换空间。如果转换参数的空间信息忽略掉了,那么将根据PTZ配置的默认空间。设备需要支持相对水平/俯仰移动,相对变焦移动或不支持相对运动。
    在请求移动的命令中携带的速度参数优先于PTZ配置中的默认速度。如果空间引用了速度参数,则PTZ节点需要支持速度空间。
    通过发送水平/俯仰和变焦0值命令可以在当前位置停止PTZ单元。停止应具有与引用相对空间完全相同的效果。
    如果请求转换后的绝对位置是无法到达的,那么PTZ节点需要移动最接近的有效位置。
请求(REQUEST):
• ProfileToken [tt:ReferenceToken]
对现有媒体配置文件的引用
• Translation [tt:PTZVector]
指定相对于当前位置的位置平移的向量
• Speed – 可选[tt:PTZSpeed]
可选速度矢量
响应(RESPONSE): 空消息
错误(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
请求的配置文件token内ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
请求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的空间。
• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
请求的转换超出了界限。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
请求的速度超出了界限。
访问权限类(ACCESS CLASS)
ACTUATE

5.3.3.    连续移动(ContinuousMove)

    具有PTZ功能的设备应支持连续移动。此命令的速度参数为水平/俯仰和缩放指定的有符号的速度值。组合的水平/俯仰元素及变焦元素也是可选的。如果水平/俯仰元素忽略掉了,当前的水平/俯仰元素则不受此命令的影响。变焦元素也是如此。引用有速度元素的空间的PTZ节点需要支持速度空间。如果速度参数忽略掉了空间信息,那么采用相应的指定媒体文件的PTZ配置的默认空间。设备通过仅为支持的情况提供速度空间来支持连续水平/俯仰移动和连续变焦动作。
    当前移动操作的超时参数优先于相应PTZ配置的默认超时参数。超时参数决定PTZ节点的连续移动的时间。
    当0作为该轴的连续移动参数时,设备应停止在特定轴(水平,俯仰或变焦)的移动。引用的速度空间也应有独立的停止功能。这个命令在连续移动的影响与在5.3.5节中的停止命令是一样的。
    请求的速度得到的绝对位置是不能到达的,则PTZ节点应移动到最接近的能到达的位置。连续移动操作的典型应用是通过操纵杆控制PTZ。
请求(REQUEST):
• ProfileToken [tt:ReferenceToken]
对现有媒体配置文件的引用
• Velocity [tt:PTZSpeed]
速度矢量指定水平,俯仰和变焦的速度。
• Timeout– 可选[tt:duration]
可选超时
响应(RESPONSE): 空消息
错误(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
请求的配置文件token内ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
请求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的空间。
• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
请求的转换超出了界限。
• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
指定的超时参数不在支持的超时时间范围内。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
请求的速度超出了界限。
访问权限类(ACCESS CLASS)
ACTUATE

5.3.4.    地理移动(GeoMove)

    设备有GeoMove信号,则PTZ节点需要支持这类命令。
    可选的AreaHeight和AreaWidth参数可以添加到参数中,所以PTZ设备可以决定变焦因子。如果没有提供AreaHeight和AreaWidth,该单元将不会更改变焦。AreaHeight和AreaWidth用米来表示。
    请求的转换过程中的速度参数优先于相应的PTZ配置的默认速度。如果引用的空间含有速度参数,那么PTZ节点应支持速度空间。
    如果PTZ设备不支持自动检索地理位置,那么在执行地理引用命令之前使用SetGeoLocation进行设置。客户端如果在设备设置地理位置之前发送GeoMove命令,设备应返回一个错误。
    取决于PTZ设备的运动方式,请求的位置可能无法到达。这种情况下设备应返回一个错误,表示由于物理限制无法执行请求的操作。
请求(REQUEST):
• ProfileToken [tt:ReferenceToken]
对现有媒体配置文件的引用
• Target [tt:GeoLocation]
目标坐标。
• Speed – 可选[tt:PTZSpeed]
指定水平,俯仰和变焦的速度矢量。
• AreaWidth – 可选[xs:float]
要显示的可选区域。
• AreaHeight – 可选[xs:float]
要显示的可选区域。

响应(RESPONSE): 空消息
错误(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
请求的配置文件token内ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
请求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
设备不支持地理移动。
• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
请求的转换超出了界限。
• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
指定的超时参数不在支持的超时时间范围内。
• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
由于地理位置未配置或不可用,该单元无法执行GeoMove。
访问权限类(ACCESS CLASS)
ACTUATE

5.3.5.    停止(Stop)

    PTZ设备需支持停止操作。如果没有指定停止的参数,那么这个命令将停止所有正在进行的水平,俯仰和变焦动作。通过指定相应的停止参数可以停止对应的操作。
请求(REQUEST):
• ProfileToken [tt:ReferenceToken]
对现有媒体配置文件的引用
• PanTilt – 可选[xs:boolean]
停止水平和俯仰操作(默认为true)。
• Zoom – 可选[xs:boolean]
停止变焦操作(默认为true)。
响应(RESPONSE): 空消息
错误(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
请求的配置文件token内ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
请求的配置文件token未引用PTZ配置。
访问权限类(ACCESS CLASS)
ACTUATE

5.3.6.    移动并开始跟踪(MoveAndStartTracking)

    设备PTZ节点有MoveAndTrack时应该支持这个命令。这个操作的目的是向设备发送一个自动命令:移动摄像机到想要的位置然后通过追踪算法代理PTZ操作。使用原子命令,延迟被最小化。移动位置是可选的且可以按照三种模式进行设置:
• 通过地理位置坐标
• 通过预置位token
• 通过PTZVector位置
    请求位置移动的的速度参数优先于相应的PTZ配置的默认速度。如果引用空间含有速度参数,那么PTZ节点需支持速度空间。
    如果在同一个设备中完成了侦察和追踪,那么ObjectID引用可以作为参数,以指定应跟踪哪个对象。
    请求的绝对位置设备无法到达,则操作将失败。
请求(REQUEST):
• ProfileToken [tt:ReferenceToken]
对现有媒体配置文件的引用
• GeoLocation  – 可选 [tt:GeoLocation]
可选目标坐标。
• PresetToken – 可选[tt:ReferenceToken]
对一个存在的预置位token的可选应用。
• TargetPosition – 可选[tt:PTZVector]
指定绝对目标位置的可选向量。
• Speed – 可选[tt:PTZSpeed]
可选速度矢量。
• ObjectID – 可选[tt:ObjectID]
要跟踪对象的可选Object ID。
响应(RESPONSE): 空消息
错误(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
请求的配置文件token内ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
请求的配置文件token未引用PTZ配置。
• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的空间。
• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
请求的位置超出了界限。
• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
请求的速度超出了界限。
• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
设备不支持地理移动。
• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
请求的转换超出了界限。
• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
由于地理位置未配置或不可用,该单元无法执行GeoMove。
• env:Sender - ter:InvalidArgVal - ter:NoToken
请求的预置位token不存在。
访问权限类(ACCESS CLASS)
ACTUATE

5.3.7.    状态获取(GetStatus)

PTZ设备需支持通过GetStatus命令报告PTZ状态。PTZ状态包含以下信息:
• 位置Position (可选) – 引用空间指定云台单元的绝对位置。相应PTZ配置的默认绝对空间应在位置元素中引用。如果设备有StatusPosition能力,则需要显示此信息。
• 移动状态MoveStatus(可选) – 表示水平/俯仰/变焦设备单元当前是否正在移动、空闲或处于位置状态。如果设备有MoveStatus能力,则需要显示此信息。未知状态不应在正常错误中使用,但是在初始化或错误状况下使用。
• 错误Error (可选) – 表示当前PTZ错误状态。MoveStatus未知状态时,显示这个字段。
• 国际标准时间 UTC Time – 指定生成状态时的UTC时间。
请求(REQUEST):
• ProfileToken [tt:ReferenceToken]
对现有媒体配置文件的引用
响应(RESPONSE): 空消息
• PTZStatus[tt:PTZStatus]
请求媒体文件的PTZStatus。
错误(FAULTS)
• env:Sender - ter:InvalidArgVal - ter:NoProfile
请求的配置文件token内ProfileToken不存在。
• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
请求的配置文件token未引用PTZ配置。
• env:Receiver – ter:Action - ter:NoStatus
请求的媒体配置文件中没有可用的PTZ状态。
访问权限类(ACCESS CLASS)
    READ_MEDIA

 

标签:Operations,InvalidArgVal,Service,Sender,PTZ,env,请求,ter,ONVIF
来源: https://blog.csdn.net/chinapeter2008/article/details/118058738

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有