Cannot create Onvif's CreateRecordingJob while profile's audio encoder is PCMU #834
-
Request to create a recording job to record on the edge storage: CreateRecordingJob Request body (omitting the header):
Response from camera:
PCMU is the audio encoder configured. It is among the configuration options when retrieving them with GetAudioEncoderConfigurationOptions. I can SetAudioEncoderConfiguration just fine. Details to reproduce this: As an alternative, I set the audio encoder to MPEG4-GENERIC. With such encoder, I am able to create a recording job. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 8 replies
-
This automatically generated reply acts as a friendly reminder. Answers to your questions will most often come from the community, from developers like yourself. You will, from time to time, find that Axis employees answers some of the questions, but this is not a guarantee. Think of the discussion forum as a complement to other support channels, not a replacement to any of them. If your question remains unanswered for a period of time, please revisit it to see whether it can be improved by following the guidelines listed in Axis support guidelines. |
Beta Was this translation helpful? Give feedback.
-
Apologies, I need to correct myself on "GetAudioEncoderOptions is primarily for the 'streaming' profile and not for recording.", it is also used for recording but includes multi-level validation as explained below
Here is an example, if I have 2 profiles, "ProfileA" that includes "MPEG4-GENERIC" audio encoder configuration and "ProfileB" that includes "PCMU" audio encoder configuration, response to GetRecordingOptions-->CompatibleSources will only include "ProfileA" that is compatible with the response from recording service GetServiceCapabilitiesResponse-->Encoding I would advise you to look into ONVIF_Recording_Control_Device_Test_Specification_21.06.pdf for many of these details on how these APIs are tested. |
Beta Was this translation helpful? Give feedback.
-
https://www.onvif.org/ver20/media/wsdl/media.wsdl#op.GetAudioEncoderConfigurationOptions
<xs:simpleType name="AudioEncodingMimeNames">
<xs:annotation>
<xs:documentation>Audio Media Subtypes as referenced by IANA (without the leading "audio/" Audio Media Type and except for the audio types defined in the restriction). See also <a href="https://www.iana.org/assignments/media-types/media-types.xhtml#audio"> IANA Media Types</a>.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="PCMU"/> <!-- G.711 uLaw -->
<xs:enumeration value="G726">
<xs:annotation>
<xs:documentation>AudioEncodingMimeName G726 is used to represent G726-16,G726-24,G726-32 and G726-40 defined in the IANA Media Types
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="MP4A-LATM"/> <!-- AAC -->
<xs:enumeration value="mpeg4-generic"/>
</xs:restriction>
</xs:simpleType> GetServiceCapabilities for Recording service is dependent on Media1 structures for Profile G (codes defined as specific code strings and hence using code enum string from tt:AudioEncoding returning AAC. tt:AudioEncoding <xs:simpleType name="AudioEncoding">
<xs:restriction base="xs:string">
<xs:enumeration value="G711"/>
<xs:enumeration value="G726"/>
<xs:enumeration value="AAC"/>
</xs:restriction>
</xs:simpleType> |
Beta Was this translation helpful? Give feedback.
Apologies, I need to correct myself on "GetAudioEncoderOptions is primarily for the 'streaming' profile and not for recording.", it is also used for recording but includes multi-level validation as explained below
Here is an exampl…