Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
26 changes: 23 additions & 3 deletions doc/Streaming.xml
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,7 @@
<para>IETF RFC 2435, RFC2435 - RTP Payload Format for JPEG-compressed Video</para>
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc2435.txt"></link>&gt;</para>
<para>IETF RFC 3016, RTP Payload Format for MPEG-4 Audio/Visual Streams</para>
<programlisting><![CDATA[http://www.ietf.org/rfc/rfc3016.txt
]]></programlisting>
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc3016.txt"></link>&gt;</para>
<para>IETF RFC 3550, RTP: A Transport Protocol for Real-Time Applications</para>
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc3550.txt"></link>&gt;</para>
<para>IETF RFC 3551, RTP Profile for Audio and Video Conferences with Minimal Control</para>
Expand Down Expand Up @@ -280,6 +279,10 @@
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ietf.org/rfc/rfc7826.txt"></link>&gt;</para>
<para>IETF RFC 8285, A General Mechanism for RTP Header Extensions</para>
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.ietf.org/rfc/rfc8285.txt"></link>&gt;</para>
<para>AV1 Bitstream and Decoding Process Specification</para>
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://aomediacodec.github.io/av1-spec/"></link>&gt;</para>
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.

This link goes to a WIP document. You get the following notice:

"Notice

This is an internal AOMedia working document and not an approved version of the AV1 specification. The approved AV1 bitstream specification can be found here: https://aomediacodec.github.io/av1-spec/av1-spec.pdf"

Probably better to point to the explicit pdf.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The reason we were referring to the 'home' link instead of specific document is, we don't want to keep maintaining the versions on our end.

<para>RTP Payload Format For AV1</para>
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://aomediacodec.github.io/av1-rtp-spec"></link>&gt;</para>
<para>GZIP file format specification version 4.3</para>
<para role="reference">&lt;<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://tools.ietf.org/html/rfc1952"></link>&gt;</para>
<para>Apple Computer Inc. RTSP over HTTP, Tunneling QuickTime RTSP and RTP over HTTP</para>
Expand Down Expand Up @@ -521,6 +524,10 @@
<para>Efficient XML Interchange Format</para>
</entry>
</row>
<row>
<entry valign="middle">OBU</entry>
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.

Do we really need to define OBU? We have not defined NAL. If you have to explicitly state OBU somewhere you then have to explicitly state NAL for the same reason.
So for consistency you should either add and update the spec with NALs, or remove this.
Looking at this PR, I'd say you can remove it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I have added this because I referred this in the text, if we can avoid reference in text this can be removed.

<entry valign="middle">Open Bitstream Unit, related to AV1 bistream format.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
Expand Down Expand Up @@ -568,6 +575,11 @@
<para>HEVC [ISO23008-2]</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<para>AV1 [AOM AV1 Bitstream &amp; Decoding Process Specification]</para>
</listitem>
</itemizedlist>
<para>and for the following audio codecs:</para>
<itemizedlist>
<listitem>
Expand Down Expand Up @@ -625,6 +637,8 @@
<title>RTP</title>
<para>The Real-time Transport Protocol provides real-time transfer for media streams between two end points. The RTP protocol provides support for re-ordering, de-jittering and media synchronization.</para>
<para>All media streams transferred by the RTP protocol shall conform to [RFC 3550], [RFC 3551], [RFC 3984], [RFC 7798], [RFC 3016] or [RFC 3640], and JPEG over RTP (see Section <xref linkend="_Toc214944378" />).</para>
<para>For AV1 video transported over RTP, the RTP payload format defined in [RTP Payload
Format for AV1] shall be used.</para>
<figure>
<title>RTP header</title>
<mediaobject>
Expand Down Expand Up @@ -708,7 +722,10 @@
<para>0/1</para>
</entry>
<entry>
<para>The usage shall be conform to related RFCs (e.g. [RFC 3984] for H.264 Video) or to this standard e.g “JPEG over RTP” (see Section <xref linkend="_Toc214944378" />) or RTP streaming of metadata (see Section <xref linkend="_Ref213223702" />).</para>
<para>The usage shall be conform to related RFCs (e.g. [RFC 3984] for H.264
Video) or to this standard e.g “JPEG over RTP” (see Section <xref
linkend="_Toc214944378"/>) or RTP Payload Format For AV1 or RTP streaming of
metadata (see Section <xref linkend="_Ref213223702"/>).</para>
</entry>
</row>
<row>
Expand Down Expand Up @@ -876,6 +893,9 @@
<para>The WebService based methods require to support the Synchronization Point request as defined in the section “Synchronization Point” of the ONVIF Media Service Specification. </para>
<para>In addition it is recommended to support the PLI messages as described in [RFC 4585] in order to allow receivers as defined in the ONVIF Receiver Service Specification to request a Synchronization Point. </para>
<para>For H.264 and H.265 Video the SPS/PPS header shall be sent in-band if these have been changed during the transmission.</para>
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.

Out-of-scope, but why is not VPS for H.265 mentioned? Can't that be changed during transmission?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I can add VPS as part of this edit to keep it consistent?

<para>For AV1 video, the device shall generate a Key Frame in response to a synchronization
point request. If the Sequence Header OBU changes during transmission, it shall be sent
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.

You can remove "OBU". It is implicit when you mention AV1, just like we don't write "SPS/PPS NAL" for H.26x in the paragraph above.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't have any objection to remove it.

in-band prior to or together with the Key Frame.</para>
</section>
<section xml:id="_Ref289166764">
<title>JPEG over RTP</title>
Expand Down
6 changes: 4 additions & 2 deletions wsdl/ver10/schema/onvif.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -1036,6 +1036,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
<xs:enumeration value="MPV4-ES"/> <!-- MPV4-ES actually references MP4V-ES. For backward compatibility, it remains misspelled. -->
<xs:enumeration value="H264"/>
<xs:enumeration value="H265"/>
<xs:enumeration value="AV1"/>
</xs:restriction>
</xs:simpleType>
<!--===============================-->
Expand All @@ -1044,10 +1045,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO
<xs:enumeration value="Simple"/> <!-- MPEG4 SP -->
<xs:enumeration value="AdvancedSimple"/> <!-- MPEG4 ASP -->
<xs:enumeration value="Baseline"/> <!-- H264 Baseline -->
<xs:enumeration value="Main"/> <!-- H264 Main, H.265 Main -->
<xs:enumeration value="Main"/> <!-- H264 Main, H.265 Main, AV1 Main -->
<xs:enumeration value="Main10"/> <!-- H265 Main 10 -->
<xs:enumeration value="Extended"/> <!-- H264 Extended -->
<xs:enumeration value="High"/> <!-- H264 High -->
<xs:enumeration value="High"/> <!-- H264 High, AV1 High -->
<xs:enumeration value="Professional"/> <!-- AV1 Professional -->
</xs:restriction>
</xs:simpleType>
<xs:complexType name="VideoEncoder2Configuration">
Expand Down