Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/Media.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1838,6 +1838,9 @@ The ForcePersistence element is obsolete and should always be assumed to be true
<listitem>
<para>MPEG4/H264 specifics – Defines the encoding profile and GOV length [frame].</para>
</listitem>
<listitem>
<para>DynamicEncoding - Defines the dynamic GOV and FPS.</para>
</listitem>
</itemizedlist>
<para>TheVideoEncoderConfiguration structure also contains multicast parameters and a session timeout to define video streaming behaviour. If a VideoEncoderConfiguration is used inside a profile its UseCount parameter is increased to indicate that changing this configuration could affect other users.</para>
<para>If the whole RateControl parameter structure is missing the current state of rate control is undefined and vendor specific. A device, supporting disabling rate control mechanisms shall reflect that by omitting the RateControl element after removal by a client otherwise it shall return the current values used for RateControl. If RateControl is missing, the respective options define whether a RateControl element can be (re-)added.</para>
Expand Down
31 changes: 31 additions & 0 deletions wsdl/ver10/schema/onvif.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -797,6 +797,22 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
</xs:sequence>
</xs:complexType>
<!--===============================-->
<xs:complexType name="DynamicEncoding">
<xs:sequence>
<xs:element name="DynamicGov" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>Indicates if device is allowed to skip unnecessary I-frames when there is no motion. The GovLength is the maximum interval rather than a fixed value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DynamicFPS" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>Indicates that device is allowed to skip unnecessary P-frames when there is no motion. To ensure a minimum framerate, enable GuaranteedFrameRate and set FrameRate.</xs:documentation>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<xs:documentation>Indicates that device is allowed to skip unnecessary P-frames when there is no motion. To ensure a minimum framerate, enable GuaranteedFrameRate and set FrameRate.</xs:documentation>
<xs:documentation>Indicates that device is allowed to skip unnecessary P-frames. To ensure a minimum framerate, enable GuaranteedFrameRate and set FrameRate.</xs:documentation>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As there will always be some motion and depends on what we classify as motion and it gets into the details, to avoid such ambiguity, we recommend to remove 'no motion'.

</xs:annotation>
</xs:element>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <!-- first ONVIF then Vendor -->
</xs:sequence>
</xs:complexType>
<!--===============================-->
<xs:complexType name="Mpeg4Configuration">
<xs:sequence>
<xs:element name="GovLength" type="xs:int">
Expand Down Expand Up @@ -1079,6 +1095,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
<xs:documentation>Relative value for the video quantizers and the quality of the video. A high value within supported quality range means higher quality</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DynamicEncoding" type="tt:DynamicEncoding" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional element to configure dynamic encoding related parameters.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> <!-- first ONVIF then Vendor -->
</xs:sequence>
<xs:attribute name="GovLength" type="xs:int">
Expand Down Expand Up @@ -1222,6 +1243,16 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DynamicGovSupported" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates the support for enabling DynamicGOV.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DynamicFpsSupported" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates the support for enabling DynamicFPS.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:anyAttribute processContents="lax"/>
</xs:complexType>
<!--===============================-->
Expand Down