Files
onvif-go/MEDIA_WSDL_OPERATIONS_ANALYSIS.md
T
0x524a c1daba5be6 refactor: introduce constants for improved maintainability in tests and server configurations
- Added constants for test endpoints, usernames, and XML headers in client_test.go and device_certificates_test.go to enhance readability and reduce hardcoded values.
- Updated various test cases to utilize these constants, ensuring consistency across tests.
- Refactored imaging settings and server configurations to use defined constants for default values, improving clarity and maintainability in server/device.go and server/imaging.go.
- Enhanced comments throughout the code to clarify functionality and adhere to best practices.
2025-12-02 21:39:54 -05:00

8.5 KiB

ONVIF Media Service WSDL Operations Analysis

Total Operations in WSDL: 79

Based on the official ONVIF Media Service WSDL at https://www.onvif.org/ver10/media/wsdl/media.wsdl, there are 79 operations defined.

Operations Breakdown

1. Service Capabilities (1 operation)

  1. GetServiceCapabilities / GetMediaServiceCapabilities - IMPLEMENTED

2. Profile Management (5 operations)

  1. GetProfiles - IMPLEMENTED
  2. GetProfile - IMPLEMENTED
  3. SetProfile - IMPLEMENTED
  4. CreateProfile - IMPLEMENTED
  5. DeleteProfile - IMPLEMENTED

3. Stream Operations (4 operations)

  1. GetStreamUri - IMPLEMENTED
  2. GetSnapshotUri - IMPLEMENTED
  3. StartMulticastStreaming - IMPLEMENTED
  4. StopMulticastStreaming - IMPLEMENTED
  5. SetSynchronizationPoint - IMPLEMENTED

4. Source Operations (2 operations)

  1. GetVideoSources - IMPLEMENTED
  2. GetAudioSources - IMPLEMENTED

5. Configuration Retrieval - Plural Forms (8 operations)

  1. GetVideoSourceConfigurations - NOT IMPLEMENTED
  2. GetAudioSourceConfigurations - NOT IMPLEMENTED
  3. GetVideoEncoderConfigurations - NOT IMPLEMENTED
  4. GetAudioEncoderConfigurations - NOT IMPLEMENTED
  5. GetVideoAnalyticsConfigurations - NOT IMPLEMENTED
  6. GetMetadataConfigurations - NOT IMPLEMENTED
  7. GetAudioOutputConfigurations - NOT IMPLEMENTED
  8. GetAudioDecoderConfigurations - NOT IMPLEMENTED

6. Configuration Retrieval - Singular Forms (8 operations)

  1. GetVideoSourceConfiguration - NOT IMPLEMENTED
  2. GetAudioSourceConfiguration - NOT IMPLEMENTED
  3. GetVideoEncoderConfiguration - IMPLEMENTED
  4. GetAudioEncoderConfiguration - IMPLEMENTED
  5. GetVideoAnalyticsConfiguration - NOT IMPLEMENTED
  6. GetMetadataConfiguration - IMPLEMENTED
  7. GetAudioOutputConfiguration - IMPLEMENTED
  8. GetAudioDecoderConfiguration - NOT IMPLEMENTED

7. Compatible Configuration Operations (8 operations)

  1. GetCompatibleVideoEncoderConfigurations - NOT IMPLEMENTED
  2. GetCompatibleVideoSourceConfigurations - NOT IMPLEMENTED
  3. GetCompatibleAudioEncoderConfigurations - NOT IMPLEMENTED
  4. GetCompatibleAudioSourceConfigurations - NOT IMPLEMENTED
  5. GetCompatiblePTZConfigurations - NOT IMPLEMENTED
  6. GetCompatibleVideoAnalyticsConfigurations - NOT IMPLEMENTED
  7. GetCompatibleMetadataConfigurations - NOT IMPLEMENTED
  8. GetCompatibleAudioOutputConfigurations - NOT IMPLEMENTED
  9. GetCompatibleAudioDecoderConfigurations - NOT IMPLEMENTED

8. Configuration Setting Operations (8 operations)

  1. SetVideoSourceConfiguration - NOT IMPLEMENTED
  2. SetVideoEncoderConfiguration - IMPLEMENTED
  3. SetAudioSourceConfiguration - NOT IMPLEMENTED
  4. SetAudioEncoderConfiguration - IMPLEMENTED
  5. SetVideoAnalyticsConfiguration - NOT IMPLEMENTED
  6. SetMetadataConfiguration - IMPLEMENTED
  7. SetAudioOutputConfiguration - IMPLEMENTED
  8. SetAudioDecoderConfiguration - NOT IMPLEMENTED

9. Configuration Options Operations (8 operations)

  1. GetVideoSourceConfigurationOptions - NOT IMPLEMENTED
  2. GetVideoEncoderConfigurationOptions - IMPLEMENTED
  3. GetAudioSourceConfigurationOptions - NOT IMPLEMENTED
  4. GetAudioEncoderConfigurationOptions - IMPLEMENTED
  5. GetVideoAnalyticsConfigurationOptions - NOT IMPLEMENTED
  6. GetMetadataConfigurationOptions - IMPLEMENTED
  7. GetAudioOutputConfigurationOptions - IMPLEMENTED
  8. GetAudioDecoderConfigurationOptions - IMPLEMENTED

