ONVIF::...aStream(3)
π NAME
okay so bestie, this is ONVIF::PTZ::Elements::MetadataStream β a whole Perl data type class, and it's literally the icon for the MetadataStream element. π
β¨ DESCRIPTION
So basically: this is a Perl data type class for the XML Schema defined element MetadataStream, and it lives in the namespace http://www.onvif.org/ver10/schema. That's it, that's the vibe. It's a lil container class that SOAP::WSDL generated so you can talk to ONVIF PTZ stuff without losing your mind. π
π METHODS
new
The constructor, the main character, the moment we've all been waiting for. π
my $element = ONVIF::PTZ::Elements::MetadataStream->new($data);
It's a Constructor fr fr. And here's the data structure you may pass to new() β yes, it's a big one, take a deep breath, we got this π«Ά:
{ # ONVIF::PTZ::Types::MetadataStream
# One of the following elements.
# No occurrence checks yet, so be sure to pass just one...
VideoAnalytics => { # ONVIF::PTZ::Types::VideoAnalyticsStream
# One of the following elements.
# No occurrence checks yet, so be sure to pass just one...
Frame => { # ONVIF::PTZ::Types::Frame
PTZStatus => { # ONVIF::PTZ::Types::PTZStatus
Position => { # ONVIF::PTZ::Types::PTZVector
PanTilt => ,
Zoom => ,
},
MoveStatus => { # ONVIF::PTZ::Types::PTZMoveStatus
PanTilt => $some_value, # MoveStatus
Zoom => $some_value, # MoveStatus
},
Error => $some_value, # string
UtcTime => $some_value, # dateTime
},
Transformation => { # ONVIF::PTZ::Types::Transformation
Translate => ,
Scale => ,
Extension => { # ONVIF::PTZ::Types::TransformationExtension
},
},
Object => { # ONVIF::PTZ::Types::Object
Appearance => { # ONVIF::PTZ::Types::Appearance
Transformation => { # ONVIF::PTZ::Types::Transformation
Translate => ,
Scale => ,
Extension => { # ONVIF::PTZ::Types::TransformationExtension
},
},
Shape => { # ONVIF::PTZ::Types::ShapeDescriptor
BoundingBox => ,
CenterOfGravity => ,
Polygon => { # ONVIF::PTZ::Types::Polygon
Point => ,
},
Extension => { # ONVIF::PTZ::Types::ShapeDescriptorExtension
},
},
Color => { # ONVIF::PTZ::Types::ColorDescriptor
ColorCluster => {
Color => ,
Weight => $some_value, # float
Covariance => ,
},
Extension => { # ONVIF::PTZ::Types::ColorDescriptorExtension
},
},
Class => { # ONVIF::PTZ::Types::ClassDescriptor
ClassCandidate => {
Type => $some_value, # ClassType
Likelihood => $some_value, # float
},
Extension => { # ONVIF::PTZ::Types::ClassDescriptorExtension
OtherTypes => { # ONVIF::PTZ::Types::OtherType
Type => $some_value, # string
Likelihood => $some_value, # float
},
Extension => { # ONVIF::PTZ::Types::ClassDescriptorExtension2
},
},
},
Extension => { # ONVIF::PTZ::Types::AppearanceExtension
},
},
Behaviour => { # ONVIF::PTZ::Types::Behaviour
Removed => {
},
Idle => {
},
Extension => { # ONVIF::PTZ::Types::BehaviourExtension
},
},
Extension => { # ONVIF::PTZ::Types::ObjectExtension
},
},
ObjectTree => { # ONVIF::PTZ::Types::ObjectTree
Rename => { # ONVIF::PTZ::Types::Rename
from => ,
to => ,
},
Split => { # ONVIF::PTZ::Types::Split
from => ,
to => ,
},
Merge => { # ONVIF::PTZ::Types::Merge
from => ,
to => ,
},
Delete => ,
Extension => { # ONVIF::PTZ::Types::ObjectTreeExtension
},
},
Extension => { # ONVIF::PTZ::Types::FrameExtension
MotionInCells => { # ONVIF::PTZ::Types::MotionInCells
},
Extension => { # ONVIF::PTZ::Types::FrameExtension2
},
},
},
Extension => { # ONVIF::PTZ::Types::VideoAnalyticsStreamExtension
},
},
PTZ => { # ONVIF::PTZ::Types::PTZStream
# One of the following elements.
# No occurrence checks yet, so be sure to pass just one...
PTZStatus => { # ONVIF::PTZ::Types::PTZStatus
Position => { # ONVIF::PTZ::Types::PTZVector
PanTilt => ,
Zoom => ,
},
MoveStatus => { # ONVIF::PTZ::Types::PTZMoveStatus
PanTilt => $some_value, # MoveStatus
Zoom => $some_value, # MoveStatus
},
Error => $some_value, # string
UtcTime => $some_value, # dateTime
},
Extension => { # ONVIF::PTZ::Types::PTZStreamExtension
},
},
Event => $some_value, # anyType
Extension => { # ONVIF::PTZ::Types::MetadataStreamExtension
AudioAnalyticsStream => { # ONVIF::PTZ::Types::AudioAnalyticsStream
AudioDescriptor => { # ONVIF::PTZ::Types::AudioDescriptor
},
Extension => { # ONVIF::PTZ::Types::AudioAnalyticsStreamExtension
},
},
Extension => { # ONVIF::PTZ::Types::MetadataStreamExtension2
},
},
}
β οΈ okay important bestie, listen: on theVideoAnalytics,PTZ(and their innerFrame) levels, the comments literally say "One of the following elements. No occurrence checks yet, so be sure to pass just one..." β so the class is NOT gonna yell at you if you pass more than one. It just won't check. That's on you to get right π. Pass just one, mwah.
Also note that VideoAnalytics and PTZ are the top-level "one of the following" siblings alongside Event and Extension, so same deal there. π
π AUTHOR
Generated by SOAP::WSDL β not a human, a machine, and honestly it ate. π€β¨
πΈ and that's the whole page!! brought to you by the User Contributed Perl Documentation girlies, running on perl v5.42.3, stamped 1980-01-01 (yes the date is older than your mom, don't ask). go forth and stream your metadata, queen ππ
π¦ where this page comes from
- nixpkgs unstable: zoneminder 1.38.6
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms