ONVIF::...taStream(3)
π ONVIF::...taStream(3) β like, the whole page, bestie π
okay so real talk: this is a page from the User Contributed Perl Documentation manual, and the actual star of the show is ONVIF::Media::Types::MetadataStream. The short name up top gets abbreviated to ONVIF::...taStream(3) because man page headers are dramatic like that, but the class you're actually loading? Full name, no nicknames. π
β¨ NAME β¨
ONVIF::Media::Types::MetadataStream β bestie, that's the whole name, that's the whole vibe. π«Ά
πΈ DESCRIPTION πΈ
It's a Perl data type class for the XML Schemaβdefined complexType MetadataStream, and it lives in the namespace http://www.onvif.org/ver10/schema. no cap, that's literally it. it's giving "I'm just a humble little type class" but it's carrying a lot of nested structure, so buckle up. π¦
π PROPERTIES π
these are the properties you can touch, and the way you touch them is with the get_PROPERTY / set_PROPERTY methods. iconic accessor behavior, we love to see it:
VideoAnalyticsPTZEventExtension
four properties, zero drama. (the drama is all in the constructor. you'll see.) π
π₯ METHODS π₯
π new
constructor time!! here's the data structure you may pass to new(). heads up: it's a big one, so I'm giving it to you exactly as it comes β every comment, every nested type, every $some_value, untouched. this is the sacred scroll. β
{ # ONVIF::Media::Types::MetadataStream
# One of the following elements.
# No occurrence checks yet, so be sure to pass just one...
VideoAnalytics => { # ONVIF::Media::Types::VideoAnalyticsStream
# One of the following elements.
# No occurrence checks yet, so be sure to pass just one...
Frame => { # ONVIF::Media::Types::Frame
PTZStatus => { # ONVIF::Media::Types::PTZStatus
Position => { # ONVIF::Media::Types::PTZVector
PanTilt => ,
Zoom => ,
},
MoveStatus => { # ONVIF::Media::Types::PTZMoveStatus
PanTilt => $some_value, # MoveStatus
Zoom => $some_value, # MoveStatus
},
Error => $some_value, # string
UtcTime => $some_value, # dateTime
},
Transformation => { # ONVIF::Media::Types::Transformation
Translate => ,
Scale => ,
Extension => { # ONVIF::Media::Types::TransformationExtension
},
},
Object => { # ONVIF::Media::Types::Object
Appearance => { # ONVIF::Media::Types::Appearance
Transformation => { # ONVIF::Media::Types::Transformation
Translate => ,
Scale => ,
Extension => { # ONVIF::Media::Types::TransformationExtension
},
},
Shape => { # ONVIF::Media::Types::ShapeDescriptor
BoundingBox => ,
CenterOfGravity => ,
Polygon => { # ONVIF::Media::Types::Polygon
Point => ,
},
Extension => { # ONVIF::Media::Types::ShapeDescriptorExtension
},
},
Color => { # ONVIF::Media::Types::ColorDescriptor
ColorCluster => {
Color => ,
Weight => $some_value, # float
Covariance => ,
},
Extension => { # ONVIF::Media::Types::ColorDescriptorExtension
},
},
Class => { # ONVIF::Media::Types::ClassDescriptor
ClassCandidate => {
Type => $some_value, # ClassType
Likelihood => $some_value, # float
},
Extension => { # ONVIF::Media::Types::ClassDescriptorExtension
OtherTypes => { # ONVIF::Media::Types::OtherType
Type => $some_value, # string
Likelihood => $some_value, # float
},
Extension => { # ONVIF::Media::Types::ClassDescriptorExtension2
},
},
},
Extension => { # ONVIF::Media::Types::AppearanceExtension
},
},
Behaviour => { # ONVIF::Media::Types::Behaviour
Removed => {
},
Idle => {
},
Extension => { # ONVIF::Media::Types::BehaviourExtension
},
},
Extension => { # ONVIF::Media::Types::ObjectExtension
},
},
ObjectTree => { # ONVIF::Media::Types::ObjectTree
Rename => { # ONVIF::Media::Types::Rename
from => ,
to => ,
},
Split => { # ONVIF::Media::Types::Split
from => ,
to => ,
},
Merge => { # ONVIF::Media::Types::Merge
from => ,
to => ,
},
Delete => ,
Extension => { # ONVIF::Media::Types::ObjectTreeExtension
},
},
Extension => { # ONVIF::Media::Types::FrameExtension
MotionInCells => { # ONVIF::Media::Types::MotionInCells
},
Extension => { # ONVIF::Media::Types::FrameExtension2
},
},
},
Extension => { # ONVIF::Media::Types::VideoAnalyticsStreamExtension
},
},
PTZ => { # ONVIF::Media::Types::PTZStream
# One of the following elements.
# No occurrence checks yet, so be sure to pass just one...
PTZStatus => { # ONVIF::Media::Types::PTZStatus
Position => { # ONVIF::Media::Types::PTZVector
PanTilt => ,
Zoom => ,
},
MoveStatus => { # ONVIF::Media::Types::PTZMoveStatus
PanTilt => $some_value, # MoveStatus
Zoom => $some_value, # MoveStatus
},
Error => $some_value, # string
UtcTime => $some_value, # dateTime
},
Extension => { # ONVIF::Media::Types::PTZStreamExtension
},
},
Event => $some_value, # anyType
Extension => { # ONVIF::Media::Types::MetadataStreamExtension
AudioAnalyticsStream => { # ONVIF::Media::Types::AudioAnalyticsStream
AudioDescriptor => { # ONVIF::Media::Types::AudioDescriptor
},
Extension => { # ONVIF::Media::Types::AudioAnalyticsStreamExtension
},
},
Extension => { # ONVIF::Media::Types::MetadataStreamExtension2
},
},
},
β οΈ okay bestie, read this part twice: see those # One of the following elements. comments? that means it's a pick one situation. and the docs are real with you β "No occurrence checks yet, so be sure to pass just one..." β so the module is not gonna catch you if you pass more than one. that's on you, babe. be the responsible main character. π
also do not come for me about every $some_value and the little trailing # float, # string, # dateTime, # anyType, # ClassType, # MoveStatus comments β I copied them exactly, character for character, because the facts do not get the vibe treatment. π
π§ AUTHOR π§
Generated by SOAP::WSDL. that's it, that's the author section. it was born from the machine, and honestly? respect. π
and that's the whole page, bestie!! π this lil' gem is page ONVIF::...taStream(3) from perl v5.42.3, dated 1980-01-01 (yes, that 1980-01-01, the classic timestamp of legend π), living happily inside the User Contributed Perl Documentation. go forth and nest your hashes responsibly. mwah. πβ¨
π¦ 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