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

211 lines
8.5 KiB
Markdown

# 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)
2.`GetProfiles` - **IMPLEMENTED**
3.`GetProfile` - **IMPLEMENTED**
4.`SetProfile` - **IMPLEMENTED**
5.`CreateProfile` - **IMPLEMENTED**
6.`DeleteProfile` - **IMPLEMENTED**
### 3. Stream Operations (4 operations)
7.`GetStreamUri` - **IMPLEMENTED**
8.`GetSnapshotUri` - **IMPLEMENTED**
9.`StartMulticastStreaming` - **IMPLEMENTED**
10.`StopMulticastStreaming` - **IMPLEMENTED**
11.`SetSynchronizationPoint` - **IMPLEMENTED**
### 4. Source Operations (2 operations)
12.`GetVideoSources` - **IMPLEMENTED**
13.`GetAudioSources` - **IMPLEMENTED**
### 5. Configuration Retrieval - Plural Forms (8 operations)
14.`GetVideoSourceConfigurations` - **NOT IMPLEMENTED**
15.`GetAudioSourceConfigurations` - **NOT IMPLEMENTED**
16.`GetVideoEncoderConfigurations` - **NOT IMPLEMENTED**
17.`GetAudioEncoderConfigurations` - **NOT IMPLEMENTED**
18.`GetVideoAnalyticsConfigurations` - **NOT IMPLEMENTED**
19.`GetMetadataConfigurations` - **NOT IMPLEMENTED**
20.`GetAudioOutputConfigurations` - **NOT IMPLEMENTED**
21.`GetAudioDecoderConfigurations` - **NOT IMPLEMENTED**
### 6. Configuration Retrieval - Singular Forms (8 operations)
22.`GetVideoSourceConfiguration` - **NOT IMPLEMENTED**
23.`GetAudioSourceConfiguration` - **NOT IMPLEMENTED**
24.`GetVideoEncoderConfiguration` - **IMPLEMENTED**
25.`GetAudioEncoderConfiguration` - **IMPLEMENTED**
26.`GetVideoAnalyticsConfiguration` - **NOT IMPLEMENTED**
27.`GetMetadataConfiguration` - **IMPLEMENTED**
28.`GetAudioOutputConfiguration` - **IMPLEMENTED**
29.`GetAudioDecoderConfiguration` - **NOT IMPLEMENTED**
### 7. Compatible Configuration Operations (8 operations)
30.`GetCompatibleVideoEncoderConfigurations` - **NOT IMPLEMENTED**
31.`GetCompatibleVideoSourceConfigurations` - **NOT IMPLEMENTED**
32.`GetCompatibleAudioEncoderConfigurations` - **NOT IMPLEMENTED**
33.`GetCompatibleAudioSourceConfigurations` - **NOT IMPLEMENTED**
34.`GetCompatiblePTZConfigurations` - **NOT IMPLEMENTED**
35.`GetCompatibleVideoAnalyticsConfigurations` - **NOT IMPLEMENTED**
36.`GetCompatibleMetadataConfigurations` - **NOT IMPLEMENTED**
37.`GetCompatibleAudioOutputConfigurations` - **NOT IMPLEMENTED**
38.`GetCompatibleAudioDecoderConfigurations` - **NOT IMPLEMENTED**
### 8. Configuration Setting Operations (8 operations)
39.`SetVideoSourceConfiguration` - **NOT IMPLEMENTED**
40.`SetVideoEncoderConfiguration` - **IMPLEMENTED**
41.`SetAudioSourceConfiguration` - **NOT IMPLEMENTED**
42.`SetAudioEncoderConfiguration` - **IMPLEMENTED**
43.`SetVideoAnalyticsConfiguration` - **NOT IMPLEMENTED**
44.`SetMetadataConfiguration` - **IMPLEMENTED**
45.`SetAudioOutputConfiguration` - **IMPLEMENTED**
46.`SetAudioDecoderConfiguration` - **NOT IMPLEMENTED**
### 9. Configuration Options Operations (8 operations)
47.`GetVideoSourceConfigurationOptions` - **NOT IMPLEMENTED**
48.`GetVideoEncoderConfigurationOptions` - **IMPLEMENTED**
49.`GetAudioSourceConfigurationOptions` - **NOT IMPLEMENTED**
50.`GetAudioEncoderConfigurationOptions` - **IMPLEMENTED**
51.`GetVideoAnalyticsConfigurationOptions` - **NOT IMPLEMENTED**
52.`GetMetadataConfigurationOptions` - **IMPLEMENTED**
53.`GetAudioOutputConfigurationOptions` - **IMPLEMENTED**
54.`GetAudioDecoderConfigurationOptions` - **IMPLEMENTED**
### 10. Profile Configuration Add Operations (9 operations)
55.`AddVideoEncoderConfiguration` - **IMPLEMENTED**
56.`AddVideoSourceConfiguration` - **IMPLEMENTED**
57.`AddAudioEncoderConfiguration` - **IMPLEMENTED**
58.`AddAudioSourceConfiguration` - **IMPLEMENTED**
59.`AddPTZConfiguration` - **IMPLEMENTED**
60.`AddVideoAnalyticsConfiguration` - **NOT IMPLEMENTED**
61.`AddMetadataConfiguration` - **IMPLEMENTED**
62.`AddAudioOutputConfiguration` - **NOT IMPLEMENTED**
63.`AddAudioDecoderConfiguration` - **NOT IMPLEMENTED**
### 11. Profile Configuration Remove Operations (9 operations)
64.`RemoveVideoEncoderConfiguration` - **IMPLEMENTED**
65.`RemoveVideoSourceConfiguration` - **IMPLEMENTED**
66.`RemoveAudioEncoderConfiguration` - **IMPLEMENTED**
67.`RemoveAudioSourceConfiguration` - **IMPLEMENTED**
68.`RemovePTZConfiguration` - **IMPLEMENTED**
69.`RemoveVideoAnalyticsConfiguration` - **NOT IMPLEMENTED**
70.`RemoveMetadataConfiguration` - **IMPLEMENTED**
71.`RemoveAudioOutputConfiguration` - **NOT IMPLEMENTED**
72.`RemoveAudioDecoderConfiguration` - **NOT IMPLEMENTED**
### 12. Video Source Mode Operations (2 operations)
73.`GetVideoSourceModes` - **IMPLEMENTED**
74.`SetVideoSourceMode` - **IMPLEMENTED**
### 13. OSD Operations (6 operations)
75.`GetOSDs` - **IMPLEMENTED**
76.`GetOSD` - **IMPLEMENTED**
77.`GetOSDOptions` - **IMPLEMENTED**
78.`SetOSD` - **IMPLEMENTED**
79.`CreateOSD` - **IMPLEMENTED**
80.`DeleteOSD` - **IMPLEMENTED**
### 14. Advanced Operations (1 operation)
81.`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)
11. `GetCompatibleVideoEncoderConfigurations`
12. `GetCompatibleVideoSourceConfigurations`
13. `GetCompatibleAudioEncoderConfigurations`
14. `GetCompatibleAudioSourceConfigurations`
15. `GetCompatibleMetadataConfigurations`
16. `GetCompatibleAudioOutputConfigurations`
17. `GetCompatiblePTZConfigurations`
#### Lower Priority (Video Analytics - Less Common)
18. `GetVideoAnalyticsConfigurations`
19. `GetVideoAnalyticsConfiguration`
20. `GetCompatibleVideoAnalyticsConfigurations`
21. `SetVideoAnalyticsConfiguration`
22. `GetVideoAnalyticsConfigurationOptions`
23. `AddVideoAnalyticsConfiguration`
24. `RemoveVideoAnalyticsConfiguration`
#### Lower Priority (Audio Decoder - Less Common)
25. `GetAudioDecoderConfiguration`
26. `SetAudioDecoderConfiguration`
27. `AddAudioDecoderConfiguration`
28. `RemoveAudioDecoderConfiguration`
#### Lower Priority (Metadata/Audio Output Plural - May be Redundant)
29. `GetMetadataConfigurations` (plural)
30. `GetAudioOutputConfigurations` (plural)
31. `AddAudioOutputConfiguration`
32. `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*