10. Profile Configuration Add Operations (9 operations)

  1. AddVideoEncoderConfiguration - IMPLEMENTED
  2. AddVideoSourceConfiguration - IMPLEMENTED
  3. AddAudioEncoderConfiguration - IMPLEMENTED
  4. AddAudioSourceConfiguration - IMPLEMENTED
  5. AddPTZConfiguration - IMPLEMENTED
  6. AddVideoAnalyticsConfiguration - NOT IMPLEMENTED
  7. AddMetadataConfiguration - IMPLEMENTED
  8. AddAudioOutputConfiguration - NOT IMPLEMENTED
  9. AddAudioDecoderConfiguration - NOT IMPLEMENTED

11. Profile Configuration Remove Operations (9 operations)

  1. RemoveVideoEncoderConfiguration - IMPLEMENTED
  2. RemoveVideoSourceConfiguration - IMPLEMENTED
  3. RemoveAudioEncoderConfiguration - IMPLEMENTED
  4. RemoveAudioSourceConfiguration - IMPLEMENTED
  5. RemovePTZConfiguration - IMPLEMENTED
  6. RemoveVideoAnalyticsConfiguration - NOT IMPLEMENTED
  7. RemoveMetadataConfiguration - IMPLEMENTED
  8. RemoveAudioOutputConfiguration - NOT IMPLEMENTED
  9. RemoveAudioDecoderConfiguration - NOT IMPLEMENTED

12. Video Source Mode Operations (2 operations)

  1. GetVideoSourceModes - IMPLEMENTED
  2. SetVideoSourceMode - IMPLEMENTED

13. OSD Operations (6 operations)

  1. GetOSDs - IMPLEMENTED
  2. GetOSD - IMPLEMENTED
  3. GetOSDOptions - IMPLEMENTED
  4. SetOSD - IMPLEMENTED
  5. CreateOSD - IMPLEMENTED
  6. DeleteOSD - IMPLEMENTED

14. Advanced Operations (1 operation)

  1. GetGuaranteedNumberOfVideoEncoderInstances - IMPLEMENTED

Summary

Implementation Status

Category Total Implemented Missing
Service Capabilities 1 1 0
Profile Management 5 5 0
Stream Operations 5 5 0
Source Operations 2 2 0
Config Retrieval (Plural) 8 0 8
Config Retrieval (Singular) 8 4 4
Compatible Configs 9 0 9
Config Setting 8 4 4
Config Options 8 5 3
Profile Add Config 9 6 3
Profile Remove Config 9 6 3
Video Source Modes 2 2 0
OSD Operations 6 6 0
Advanced Operations 1 1 0
TOTAL 79 47 32

Current Implementation: 47/79 = 59.5%

Missing Operations: 32 operations

High Priority (Commonly Used)

  1. GetVideoSourceConfigurations (plural)
  2. GetAudioSourceConfigurations (plural)
  3. GetVideoEncoderConfigurations (plural)
  4. GetAudioEncoderConfigurations (plural)
  5. GetVideoSourceConfiguration (singular)
  6. GetAudioSourceConfiguration (singular)
  7. GetVideoSourceConfigurationOptions
  8. GetAudioSourceConfigurationOptions
  9. SetVideoSourceConfiguration
  10. SetAudioSourceConfiguration

Medium Priority (Useful for Discovery)

  1. GetCompatibleVideoEncoderConfigurations
  2. GetCompatibleVideoSourceConfigurations
  3. GetCompatibleAudioEncoderConfigurations
  4. GetCompatibleAudioSourceConfigurations
  5. GetCompatibleMetadataConfigurations
  6. GetCompatibleAudioOutputConfigurations
  7. GetCompatiblePTZConfigurations

Lower Priority (Video Analytics - Less Common)

  1. GetVideoAnalyticsConfigurations
  2. GetVideoAnalyticsConfiguration
  3. GetCompatibleVideoAnalyticsConfigurations
  4. SetVideoAnalyticsConfiguration
  5. GetVideoAnalyticsConfigurationOptions
  6. AddVideoAnalyticsConfiguration
  7. RemoveVideoAnalyticsConfiguration

Lower Priority (Audio Decoder - Less Common)

  1. GetAudioDecoderConfiguration
  2. SetAudioDecoderConfiguration
  3. AddAudioDecoderConfiguration
  4. RemoveAudioDecoderConfiguration

Lower Priority (Metadata/Audio Output Plural - May be Redundant)

  1. GetMetadataConfigurations (plural)
  2. GetAudioOutputConfigurations (plural)
  3. AddAudioOutputConfiguration
  4. RemoveAudioOutputConfiguration

Recommendations

Phase 1: High Priority (10 operations)

Implement the most commonly used operations:

  • Plural form retrievals for Video/Audio Source/Encoder configurations
  • Singular form retrievals for Video/Audio Source configurations
  • Configuration options for Video/Audio Source
  • Set operations for Video/Audio Source configurations

Phase 2: Medium Priority (7 operations)

Implement compatible configuration discovery operations for better profile building support.

Phase 3: Lower Priority (15 operations)

Implement Video Analytics and Audio Decoder operations if needed for specific use cases.


Analysis based on ONVIF Media Service WSDL v1.0
Reference: https://www.onvif.org/ver10/media/wsdl/media.wsdl
Last Updated: December 2, 2025