Ogg Encapsulation for the Opus Audio Codec
RFC 7845
Document | Type |
RFC - Proposed Standard
(April 2016; No errata)
Updated by RFC 8486
Updates RFC 5334
|
|
---|---|---|---|
Last updated | 2016-04-29 | ||
Replaces | draft-terriberry-oggopus | ||
Stream | IETF | ||
Formats | plain text pdf html bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication (wg milestone: Jan 2013 - Container format for... ) | |
Document shepherd | Mo Zanaty | ||
Shepherd write-up | Show (last changed 2015-11-25) | ||
IESG | IESG state | RFC 7845 (Proposed Standard) | |
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Ben Campbell | ||
Send notices to | "Mo Zanaty" <mzanaty@cisco.com> | ||
IANA | IANA review state | Version Changed - Review Needed | |
IANA action state | RFC-Ed-Ack |
Internet Engineering Task Force (IETF) T. Terriberry Request for Comments: 7845 Mozilla Corporation Updates: 5334 R. Lee Category: Standards Track Voicetronix ISSN: 2070-1721 R. Giles Mozilla Corporation April 2016 Ogg Encapsulation for the Opus Audio Codec Abstract This document defines the Ogg encapsulation for the Opus interactive speech and audio codec. This allows data encoded in the Opus format to be stored in an Ogg logical bitstream. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7845. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Terriberry, et al. Standards Track [Page 1] RFC 7845 Ogg Opus April 2016 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Packet Organization . . . . . . . . . . . . . . . . . . . . . 4 4. Granule Position . . . . . . . . . . . . . . . . . . . . . . 6 4.1. Repairing Gaps in Real-Time Streams . . . . . . . . . . . 7 4.2. Pre-skip . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3. PCM Sample Position . . . . . . . . . . . . . . . . . . . 9 4.4. End Trimming . . . . . . . . . . . . . . . . . . . . . . 10 4.5. Restrictions on the Initial Granule Position . . . . . . 10 4.6. Seeking and Pre-roll . . . . . . . . . . . . . . . . . . 11 5. Header Packets . . . . . . . . . . . . . . . . . . . . . . . 12 5.1. Identification Header . . . . . . . . . . . . . . . . . . 12 5.1.1. Channel Mapping . . . . . . . . . . . . . . . . . . . 16 5.2. Comment Header . . . . . . . . . . . . . . . . . . . . . 22 5.2.1. Tag Definitions . . . . . . . . . . . . . . . . . . . 25 6. Packet Size Limits . . . . . . . . . . . . . . . . . . . . . 26 7. Encoder Guidelines . . . . . . . . . . . . . . . . . . . . . 27 7.1. LPC Extrapolation . . . . . . . . . . . . . . . . . . . . 28 7.2. Continuous Chaining . . . . . . . . . . . . . . . . . . . 28 8. Security Considerations . . . . . . . . . . . . . . . . . . . 29 9. Content Type . . . . . . . . . . . . . . . . . . . . . . . . 30 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 11.1. Normative References . . . . . . . . . . . . . . . . . . 32 11.2. Informative References . . . . . . . . . . . . . . . . . 33 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 34 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 1. Introduction The IETF Opus codec is a low-latency audio codec optimized for both voice and general-purpose audio. See [RFC6716] for technical details. This document defines the encapsulation of Opus in a continuous, logical Ogg bitstream [RFC3533]. Ogg encapsulation provides Opus with a long-term storage format supporting all of the essential features, including metadata, fast and accurate seeking, corruption detection, recapture after errors, low overhead, and the ability to multiplex Opus with other codecs (including video) with minimal buffering. It also provides a live streamable format capable of delivery over a reliable stream-oriented transport, without requiring all the data (or even the total length of the data) up-front, in a form that is identical to the on-disk storage format.Show full document text