ONVIF::...Profile(3)

πŸ“¦ version 1.38.6, in nixpkgs unstable

🌸 NAME 🌸

ONVIF::Media::Types::Profile β€” bestie, this is the Perl data type class for the XML Schema complexType Profile, straight out of the http://www.onvif.org/ver10/schema namespace. And yeah, it comes to you courtesy of the User Contributed Perl Documentation crew, we love them for it πŸ’–


✨ DESCRIPTION ✨

Okay so picture this: a profile is literally a set of interconnected configuration entities. That's the whole vibe. The configurations are provided by the NVT, and they can be static or created dynamically by the NVT β€” like, for example, dynamic configurations can be created by the NVT depending on what encoding resources are currently available. Flexible queen behavior πŸ‘‘

πŸŽ€ PROPERTIES πŸŽ€

These properties are all yours to grab with get_PROPERTY / set_PROPERTY methods:

  • Name
  • VideoSourceConfiguration
  • AudioSourceConfiguration
  • VideoEncoderConfiguration
  • AudioEncoderConfiguration
  • VideoAnalyticsConfiguration
  • PTZConfiguration
  • MetadataConfiguration
  • Extension

πŸ’… METHODS πŸ’…

new

Constructor, obviously. The following data structure may be passed to new() β€” buckle up bestie, it's a big one:

{ # ONVIF::Media::Types::Profile
  Name => $some_value, # Name
  VideoSourceConfiguration =>  { # ONVIF::Media::Types::VideoSourceConfiguration
    SourceToken => $some_value, # ReferenceToken
    Bounds => ,
    Extension =>  { # ONVIF::Media::Types::VideoSourceConfigurationExtension
      Rotate =>  { # ONVIF::Media::Types::Rotate
        Mode => $some_value, # RotateMode
        Degree =>  $some_value, # int
        Extension =>  { # ONVIF::Media::Types::RotateExtension
        },
      },
      Extension =>  { # ONVIF::Media::Types::VideoSourceConfigurationExtension2
      },
    },
  },
  AudioSourceConfiguration =>  { # ONVIF::Media::Types::AudioSourceConfiguration
    SourceToken => $some_value, # ReferenceToken
  },
  VideoEncoderConfiguration =>  { # ONVIF::Media::Types::VideoEncoderConfiguration
    Encoding => $some_value, # VideoEncoding
    Resolution =>  { # ONVIF::Media::Types::VideoResolution
      Width =>  $some_value, # int
      Height =>  $some_value, # int
    },
    Quality =>  $some_value, # float
    RateControl =>  { # ONVIF::Media::Types::VideoRateControl
      FrameRateLimit =>  $some_value, # int
      EncodingInterval =>  $some_value, # int
      BitrateLimit =>  $some_value, # int
    },
    MPEG4 =>  { # ONVIF::Media::Types::Mpeg4Configuration
      GovLength =>  $some_value, # int
      Mpeg4Profile => $some_value, # Mpeg4Profile
    },
    H264 =>  { # ONVIF::Media::Types::H264Configuration
      GovLength =>  $some_value, # int
      H264Profile => $some_value, # H264Profile
    },
    Multicast =>  { # ONVIF::Media::Types::MulticastConfiguration
      Address =>  { # ONVIF::Media::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
  },
  AudioEncoderConfiguration =>  { # ONVIF::Media::Types::AudioEncoderConfiguration
    Encoding => $some_value, # AudioEncoding
    Bitrate =>  $some_value, # int
    SampleRate =>  $some_value, # int
    Multicast =>  { # ONVIF::Media::Types::MulticastConfiguration
      Address =>  { # ONVIF::Media::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
  },
  VideoAnalyticsConfiguration =>  { # ONVIF::Media::Types::VideoAnalyticsConfiguration
    AnalyticsEngineConfiguration =>  { # ONVIF::Media::Types::AnalyticsEngineConfiguration
      AnalyticsModule =>  { # ONVIF::Media::Types::Config
        Parameters =>  { # ONVIF::Media::Types::ItemList
          SimpleItem => ,
          ElementItem =>  {
          },
          Extension =>  { # ONVIF::Media::Types::ItemListExtension
          },
        },
      },
      Extension =>  { # ONVIF::Media::Types::AnalyticsEngineConfigurationExtension
      },
    },
    RuleEngineConfiguration =>  { # ONVIF::Media::Types::RuleEngineConfiguration
      Rule =>  { # ONVIF::Media::Types::Config
        Parameters =>  { # ONVIF::Media::Types::ItemList
          SimpleItem => ,
          ElementItem =>  {
          },
          Extension =>  { # ONVIF::Media::Types::ItemListExtension
          },
        },
      },
      Extension =>  { # ONVIF::Media::Types::RuleEngineConfigurationExtension
      },
    },
  },
  PTZConfiguration =>  { # 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
      },
    },
  },
  MetadataConfiguration =>  { # ONVIF::Media::Types::MetadataConfiguration
    PTZStatus =>  { # ONVIF::Media::Types::PTZFilter
      Status =>  $some_value, # boolean
      Position =>  $some_value, # boolean
    },
    Analytics =>  $some_value, # boolean
    Multicast =>  { # ONVIF::Media::Types::MulticastConfiguration
      Address =>  { # ONVIF::Media::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
    AnalyticsEngineConfiguration =>  { # ONVIF::Media::Types::AnalyticsEngineConfiguration
      AnalyticsModule =>  { # ONVIF::Media::Types::Config
        Parameters =>  { # ONVIF::Media::Types::ItemList
          SimpleItem => ,
          ElementItem =>  {
          },
          Extension =>  { # ONVIF::Media::Types::ItemListExtension
          },
        },
      },
      Extension =>  { # ONVIF::Media::Types::AnalyticsEngineConfigurationExtension
      },
    },
    Extension =>  { # ONVIF::Media::Types::MetadataConfigurationExtension
    },
  },
  Extension =>  { # ONVIF::Media::Types::ProfileExtension
    AudioOutputConfiguration =>  { # ONVIF::Media::Types::AudioOutputConfiguration
      OutputToken => $some_value, # ReferenceToken
      SendPrimacy =>  $some_value, # anyURI
      OutputLevel =>  $some_value, # int
    },
    AudioDecoderConfiguration =>  { # ONVIF::Media::Types::AudioDecoderConfiguration
    },
    Extension =>  { # ONVIF::Media::Types::ProfileExtension2
    },
  },
},

attr

⚠️ NOTE: Attribute documentation is experimental, and may be inaccurate. See the correspondent WSDL/XML Schema if in question. Not me being shady, that's literally what it says πŸ’€

So this class has additional attributes, accessibly via the attr() method.

attr() returns an object of the class ONVIF::Media::Types::Profile::_Profile::XmlAttr.

The following attributes can be accessed on this object via the corresponding get_/set_ methods:

  • token β€” Unique identifier of the profile.

This attribute is of type ONVIF::Media::Types::ReferenceToken.

  • fixed β€” A value of true signals that the profile cannot be deleted. Default is false.

This attribute is of type SOAP::WSDL::XSD::Typelib::Builtin::boolean.


πŸ‘‘ AUTHOR πŸ‘‘

Generated by SOAP::WSDL β€” iconic, no notes 🫢


✨ and that's the whole page bestie ✨ β€” this little writeup came with perl v5.42.3 and is dated 1980-01-01 (yes, before any of us were born 😭). Catch you in the next manpage, mwah πŸ’‹πŸ¦‹

πŸ“¦ where this page comes from