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
posted on 2021-06-19 20:38
canaan 閱讀(2470)
評論(0) 編輯 收藏 引用 所屬分類:
外文翻譯