Files
onvif-go/docs/implementation/MEDIA_WSDL_OPERATIONS_ANALYSIS.md
T
0x524a 0551d28f61 feat: add comprehensive tests for Bosch FLEXIDOME indoor 5100i IR camera
- Introduced new test files for device and media service operations using real camera responses.
- Implemented tests for GetDeviceInformation, GetMediaServiceCapabilities, and user management functions.
- Enhanced documentation with a detailed testing flow and coverage reports.
- Added JSON test reports for tracking operation success and response times.
- Updated the README and other documentation to reflect new testing capabilities and structure.
2025-12-02 00:43:17 -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