ONVIF::...aStream(3)

πŸ“¦ version 1.38.6, in nixpkgs unstable

πŸ’… 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 the VideoAnalytics, PTZ (and their inner Frame) 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