ONVIF::...uration(3)

πŸ“¦ version 1.38.6, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, welcome to ONVIF::Device::Elements::VideoEncoderConfiguration β€” that's the whole entire name, yes it's a mouthful, and yes the header up top had to chop it down to ONVIF::...uration(3) because terminal columns are, like, a thing. This page lives in the User Contributed Perl Documentation section, and it's a Perl data type class for the XML Schema defined element VideoEncoderConfiguration from the namespace http://www.onvif.org/ver10/schema. That's it, that's the vibe. πŸŽ€


✨ DESCRIPTION ✨

so basically this whole module is one job and it ate: it's a Perl data type class for the XML Schema element VideoEncoderConfiguration, and that element comes straight from the namespace http://www.onvif.org/ver10/schema. no cap, that's the entire description. short queen energy. πŸ‘‘


πŸ› οΈ METHODS πŸ› οΈ

🌸 new 🌸

my $element = ONVIF::Device::Elements::VideoEncoderConfiguration->new($data);

it's the constructor, bestie β€” this is how you make one. you hand it $data and it does its thing. here's the data structure you're allowed to pass to new(), in all its nested glory (and yes it is giving deeply nested, don't @ me): πŸ¦‹

{ # ONVIF::Device::Types::VideoEncoderConfiguration
  Encoding => $some_value, # VideoEncoding
  Resolution =>  { # ONVIF::Device::Types::VideoResolution
    Width =>  $some_value, # int
    Height =>  $some_value, # int
  },
  Quality =>  $some_value, # float
  RateControl =>  { # ONVIF::Device::Types::VideoRateControl
    FrameRateLimit =>  $some_value, # int
    EncodingInterval =>  $some_value, # int
    BitrateLimit =>  $some_value, # int
  },
  MPEG4 =>  { # ONVIF::Device::Types::Mpeg4Configuration
    GovLength =>  $some_value, # int
    Mpeg4Profile => $some_value, # Mpeg4Profile
  },
  H264 =>  { # ONVIF::Device::Types::H264Configuration
    GovLength =>  $some_value, # int
    H264Profile => $some_value, # H264Profile
  },
  Multicast =>  { # ONVIF::Device::Types::MulticastConfiguration
    Address =>  { # ONVIF::Device::Types::IPAddress
      Type => $some_value, # IPType
      IPv4Address => $some_value, # IPv4Address
      IPv6Address => $some_value, # IPv6Address
    },
    Port =>  $some_value, # int
    TTL =>  $some_value, # int
    AutoStart =>  $some_value, # boolean
  },
  SessionTimeout =>  $some_value, # duration
},

like, look at all those little keys. Encoding (a VideoEncoding), Resolution which opens up into a VideoResolution with Width and Height (both int), Quality (a float), and RateControl which is a VideoRateControl holding FrameRateLimit, EncodingInterval, and BitrateLimit (all int). then you've got the codec branches: MPEG4 β†’ an Mpeg4Configuration with GovLength (int) and Mpeg4Profile, and H264 β†’ an H264Configuration with GovLength (int) and H264Profile. 🧚

and then Multicast goes full inception β€” a MulticastConfiguration with an Address inside it (an IPAddress with Type, IPv4Address, IPv6Address), plus Port (int), TTL (int), and AutoStart (boolean). finally, SessionTimeout, a duration. iconic nesting, truly. πŸ’…

fr fr though β€” those comments aren't decorative, they're the actual types each key expects. match them and you're golden. ⭐

πŸ‘‘ AUTHOR πŸ‘‘

Generated by SOAP::WSDL. that's the whole author section, she's brief and she knows it. 😭


and that's a wrap, bestie!! 🫢 this lil beauty is perl v5.42.3 flavored, dated 1980-01-01, and it'll be sitting pretty under ONVIF::...uration(3) whenever you need her. go forth and configure those video encoders. πŸ’œβœ¨

πŸ“¦ where this page comes from