ONVIF:...ration(3pm)
π ONVIF::Media::Elements::PTZConfiguration π
okay so bestie, welcome to the ONVIF::Media::Elements::PTZConfiguration page β this is a User Contributed Perl Documentation situation, and honestly? it's giving β¨auto-generated iconβ¨. sit down, grab a strawberry π, and let's get into it.
πΈ NAME πΈ
ONVIF::Media::Elements::PTZConfiguration β say it with your chest, it's a mouthful but we love her π
π¦ DESCRIPTION π¦
so. this is a Perl data type class for the XML Schema defined element PTZConfiguration, and it lives in the namespace http://www.onvif.org/ver10/schema. that's it. that's the whole vibe. she's a class, she holds data, she's lowkey iconic. no cap. π
β¨ METHODS β¨
π new π
my $element = ONVIF::Media::Elements::PTZConfiguration->new($data);
this is the Constructor, bestie. it's the birth of your element. π£ the following data structure may be passed to new() β and yes, it's a whole nested tree situation, so buckle up:
{ # ONVIF::Media::Types::PTZConfiguration
NodeToken => $some_value, # ReferenceToken
DefaultAbsolutePantTiltPositionSpace => $some_value, # anyURI
DefaultAbsoluteZoomPositionSpace => $some_value, # anyURI
DefaultRelativePanTiltTranslationSpace => $some_value, # anyURI
DefaultRelativeZoomTranslationSpace => $some_value, # anyURI
DefaultContinuousPanTiltVelocitySpace => $some_value, # anyURI
DefaultContinuousZoomVelocitySpace => $some_value, # anyURI
DefaultPTZSpeed => { # ONVIF::Media::Types::PTZSpeed
PanTilt => ,
Zoom => ,
},
DefaultPTZTimeout => $some_value, # duration
PanTiltLimits => { # ONVIF::Media::Types::PanTiltLimits
Range => { # ONVIF::Media::Types::Space2DDescription
URI => $some_value, # anyURI
XRange => { # ONVIF::Media::Types::FloatRange
Min => $some_value, # float
Max => $some_value, # float
},
YRange => { # ONVIF::Media::Types::FloatRange
Min => $some_value, # float
Max => $some_value, # float
},
},
},
ZoomLimits => { # ONVIF::Media::Types::ZoomLimits
Range => { # ONVIF::Media::Types::Space1DDescription
URI => $some_value, # anyURI
XRange => { # ONVIF::Media::Types::FloatRange
Min => $some_value, # float
Max => $some_value, # float
},
},
},
Extension => { # ONVIF::Media::Types::PTZConfigurationExtension
PTControlDirection => { # ONVIF::Media::Types::PTControlDirection
EFlip => { # ONVIF::Media::Types::EFlip
Mode => $some_value, # EFlipMode
},
Reverse => { # ONVIF::Media::Types::Reverse
Mode => $some_value, # ReverseMode
},
Extension => { # ONVIF::Media::Types::PTControlDirectionExtension
},
},
Extension => { # ONVIF::Media::Types::PTZConfigurationExtension2
},
},
},
like look at all those nested hashes. the way that PanTiltLimits contains a Range which contains XRange AND YRange which each contain a Min and a Max?? it's layers on layers on layers, onion energy π§
and we are OBSESSED. every key up there is exactly what you pass in β NodeToken (a ReferenceToken), a whole parade of anyURI defaults for pan/tilt/zoom spaces, DefaultPTZSpeed, DefaultPTZTimeout (that's a duration, bestie, respect her), then PanTiltLimits, ZoomLimits, and Extension with its PTControlDirection carrying EFlip and Reverse modes plus their own little Extensions. ate. no crumbs left. π₯
not me telling you to keep every single key exactly as written β do NOT rename them, do NOT "fix" the casing, do NOT merge the two different Extension keys that literally live in different nested scopes. copy the structure verbatim or the XML gremlins will find you. π
π«Ά AUTHOR π«Ά
Generated by SOAP::WSDL β yeah she was born in a code generator, and she's still serving. π
and that's the whole page, bestie!! π sending you off with the deets: this doc shipped with perl v5.40.1 and is dated 2026-02-01. same title in, same title out, periodt. π β¨π¦πΈπ
π¦ where this page comes from
- ubuntu resolute: zoneminder 1.36.37+dfsg1-1 Β· GPL-2.0-or-later
- ubuntu stonking: zoneminder 1.36.37+dfsg1-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms