ONVIF:...iaPort(3pm)
β¨ ONVIF::Media::Interfaces::Media::MediaPort β¨
okay so bestie, this is the manual page for ONVIF::Media::Interfaces::Media::MediaPort(3pm) π like, the whole thing lives in the User Contributed Perl Documentation corner of the man pages, and we're about to go through every single bit of it, no skips, no shortcuts, periodt.
π NAME π
ONVIF::Media::Interfaces::Media::MediaPort β it's the SOAP Interface for the Media Web Service π¦
πΈ SYNOPSIS πΈ
here's the vibe, literally just how you'd spin it up and start calling stuff:
use ONVIF::Media::Interfaces::Media::MediaPort;
my $interface = ONVIF::Media::Interfaces::Media::MediaPort->new();
my $response;
$response = $interface->GetServiceCapabilities();
$response = $interface->GetVideoSources();
$response = $interface->GetAudioSources();
$response = $interface->GetAudioOutputs();
$response = $interface->CreateProfile();
$response = $interface->GetProfile();
$response = $interface->GetProfiles();
$response = $interface->AddVideoEncoderConfiguration();
$response = $interface->AddVideoSourceConfiguration();
$response = $interface->AddAudioEncoderConfiguration();
$response = $interface->AddAudioSourceConfiguration();
$response = $interface->AddPTZConfiguration();
$response = $interface->AddVideoAnalyticsConfiguration();
$response = $interface->AddMetadataConfiguration();
$response = $interface->AddAudioOutputConfiguration();
$response = $interface->AddAudioDecoderConfiguration();
$response = $interface->RemoveVideoEncoderConfiguration();
$response = $interface->RemoveVideoSourceConfiguration();
$response = $interface->RemoveAudioEncoderConfiguration();
$response = $interface->RemoveAudioSourceConfiguration();
$response = $interface->RemovePTZConfiguration();
$response = $interface->RemoveVideoAnalyticsConfiguration();
$response = $interface->RemoveMetadataConfiguration();
$response = $interface->RemoveAudioOutputConfiguration();
$response = $interface->RemoveAudioDecoderConfiguration();
$response = $interface->DeleteProfile();
$response = $interface->GetVideoSourceConfigurations();
$response = $interface->GetVideoEncoderConfigurations();
$response = $interface->GetAudioSourceConfigurations();
$response = $interface->GetAudioEncoderConfigurations();
$response = $interface->GetVideoAnalyticsConfigurations();
$response = $interface->GetMetadataConfigurations();
$response = $interface->GetAudioOutputConfigurations();
$response = $interface->GetAudioDecoderConfigurations();
$response = $interface->GetVideoSourceConfiguration();
$response = $interface->GetVideoEncoderConfiguration();
$response = $interface->GetAudioSourceConfiguration();
$response = $interface->GetAudioEncoderConfiguration();
$response = $interface->GetVideoAnalyticsConfiguration();
$response = $interface->GetMetadataConfiguration();
$response = $interface->GetAudioOutputConfiguration();
$response = $interface->GetAudioDecoderConfiguration();
$response = $interface->GetCompatibleVideoEncoderConfigurations();
$response = $interface->GetCompatibleVideoSourceConfigurations();
$response = $interface->GetCompatibleAudioEncoderConfigurations();
$response = $interface->GetCompatibleAudioSourceConfigurations();
$response = $interface->GetCompatibleVideoAnalyticsConfigurations();
$response = $interface->GetCompatibleMetadataConfigurations();
$response = $interface->GetCompatibleAudioOutputConfigurations();
$response = $interface->GetCompatibleAudioDecoderConfigurations();
$response = $interface->SetVideoSourceConfiguration();
$response = $interface->SetVideoEncoderConfiguration();
$response = $interface->SetAudioSourceConfiguration();
$response = $interface->SetAudioEncoderConfiguration();
$response = $interface->SetVideoAnalyticsConfiguration();
$response = $interface->SetMetadataConfiguration();
$response = $interface->SetAudioOutputConfiguration();
$response = $interface->SetAudioDecoderConfiguration();
$response = $interface->GetVideoSourceConfigurationOptions();
$response = $interface->GetVideoEncoderConfigurationOptions();
$response = $interface->GetAudioSourceConfigurationOptions();
$response = $interface->GetAudioEncoderConfigurationOptions();
$response = $interface->GetMetadataConfigurationOptions();
$response = $interface->GetAudioOutputConfigurationOptions();
$response = $interface->GetAudioDecoderConfigurationOptions();
$response = $interface->GetGuaranteedNumberOfVideoEncoderInstances();
$response = $interface->GetStreamUri();
$response = $interface->StartMulticastStreaming();
$response = $interface->StopMulticastStreaming();
$response = $interface->SetSynchronizationPoint();
$response = $interface->GetSnapshotUri();
$response = $interface->GetVideoSourceModes();
$response = $interface->SetVideoSourceMode();
$response = $interface->GetOSDs();
$response = $interface->GetOSD();
$response = $interface->GetOSDOptions();
$response = $interface->SetOSD();
$response = $interface->CreateOSD();
$response = $interface->DeleteOSD();
like, that's the whole menu of things you can ask this thing to do π every single one of them is real and every single one of them gets its own little moment later on, i promise.
π¦ DESCRIPTION π¦
So it's the SOAP Interface for the Media web service, and the service is hanging out at http://www.examples.com/Media/ π that's literally where it lives, that's the address, don't @ me.
π SERVICE Media π
π Port MediaPort π
(yes bestie, that's the port π )
π«Ά METHODS π«Ά
β General methods β
new
It's the Constructor π like, this is how you make the thing exist in the first place.
Every single argument you hand it gets forwarded straight on to SOAP::WSDL::Client. all of them. no filter. it's giving very "i don't gatekeep" energy.
π SOAP Service methods π
okay so before we get into the individual methods, there's some house rules you need to know, and i'm gonna tell you all of them because skipping them would be a crime:
- The method synopsis shows parameters as hash refs. that's just the format, ok?
- Those commented class names sitting in the method's parameters? They mean you can pass objects of the corresponding class instead of the marked hash ref. so you got options, bestie π«Ά
- You may pass any combination of objects, hash and list refs to these methods β as long as you actually meet the structure. structure is non-negotiable, it's the main character here.
- List items (like, the ones that show up multiple times) are not displayed in the synopsis. you can generally pass a list ref of hash refs (or objects) instead of a hash ref β but heads up, this may result in invalid XML if used improperly π so like, be careful, fr fr.
- Note that
SOAP::WSDLalways expects list references at maximum depth position. that's just how it is. - XML attributes are not displayed in this synopsis and cannot be set using hash refs. nope. not happening. see the respective class' documentation for additional information if you need them.
cool? cool. let's go π§
GetServiceCapabilities
Returns the capabilities of the media service. The result is returned in a typed answer β¨
Returns a ONVIF::Media::Elements::GetServiceCapabilitiesResponse object.
$response = $interface->GetServiceCapabilities( {
},,
);
GetVideoSources
This command lists all available physical video inputs of the device πΉ
Returns a ONVIF::Media::Elements::GetVideoSourcesResponse object.
$response = $interface->GetVideoSources( {
},,
);
GetAudioSources
This command lists all available physical audio inputs of the device π€
Returns a ONVIF::Media::Elements::GetAudioSourcesResponse object.
$response = $interface->GetAudioSources( {
},,
);
GetAudioOutputs
This command lists all available physical audio outputs of the device π
Returns a ONVIF::Media::Elements::GetAudioOutputsResponse object.
$response = $interface->GetAudioOutputs( {
},,
);
CreateProfile
This operation creates a new empty media profile π±
Here's the rules, and they're serious ones:
- The media profile shall be created in the device and shall be persistent β meaning it remains after reboot, it's not just gonna ghost you.
- A created profile shall be deletable.
- And a device shall set the
"fixed"attribute tofalsein the returnedProfile.
Returns a ONVIF::Media::Elements::CreateProfileResponse object.
$response = $interface->CreateProfile( {
Name => $some_value, # Name
Token => $some_value, # ReferenceToken
},,
);
GetProfile
If the profile token is already known, a profile can be fetched through the GetProfile command π like, you already got the token bestie, you might as well use it.
Returns a ONVIF::Media::Elements::GetProfileResponse object.
$response = $interface->GetProfile( {
ProfileToken => $some_value, # ReferenceToken
},,
);
GetProfiles
Any endpoint can ask for the existing media profiles of a device using the GetProfiles command π
Pre-configured or dynamically configured profiles can be retrieved using this command. This command lists all configured profiles in a device. And the best part? The client does not need to know the media profile in order to use the command. no prerequisites, just vibes β¨
Returns a ONVIF::Media::Elements::GetProfilesResponse object.
$response = $interface->GetProfiles( {
},,
);
AddVideoEncoderConfiguration
This operation adds a VideoEncoderConfiguration to an existing media profile π¬
- If a configuration already exists in the media profile, it will be replaced.
- The change shall be persistent.
- A device shall support adding a compatible
VideoEncoderConfigurationto a Profile containing aVideoSourceConfigurationand shall support streaming video data of such a profile.
Returns a ONVIF::Media::Elements::AddVideoEncoderConfigurationResponse object.
$response = $interface->AddVideoEncoderConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddVideoSourceConfiguration
This operation adds a VideoSourceConfiguration to an existing media profile πΊ
If such a configuration exists in the media profile, it will be replaced. The change shall be persistent.
Returns a ONVIF::Media::Elements::AddVideoSourceConfigurationResponse object.
$response = $interface->AddVideoSourceConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddAudioEncoderConfiguration
This operation adds an AudioEncoderConfiguration to an existing media profile π§
- If a configuration already exists in the media profile, it will be replaced.
- The change shall be persistent.
- A device shall support adding a compatible
AudioEncoderConfigurationto a profile containing anAudioSourceConfigurationand shall support streaming audio data of such a profile.
Returns a ONVIF::Media::Elements::AddAudioEncoderConfigurationResponse object.
$response = $interface->AddAudioEncoderConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddAudioSourceConfiguration
This operation adds an AudioSourceConfiguration to an existing media profile ποΈ
If a configuration exists in the media profile, it will be replaced. The change shall be persistent.
Returns a ONVIF::Media::Elements::AddAudioSourceConfigurationResponse object.
$response = $interface->AddAudioSourceConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddPTZConfiguration
This operation adds a PTZConfiguration to an existing media profile π₯
If a configuration exists in the media profile, it will be replaced. The change shall be persistent.
And okay this one's actually iconic so listen up: adding a PTZConfiguration to a media profile means that streams using that media profile can contain PTZ status (in the metadata), and that the media profile can be used for controlling PTZ movement. that's the whole point, that's the moment π
Returns a ONVIF::Media::Elements::AddPTZConfigurationResponse object.
$response = $interface->AddPTZConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
okay we are literally not even close to done bestie, there's so much more of this page and every bit of it matters π keep going, i'm right here π«Ά
$response = $interface->AddPTZConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddVideoAnalyticsConfiguration π₯
okay so this one adds a VideoAnalytics configuration to an existing media profile. and bestie, heads up: if a configuration already exists in that media profile, it gets replaced. no warning, no nothing. the change shall be persistent, meaning it sticks around. πΎ
so what does adding a VideoAnalyticsConfiguration actually do? it means streams using that media profile can contain video analytics data (in the metadata) as defined by the configuration reference you submitted. the vibe is: analytics data, now streaming. β¨
β οΈ real talk: a profile containing only a video analytics configuration but no video source configuration is incomplete. so a client should first add a video source configuration to a profile before adding a video analytics configuration. and the device can straight up deny adding a video analytics configuration before a video source configuration. so like, order matters, fr fr. π
returns a ONVIF::Media::Elements::AddVideoAnalyticsConfigurationResponse object. π«Ά
$response = $interface->AddVideoAnalyticsConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddMetadataConfiguration π
this operation adds a Metadata configuration to an existing media profile. and again β if a configuration already exists in the media profile, it gets replaced. the change shall be persistent. π
adding a MetadataConfiguration to a Profile means that streams using that profile contain metadata. and what's metadata made of? it can consist of events, PTZ status, and/or video analytics data. pick your fave combo, honestly. π
returns a ONVIF::Media::Elements::AddMetadataConfigurationResponse object.
$response = $interface->AddMetadataConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddAudioOutputConfiguration π
this operation adds an AudioOutputConfiguration to an existing media profile. if a configuration exists in the media profile, it gets replaced. the change shall be persistent. short and sweet, that's the whole thing bestie. π
returns a ONVIF::Media::Elements::AddAudioOutputConfigurationResponse object.
$response = $interface->AddAudioOutputConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
AddAudioDecoderConfiguration π§
this operation adds an AudioDecoderConfiguration to an existing media profile. if a configuration exists in the media profile, it shall be replaced. the change shall be persistent. yes queen, consistency. π
returns a ONVIF::Media::Elements::AddAudioDecoderConfigurationResponse object.
$response = $interface->AddAudioDecoderConfiguration( {
ProfileToken => $some_value, # ReferenceToken
ConfigurationToken => $some_value, # ReferenceToken
},,
);
RemoveVideoEncoderConfiguration ποΈ
okay so this one removes a VideoEncoderConfiguration from an existing media profile. and lowkey if the media profile doesn't contain a VideoEncoderConfiguration, the operation has no effect β it just vibes and does nothing. the removal shall be persistent. β¨
returns a ONVIF::Media::Elements::RemoveVideoEncoderConfigurationResponse object.
$response = $interface->RemoveVideoEncoderConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemoveVideoSourceConfiguration πΉ
this operation removes a VideoSourceConfiguration from an existing media profile. if the media profile doesn't contain a VideoSourceConfiguration, the operation has no effect. the removal shall be persistent. π«Ά
π‘ little note bestie: video source configurations should only be removed after removing a VideoEncoderConfiguration from the media profile. order. matters. iykyk.
returns a ONVIF::Media::Elements::RemoveVideoSourceConfigurationResponse object.
$response = $interface->RemoveVideoSourceConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemoveAudioEncoderConfiguration π
this operation removes an AudioEncoderConfiguration from an existing media profile. if the media profile doesn't contain an AudioEncoderConfiguration, the operation has no effect. the removal shall be persistent. πΈ
returns a ONVIF::Media::Elements::RemoveAudioEncoderConfigurationResponse object.
$response = $interface->RemoveAudioEncoderConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemoveAudioSourceConfiguration ποΈ
this operation removes an AudioSourceConfiguration from an existing media profile. if the media profile doesn't contain an AudioSourceConfiguration, the operation has no effect. the removal shall be persistent. π
π‘ and same energy as before: audio source configurations should only be removed after removing an AudioEncoderConfiguration from the media profile. okay bestie?? π
returns a ONVIF::Media::Elements::RemoveAudioSourceConfigurationResponse object.
$response = $interface->RemoveAudioSourceConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemovePTZConfiguration π₯
this operation removes a PTZConfiguration from an existing media profile. if the media profile doesn't contain a PTZConfiguration, the operation has no effect. the removal shall be persistent. periodt. π
returns a ONVIF::Media::Elements::RemovePTZConfigurationResponse object.
$response = $interface->RemovePTZConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemoveVideoAnalyticsConfiguration π
this operation removes a VideoAnalyticsConfiguration from an existing media profile. if the media profile doesn't contain a VideoAnalyticsConfiguration, the operation has no effect. the removal shall be persistent. β¨
returns a ONVIF::Media::Elements::RemoveVideoAnalyticsConfigurationResponse object.
$response = $interface->RemoveVideoAnalyticsConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemoveMetadataConfiguration π§Ή
this operation removes a MetadataConfiguration from an existing media profile. if the media profile doesn't contain a MetadataConfiguration, the operation has no effect. the removal shall be persistent. bye metadata, slay. π
returns a ONVIF::Media::Elements::RemoveMetadataConfigurationResponse object.
$response = $interface->RemoveMetadataConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemoveAudioOutputConfiguration π
this operation removes an AudioOutputConfiguration from an existing media profile. if the media profile doesn't contain an AudioOutputConfiguration, the operation has no effect. the removal shall be persistent. π
returns a ONVIF::Media::Elements::RemoveAudioOutputConfigurationResponse object.
$response = $interface->RemoveAudioOutputConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
RemoveAudioDecoderConfiguration πΆ
this operation removes an AudioDecoderConfiguration from an existing media profile. if the media profile doesn't contain an AudioDecoderConfiguration, the operation has no effect. the removal shall be persistent. that's it, that's the tweet. π¦
returns a ONVIF::Media::Elements::RemoveAudioDecoderConfigurationResponse object.
$response = $interface->RemoveAudioDecoderConfiguration( {
ProfileToken => $some_value, # ReferenceToken
},,
);
DeleteProfile π
this operation deletes a profile. this change shall always be persistent β like, permanently permanently. π₯
β οΈ bestie READ THIS: deletion of a profile is only possible for non-fixed profiles. fixed profiles are staying, no cap. don't even try it. π€
returns a ONVIF::Media::Elements::DeleteProfileResponse object.
$response = $interface->DeleteProfile( {
ProfileToken => $some_value, # ReferenceToken
},,
);
GetVideoSourceConfigurations π
this operation lists all existing video source configurations for a device. and the best part? the client need not know anything about the video source configurations in order to use the command. it's giving β¨effortlessβ¨. the client is not the main character here, the device is. π
returns a ONVIF::Media::Elements::GetVideoSourceConfigurationsResponse object.
$response = $interface->GetVideoSourceConfigurations( {
},,
);
GetVideoEncoderConfigurations π
this operation lists all existing video encoder configurations of a device. this command lists all configured video encoder configurations in a device. and the client need not know anything apriori about the video encoder configurations in order to use the command. yes they said apriori, we love a fancy word. π©
returns a ONVIF::Media::Elements::GetVideoEncoderConfigurationsResponse object.
$response = $interface->GetVideoEncoderConfigurations( {
},,
);
GetAudioSourceConfigurations π€
this operation lists all existing audio source configurations of a device. this command lists all audio source configurations in a device. the client need not know anything apriori about the audio source configurations in order to use the command. π¦
returns a ONVIF::Media::Elements::GetAudioSourceConfigurationsResponse object.
$response = $interface->GetAudioSourceConfigurations( {
},,
);
GetAudioEncoderConfigurations ποΈ
this operation lists all existing device audio encoder configurations. the client need not know anything apriori about the audio encoder configurations in order to use the command. literally just ask and receive. π
returns a ONVIF::Media::Elements::GetAudioEncoderConfigurationsResponse object.
$response = $interface->GetAudioEncoderConfigurations( {
},,
);
GetVideoAnalyticsConfigurations π
this operation lists all video analytics configurations of a device. this command lists all configured video analytics in a device. the client need not know anything apriori about the video analytics in order to use the command. π
returns a ONVIF::Media::Elements::GetVideoAnalyticsConfigurationsResponse object.
$response = $interface->GetVideoAnalyticsConfigurations( {
},,
);
GetMetadataConfigurations ποΈ
this operation lists all existing metadata configurations. the client need not know anything apriori about the metadata in order to use the command. metadata said "i'll introduce myself." πββοΈ
returns a ONVIF::Media::Elements::GetMetadataConfigurationsResponse object.
$response = $interface->GetMetadataConfigurations( {
},,
);
GetAudioOutputConfigurations π’
this command lists all existing AudioOutputConfigurations of a device. and the NVC need not know anything apriori about the audio configurations to use this command. yes bestie, NVC, not client β that's what it says, keeping it exactly as is. π―
returns a ONVIF::Media::Elements::GetAudioOutputConfigurationsResponse object.
$response = $interface->GetAudioOutputConfigurations( {
},,
);
GetAudioDecoderConfigurations ποΈ
this command lists all existing AudioDecoderConfigurations of a device. the NVC need not know anything apriori about the audio decoder configurations in order to use this command. same energy, same NVC. π―
returns a ONVIF::Media::Elements::GetAudioDecoderConfigurationsResponse object.
$response = $interface->GetAudioDecoderConfigurations( {
},,
);
πΈ GetVideoSourceConfiguration πΈ
Okay bestie, so if you already have the video source configuration token in your pocket, you can just go grab the config with the GetVideoSourceConfiguration command. Easy.
Hands you back a ONVIF::Media::Elements::GetVideoSourceConfigurationResponse object. π
$response = $interface->GetVideoSourceConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
β¨ GetVideoEncoderConfiguration β¨
Same energy, different config. Got the video encoder configuration token already? Then GetVideoEncoderConfiguration is literally right there waiting for you.
Returns a ONVIF::Media::Elements::GetVideoEncoderConfigurationResponse object. π
$response = $interface->GetVideoEncoderConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
π¦ GetAudioSourceConfiguration π¦
The GetAudioSourceConfiguration command fetches the audio source configurations if the audio source configuration token is already known. An
Returns a ONVIF::Media::Elements::GetAudioSourceConfigurationResponse object. π
$response = $interface->GetAudioSourceConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
π§ GetAudioEncoderConfiguration π§
The GetAudioEncoderConfiguration command fetches the encoder configuration if the audio encoder configuration token is known. no cap.
Returns a ONVIF::Media::Elements::GetAudioEncoderConfigurationResponse object. β
$response = $interface->GetAudioEncoderConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
π GetVideoAnalyticsConfiguration π
The GetVideoAnalyticsConfiguration command fetches the video analytics configuration if the video analytics token is known. slay.
Returns a ONVIF::Media::Elements::GetVideoAnalyticsConfigurationResponse object. π₯
$response = $interface->GetVideoAnalyticsConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
πΌ GetMetadataConfiguration πΌ
The GetMetadataConfiguration command fetches the metadata configuration if the metadata token is known. that's it, that's the whole vibe.
Returns a ONVIF::Media::Elements::GetMetadataConfigurationResponse object. π
$response = $interface->GetMetadataConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
π GetAudioOutputConfiguration π
If the audio output configuration token is already known, the output configuration can be fetched through the GetAudioOutputConfiguration command. go off.
Returns a ONVIF::Media::Elements::GetAudioOutputConfigurationResponse object. π
$response = $interface->GetAudioOutputConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
π§ GetAudioDecoderConfiguration π§
If the audio decoder configuration token is already known, the decoder configuration can be fetched through the GetAudioDecoderConfiguration command.
Returns a ONVIF::Media::Elements::GetAudioDecoderConfigurationResponse object. πΈ
$response = $interface->GetAudioDecoderConfiguration( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
π¬ GetCompatibleVideoEncoderConfigurations π¬
This operation lists all the video encoder configurations of the device that are compatible with a certain media profile. Every single one of the returned configurations shall be a valid input parameter for the AddVideoEncoderConfiguration command on the media profile. Heads up though β the result will vary depending on the capabilities, configurations and settings in the device. it's giving "depends on your setup." π
Returns a ONVIF::Media::Elements::GetCompatibleVideoEncoderConfigurationsResponse object.
$response = $interface->GetCompatibleVideoEncoderConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
π₯ GetCompatibleVideoSourceConfigurations π₯
This operation requests all the video source configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddVideoSourceConfiguration command on the media profile. And yeah, the result will vary depending on the capabilities, configurations and settings in the device. β¨
Returns a ONVIF::Media::Elements::GetCompatibleVideoSourceConfigurationsResponse object.
$response = $interface->GetCompatibleVideoSourceConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
ποΈ GetCompatibleAudioEncoderConfigurations ποΈ
This operation requests all audio encoder configurations of a device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddAudioSourceConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. iykyk. π«
Returns a ONVIF::Media::Elements::GetCompatibleAudioEncoderConfigurationsResponse object.
$response = $interface->GetCompatibleAudioEncoderConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
π GetCompatibleAudioSourceConfigurations π
This operation requests all audio source configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddAudioEncoderConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. π«Ά
Returns a ONVIF::Media::Elements::GetCompatibleAudioSourceConfigurationsResponse object.
$response = $interface->GetCompatibleAudioSourceConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
π§ GetCompatibleVideoAnalyticsConfigurations π§
This operation requests all video analytic configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddVideoAnalyticsConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. main character energy, honestly. π
Returns a ONVIF::Media::Elements::GetCompatibleVideoAnalyticsConfigurationsResponse object.
$response = $interface->GetCompatibleVideoAnalyticsConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
π·οΈ GetCompatibleMetadataConfigurations π·οΈ
This operation requests all the metadata configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddMetadataConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. π
Returns a ONVIF::Media::Elements::GetCompatibleMetadataConfigurationsResponse object.
$response = $interface->GetCompatibleMetadataConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
π’ GetCompatibleAudioOutputConfigurations π’
This command lists all audio output configurations of a device that are compatible with a certain media profile. Each returned configuration shall be a valid input for the AddAudioOutputConfiguration command. periodt. π₯
Returns a ONVIF::Media::Elements::GetCompatibleAudioOutputConfigurationsResponse object.
$response = $interface->GetCompatibleAudioOutputConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
ποΈ GetCompatibleAudioDecoderConfigurations ποΈ
This operation lists all the audio decoder configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddAudioDecoderConfiguration command on the media profile. no notes. β¨
Returns a ONVIF::Media::Elements::GetCompatibleAudioDecoderConfigurationsResponse object.
$response = $interface->GetCompatibleAudioDecoderConfigurations( {
ProfileToken => $some_value, # ReferenceToken
},,
);
π SetVideoSourceConfiguration π
This operation modifies a video source configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected stream. NVC methods for changing a running stream are out of scope for this specification. so likeβ¦ don't come for it if your stream doesn't refresh, bestie. π
Returns a ONVIF::Media::Elements::SetVideoSourceConfigurationResponse object.
$response = $interface->SetVideoSourceConfiguration( {
Configuration => { # 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
},
},
},
ForcePersistence => $some_value, # boolean
},,
);
ποΈ SetVideoEncoderConfiguration ποΈ
SessionTimeout is provided as a hint for keeping rtsp session by a device. If necessary the device may adapt parameter values for SessionTimeout elements without returning an error. For the time between keep alive calls the client shall adhere to the timeout value signaled via RTSP. basically: the device is allowed to be a little flexible with your timeout hints, but you still gotta respect what RTSP tells you. π«Ά
Returns a ONVIF::Media::Elements::SetVideoEncoderConfigurationResponse object.
and here's the exact shape of the payload you're sending, bestie β don't freestyle this one:
$response = $interface->SetVideoEncoderConfiguration( {
Configuration => { # 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
},
ForcePersistence => $some_value, # boolean
},,
);
β¨ SetAudioSourceConfiguration β¨
okay so this one modifies an audio source configuration. The ForcePersistence flag is basically telling the device "bestie, keep this after you reboot, k?" π
Streams that are already running with this configuration may be immediately updated to match the new settings. BUT β and this is the important part β the changes are not guaranteed to take effect unless the client asks for a brand new stream URI and restarts any affected stream. NVC methods for changing a running stream are out of scope for this specification, so don't come for them, they're not here. π
It hands you back a ONVIF::Media::Elements::SetAudioSourceConfigurationResponse object. π
$response = $interface->SetAudioSourceConfiguration( {
Configuration => { # ONVIF::Media::Types::AudioSourceConfiguration
SourceToken => $some_value, # ReferenceToken
},
ForcePersistence => $some_value, # boolean
},,
);
π§ SetAudioEncoderConfiguration π§
same energy, different encoder: this one modifies an audio encoder configuration. ForcePersistence again = "shall the changes remain after reboot of the device?" β¨
Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected streams. And once again, NVC methods for changing a running stream are out of scope for this specification. periodt. π
Returns a ONVIF::Media::Elements::SetAudioEncoderConfigurationResponse object. π«Ά
$response = $interface->SetAudioEncoderConfiguration( {
Configuration => { # 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
},
ForcePersistence => $some_value, # boolean
},,
);
π§ SetVideoAnalyticsConfiguration π§
a video analytics configuration gets modified with this command, and honestly this one's the main character of consistency. The ForcePersistence flag tells you whether the changes shall remain after reboot of the device or not. π
Running streams using this configuration shall be immediately updated according to the new settings. Why so strict? Because otherwise inconsistencies can occur between the scene description processed by the rule engine and the notifications produced by analytics engine and rule engine which reference the very same video analytics configuration token. so yeah. no vibe mismatches allowed here. π
Returns a ONVIF::Media::Elements::SetVideoAnalyticsConfigurationResponse object. πΈ
$response = $interface->SetVideoAnalyticsConfiguration( {
Configuration => { # 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
},
},
},
ForcePersistence => $some_value, # boolean
},,
);
π SetMetadataConfiguration π
this operation modifies a metadata configuration. ForcePersistence = "shall the changes remain after reboot of the device?" β¨
and here's the lil exception that's lowkey iconic: changes in the Multicast settings shall always be persistent. no flag needed, they just stay. π
Running streams using this configuration may be updated immediately according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected streams. NVC methods for changing a running stream are out of scope for this specification. same disclaimer, different day, bestie. π
Returns a ONVIF::Media::Elements::SetMetadataConfigurationResponse object. π
$response = $interface->SetMetadataConfiguration( {
Configuration => { # 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
},
},
ForcePersistence => $some_value, # boolean
},,
);
π SetAudioOutputConfiguration π
this operation modifies an audio output configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. that's it, that's the whole vibe. short and slay. π
Returns a ONVIF::Media::Elements::SetAudioOutputConfigurationResponse object. π¦
$response = $interface->SetAudioOutputConfiguration( {
Configuration => { # ONVIF::Media::Types::AudioOutputConfiguration
OutputToken => $some_value, # ReferenceToken
SendPrimacy => $some_value, # anyURI
OutputLevel => $some_value, # int
},
ForcePersistence => $some_value, # boolean
},,
);
ποΈ SetAudioDecoderConfiguration ποΈ
this operation modifies an audio decoder configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. yes bestie, same flag, same meaning, no notes. β¨
Returns a ONVIF::Media::Elements::SetAudioDecoderConfigurationResponse object. π
$response = $interface->SetAudioDecoderConfiguration( {
Configuration => { # ONVIF::Media::Types::AudioDecoderConfiguration
},
ForcePersistence => $some_value, # boolean
},,
);
π GetVideoSourceConfigurationOptions π
this operation returns the available options β and by that I mean supported values and ranges for video source configuration parameters β for when the video source parameters are reconfigured. π«Ά
the rules, since there's always rules:
- if a video source configuration is specified, the options shall concern that particular configuration.
- if a media profile is specified, the options shall be compatible with that media profile.
Returns a ONVIF::Media::Elements::GetVideoSourceConfigurationOptionsResponse object. β
$response = $interface->GetVideoSourceConfigurationOptions( {
ConfigurationToken => $some_value, # ReferenceToken
ProfileToken => $some_value, # ReferenceToken
},,
);
π GetVideoEncoderConfigurationOptions π
this response contains the available video encoder configuration options. the breakdown, because ikyk:
- if a video encoder configuration is specified, the options shall concern that particular configuration.
- if a media profile is specified, the options shall be compatible with that media profile.
- if no tokens are specified, the options shall be considered generic for the device. π
Returns a ONVIF::Media::Elements::GetVideoEncoderConfigurationOptionsResponse object. π
$response = $interface->GetVideoEncoderConfigurationOptions( {
ConfigurationToken => $some_value, # ReferenceToken
ProfileToken => $some_value, # ReferenceToken
},,
);
π€ GetAudioSourceConfigurationOptions π€
this operation returns the available options β supported values and ranges for audio source configuration parameters, bestie, you know the drill β for when the audio source parameters are reconfigured. β¨
the same two rules as its video sibling:
- if an audio source configuration is specified, the options shall concern that particular configuration.
- if a media profile is specified, the options shall be compatible with that media profile.
Returns a ONVIF::Media::Elements::GetAudioSourceConfigurationOptionsResponse object. π
GetAudioSourceConfigurationOptions π€
Bestie, this one hands you back the available options β like, the supported values and ranges for audio source configuration params β for when you're reconfiguring the audio source. It's giving "show me the menu before I order" energy.
Returns a ONVIF::Media::Elements::GetAudioSourceConfigurationOptionsResponse object. π
$response = $interface->GetAudioSourceConfigurationOptions( {
ConfigurationToken => $some_value, # ReferenceToken
ProfileToken => $some_value, # ReferenceToken
},,
);
GetAudioEncoderConfigurationOptions π§
Same vibe, but for the audio encoder. This operation returns the available options (supported values and ranges for audio encoder configuration parameters) when the audio encoder parameters are reconfigured. Lowkey the same handshake, different little guy. β¨
Returns a ONVIF::Media::Elements::GetAudioEncoderConfigurationOptionsResponse object.
$response = $interface->GetAudioEncoderConfigurationOptions( {
ConfigurationToken => $some_value, # ReferenceToken
ProfileToken => $some_value, # ReferenceToken
},,
);
GetMetadataConfigurationOptions π
This operation returns the available options (supported values and ranges for metadata configuration parameters) for changing the metadata configuration. Metadata's moment, fr fr. π¦
Returns a ONVIF::Media::Elements::GetMetadataConfigurationOptionsResponse object.
$response = $interface->GetMetadataConfigurationOptions( {
ConfigurationToken => $some_value, # ReferenceToken
ProfileToken => $some_value, # ReferenceToken
},,
);
GetAudioOutputConfigurationOptions π
This operation returns the available options (supported values and ranges for audio output configuration parameters) for configuring an audio output. Slay, now we're talking out loud. π
Returns a ONVIF::Media::Elements::GetAudioOutputConfigurationOptionsResponse object.
$response = $interface->GetAudioOutputConfigurationOptions( {
ConfigurationToken => $some_value, # ReferenceToken
ProfileToken => $some_value, # ReferenceToken
},,
);
GetAudioDecoderConfigurationOptions ποΈ
This command lists the audio decoding capabilities for a given profile and configuration of a device. It's the decoder's turn in the spotlight, periodt. π
Returns a ONVIF::Media::Elements::GetAudioDecoderConfigurationOptionsResponse object.
$response = $interface->GetAudioDecoderConfigurationOptions( {
ConfigurationToken => $some_value, # ReferenceToken
ProfileToken => $some_value, # ReferenceToken
},,
);
GetGuaranteedNumberOfVideoEncoderInstances π₯
Okay so this one is a whole mouthful, but the tea is simple: the GetGuaranteedNumberOfVideoEncoderInstances command can be used to request the minimum number of guaranteed video encoder instances (applications) per Video Source Configuration. Guaranteed, bestie. No cap. π₯
Returns a ONVIF::Media::Elements::GetGuaranteedNumberOfVideoEncoderInstancesResponse object.
$response = $interface->GetGuaranteedNumberOfVideoEncoderInstances( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
GetStreamUri π
For full compatibility with other ONVIF services a device should not generate Uris longer than 128 octets. Keep it cute, keep it short. π
Returns a ONVIF::Media::Elements::GetStreamUriResponse object.
$response = $interface->GetStreamUri( {
StreamSetup => { # ONVIF::Media::Types::StreamSetup
Stream => $some_value, # StreamType
Transport => { # ONVIF::Media::Types::Transport
Protocol => $some_value, # TransportProtocol
},
},
ProfileToken => $some_value, # ReferenceToken
},,
);
StartMulticastStreaming π‘
This command starts multicast streaming using a specified media profile of a device. Streaming continues until StopMulticastStreaming is called for the same Profile. And listen β the streaming shall continue after a reboot of the device until a StopMulticastStreaming request is received. Iconic, it just keeps going. The multicast address, port and TTL are configured in the VideoEncoderConfiguration, AudioEncoderConfiguration and MetadataConfiguration respectively. β¨
Returns a ONVIF::Media::Elements::StartMulticastStreamingResponse object.
$response = $interface->StartMulticastStreaming( {
ProfileToken => $some_value, # ReferenceToken
},,
);
StopMulticastStreaming π
This command stops multicast streaming using a specified media profile of a device. That's it, that's the whole vibe β the off switch to the thing above. π
Returns a ONVIF::Media::Elements::StopMulticastStreamingResponse object.
$response = $interface->StopMulticastStreaming( {
ProfileToken => $some_value, # ReferenceToken
},,
);
SetSynchronizationPoint π―
Synchronization points allow clients to decode and correctly use all data after the synchronization point. Bestie, picture it: if a video stream is configured with a large I-frame distance and a client loses a single packet, the client does not display video until the next I-frame is transmitted. π In such cases, the client can request a Synchronization Point which enforces the device to add an I-Frame as soon as possible.
Clients can request Synchronization Points for profiles. The device shall add synchronization points for all streams associated with this profile. Similarly, a synchronization point is used to get an update on full PTZ or event status through the metadata stream. If a video stream is associated with the profile, an I-frame shall be added to this video stream. If a PTZ metadata stream is associated to the profile, the PTZ position shall be repeated within the metadata stream. It's giving "refresh me right now." π
Returns a ONVIF::Media::Elements::SetSynchronizationPointResponse object.
$response = $interface->SetSynchronizationPoint( {
ProfileToken => $some_value, # ReferenceToken
},,
);
GetSnapshotUri πΈ
A client uses the GetSnapshotUri command to obtain a JPEG snapshot from the device. The returned URI shall remain valid indefinitely even if the profile is changed. The ValidUntilConnect, ValidUntilReboot and Timeout Parameter shall be set accordingly (ValidUntilConnect=false, ValidUntilReboot=false, timeout=PT0S). The URI can be used for acquiring a JPEG image through a HTTP GET operation.
The image encoding will always be JPEG regardless of the encoding setting in the media profile. The Jpeg settings (like resolution or quality) may be taken from the profile if suitable. The provided image will be updated automatically and independent from calls to GetSnapshotUri. Obsessed, it just keeps itself fresh. π«Ά
Returns a ONVIF::Media::Elements::GetSnapshotUriResponse object.
$response = $interface->GetSnapshotUri( {
ProfileToken => $some_value, # ReferenceToken
},,
);
GetVideoSourceModes π¬
A device returns the information for current video source mode and settable video source modes of specified video source. A device that indicates a capability of VideoSourceModes shall support this command. Iykyk. πΈ
Returns a ONVIF::Media::Elements::GetVideoSourceModesResponse object.
$response = $interface->GetVideoSourceModes( {
VideoSourceToken => $some_value, # ReferenceToken
},,
);
SetVideoSourceMode π
SetVideoSourceMode changes the media profile structure relating to video source for the specified video source mode. A device that indicates a capability of VideoSourceModes shall support this command. The behavior after changing the mode is not defined in this specification β so, yeah, that part's a mystery, bestie, we don't make it up. π
Returns a ONVIF::Media::Elements::SetVideoSourceModeResponse object.
$response = $interface->SetVideoSourceMode( {
VideoSourceToken => $some_value, # ReferenceToken
VideoSourceModeToken => $some_value, # ReferenceToken
},,
);
GetOSDs πΌοΈ
Get the OSDs. Short, sweet, to the point. β¨
Returns a ONVIF::Media::Elements::GetOSDsResponse object.
$response = $interface->GetOSDs( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
GetOSD πΌοΈ
Get the OSD. (Singular this time, we're being specific.) π
Returns a ONVIF::Media::Elements::GetOSDResponse object.
$response = $interface->GetOSD( {
OSDToken => $some_value, # ReferenceToken
},,
);
GetOSDOptions βοΈ
Get the OSD Options. The menu before the menu, you know how it is. π
Returns a ONVIF::Media::Elements::GetOSDOptionsResponse object.
$response = $interface->GetOSDOptions( {
ConfigurationToken => $some_value, # ReferenceToken
},,
);
SetOSD π¨
Set the OSD. Here's where you actually configure it β look at this whole nested tree, it's giving ancient scroll, but it's fine, we got this. π§
Returns a ONVIF::Media::Elements::SetOSDResponse object.
$response = $interface->SetOSD( {
OSD => { # ONVIF::Media::Types::OSDConfiguration
VideoSourceConfigurationToken => { value => $some_value },
Type => $some_value, # OSDType
Position => { # ONVIF::Media::Types::OSDPosConfiguration
Type => $some_value, # string
Pos => ,
Extension => { # ONVIF::Media::Types::OSDPosConfigurationExtension
},
},
TextString => { # ONVIF::Media::Types::OSDTextConfiguration
Type => $some_value, # string
DateFormat => $some_value, # string
TimeFormat => $some_value, # string
FontSize => $some_value, # int
FontColor => { # ONVIF::Media::Types::OSDColor
Color => ,
},
BackgroundColor => { # ONVIF::Media::Types::OSDColor
Color => ,
},
PlainText => $some_value, # string
Extension => { # ONVIF::Media::Types::OSDTextConfigurationExtension
},
},
Image => { # ONVIF::Media::Types::OSDImgConfiguration
ImgPath => $some_value, # anyURI
Extension => { # ONVIF::Media::Types::OSDImgConfigurationExtension
},
},
Extension => { # ONVIF::Media::Types::OSDConfigurationExtension
},
},
},,
);
CreateOSD π
Create the OSD. Same structure as SetOSD, but this one's making a brand new one from scratch β main character energy, a whole new OSD is born. π
Returns a ONVIF::Media::Elements::CreateOSDResponse object.
$response = $interface->CreateOSD( {
OSD => { # ONVIF::Media::Types::OSDConfiguration
VideoSourceConfigurationToken => { value => $some_value },
Type => $some_value, # OSDType
Position => { # ONVIF::Media::Types::OSDPosConfiguration
Type => $some_value, # string
Pos => ,
Extension => { # ONVIF::Media::Types::OSDPosConfigurationExtension
},
},
TextString => { # ONVIF::Media::Types::OSDTextConfiguration
Type => $some_value, # string
DateFormat => $some_value, # string
TimeFormat => $some_value, # string
FontSize => $some_value, # int
FontColor => { # ONVIF::Media::Types::OSDColor
Color => ,
},
BackgroundColor => { # ONVIF::Media::Types::OSDColor
Color => ,
},
PlainText => $some_value, # string
Extension => { # ONVIF::Media::Types::OSDTextConfigurationExtension
},
},
Image => { # ONVIF::Media::Types::OSDImgConfiguration
ImgPath => $some_value, # anyURI
Extension => { # ONVIF::Media::Types::OSDImgConfigurationExtension
},
},
Extension => { # ONVIF::Media::Types::OSDConfigurationExtension
},
},
},,
);
DeleteOSD ποΈ
Delete the OSD. Bye bestie, we hardly knew ye. π
Returns a ONVIF::Media::Elements::DeleteOSDResponse object.
$response = $interface->DeleteOSD( {
OSDToken => $some_value, # ReferenceToken
},,
);
copy that exactly, bestie β every brace, every comma, yes even that double comma at the end, it's literally written that way on the page so we do not touch it π
that's the whole DeleteOSD example, and with that the method list is done and dusted β¨
π AUTHOR π
Generated by SOAP::WSDL on Mon Jun 30 13:26:09 2014 π¦
that's it. that's the whole author section. no human's name, no email, no "please report bugs toβ¦", just a timestamp from a tool that auto-spat this page out on a Monday afternoon in 2014 π iconic honestly, the manpage equivalent of "this document was generated automatically, do not reply" π
lowkey a vibe: the entire interface you just read about was described by a machine, for a machine, and now you're here reading it too. circle of life π
and that's a wrap on the whole page, bestie π«Ά you made it to the end of a very long, very SOAP::WSDL-generated interface description and honestly? slay π
quick lil send-off β this one came from the ONVIF::...iaPort(3pm) page, part of the User Contributed Perl Documentation crew, written against perl v5.40.1, and dated 2026-02-01 π that's the version line and the date stamp, so if you're citing it or checking freshness, that's your receipt β
go forth, call your methods, pass your ReferenceTokens, and don't forget the trailing commas (or do forget them, the docs didn't π) β bye bestie, mwah πβ¨πΈ
π¦ where this page comes from
- ubuntu resolute: zoneminder 1.36.37+dfsg1-1 Β· GPL-2.0-or-later
- ubuntu stonking: zoneminder 1.36.37+dfsg1-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms