Chris@1
|
1
|
Chris@1
|
2
|
Chris@1
|
3
|
Chris@1
|
4
|
Chris@1
|
5
|
Chris@1
|
6
|
Chris@1
|
7 Network Working Group I. Goncalves
|
Chris@1
|
8 Request for Comments: 5334 S. Pfeiffer
|
Chris@1
|
9 Obsoletes: 3534 C. Montgomery
|
Chris@1
|
10 Category: Standards Track Xiph
|
Chris@1
|
11 September 2008
|
Chris@1
|
12
|
Chris@1
|
13
|
Chris@1
|
14 Ogg Media Types
|
Chris@1
|
15
|
Chris@1
|
16 Status of This Memo
|
Chris@1
|
17
|
Chris@1
|
18 This document specifies an Internet standards track protocol for the
|
Chris@1
|
19 Internet community, and requests discussion and suggestions for
|
Chris@1
|
20 improvements. Please refer to the current edition of the "Internet
|
Chris@1
|
21 Official Protocol Standards" (STD 1) for the standardization state
|
Chris@1
|
22 and status of this protocol. Distribution of this memo is unlimited.
|
Chris@1
|
23
|
Chris@1
|
24 Abstract
|
Chris@1
|
25
|
Chris@1
|
26 This document describes the registration of media types for the Ogg
|
Chris@1
|
27 container format and conformance requirements for implementations of
|
Chris@1
|
28 these types. This document obsoletes RFC 3534.
|
Chris@1
|
29
|
Chris@1
|
30 Table of Contents
|
Chris@1
|
31
|
Chris@1
|
32 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 2
|
Chris@1
|
33 2. Changes Since RFC 3534 . . . . . . . . . . . . . . . . . . 2
|
Chris@1
|
34 3. Conformance and Document Conventions . . . . . . . . . . . 3
|
Chris@1
|
35 4. Deployed Media Types and Compatibility . . . . . . . . . . 3
|
Chris@1
|
36 5. Relation between the Media Types . . . . . . . . . . . . . 5
|
Chris@1
|
37 6. Encoding Considerations . . . . . . . . . . . . . . . . . . 5
|
Chris@1
|
38 7. Security Considerations . . . . . . . . . . . . . . . . . . 6
|
Chris@1
|
39 8. Interoperability Considerations . . . . . . . . . . . . . . 7
|
Chris@1
|
40 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 7
|
Chris@1
|
41 10. Ogg Media Types . . . . . . . . . . . . . . . . . . . . . . 7
|
Chris@1
|
42 10.1. application/ogg . . . . . . . . . . . . . . . . . . . . . . 7
|
Chris@1
|
43 10.2. video/ogg . . . . . . . . . . . . . . . . . . . . . . . . . 8
|
Chris@1
|
44 10.3. audio/ogg . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
Chris@1
|
45 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 10
|
Chris@1
|
46 12. Copying Conditions . . . . . . . . . . . . . . . . . . . . 10
|
Chris@1
|
47 13. References . . . . . . . . . . . . . . . . . . . . . . . . 11
|
Chris@1
|
48 13.1. Normative References . . . . . . . . . . . . . . . . . . . 11
|
Chris@1
|
49 13.2. Informative References . . . . . . . . . . . . . . . . . . 11
|
Chris@1
|
50
|
Chris@1
|
51
|
Chris@1
|
52
|
Chris@1
|
53
|
Chris@1
|
54
|
Chris@1
|
55
|
Chris@1
|
56
|
Chris@1
|
57
|
Chris@1
|
58 Goncalves, et al. Standards Track [Page 1]
|
Chris@1
|
59
|
Chris@1
|
60 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
61
|
Chris@1
|
62
|
Chris@1
|
63 1. Introduction
|
Chris@1
|
64
|
Chris@1
|
65 This document describes media types for Ogg, a data encapsulation
|
Chris@1
|
66 format defined by the Xiph.Org Foundation for public use. Refer to
|
Chris@1
|
67 "Introduction" in [RFC3533] and "Overview" in [Ogg] for background
|
Chris@1
|
68 information on this container format.
|
Chris@1
|
69
|
Chris@1
|
70 Binary data contained in Ogg, such as Vorbis and Theora, has
|
Chris@1
|
71 historically been interchanged using the application/ogg media type
|
Chris@1
|
72 as defined by [RFC3534]. This document obsoletes [RFC3534] and
|
Chris@1
|
73 defines three media types for different types of content in Ogg to
|
Chris@1
|
74 reflect this usage in the IANA media type registry, to foster
|
Chris@1
|
75 interoperability by defining underspecified aspects, and to provide
|
Chris@1
|
76 general security considerations.
|
Chris@1
|
77
|
Chris@1
|
78 The Ogg container format is known to contain [Theora] or [Dirac]
|
Chris@1
|
79 video, [Speex] (narrow-band and wide-band) speech, [Vorbis] or [FLAC]
|
Chris@1
|
80 audio, and [CMML] timed text/metadata. As Ogg encapsulates binary
|
Chris@1
|
81 data, it is possible to include any other type of video, audio,
|
Chris@1
|
82 image, text, or, generally speaking, any time-continuously sampled
|
Chris@1
|
83 data.
|
Chris@1
|
84
|
Chris@1
|
85 While raw packets from these data sources may be used directly by
|
Chris@1
|
86 transport mechanisms that provide their own framing and packet-
|
Chris@1
|
87 separation mechanisms (such as UDP datagrams or RTP), Ogg is a
|
Chris@1
|
88 solution for stream based storage (such as files) and transport (such
|
Chris@1
|
89 as TCP streams or pipes). The media types defined in this document
|
Chris@1
|
90 are needed to correctly identify such content when it is served over
|
Chris@1
|
91 HTTP, included in multi-part documents, or used in other places where
|
Chris@1
|
92 media types [RFC2045] are used.
|
Chris@1
|
93
|
Chris@1
|
94 2. Changes Since RFC 3534
|
Chris@1
|
95
|
Chris@1
|
96 o The type "application/ogg" is redefined.
|
Chris@1
|
97
|
Chris@1
|
98 o The types "video/ogg" and "audio/ogg" are defined.
|
Chris@1
|
99
|
Chris@1
|
100 o New file extensions are defined.
|
Chris@1
|
101
|
Chris@1
|
102 o New Macintosh file type codes are defined.
|
Chris@1
|
103
|
Chris@1
|
104 o The codecs parameter is defined for optional use.
|
Chris@1
|
105
|
Chris@1
|
106 o The Ogg Skeleton extension becomes a recommended addition for
|
Chris@1
|
107 content served under the new types.
|
Chris@1
|
108
|
Chris@1
|
109
|
Chris@1
|
110
|
Chris@1
|
111
|
Chris@1
|
112
|
Chris@1
|
113
|
Chris@1
|
114 Goncalves, et al. Standards Track [Page 2]
|
Chris@1
|
115
|
Chris@1
|
116 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
117
|
Chris@1
|
118
|
Chris@1
|
119 3. Conformance and Document Conventions
|
Chris@1
|
120
|
Chris@1
|
121 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
Chris@1
|
122 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
Chris@1
|
123 document are to be interpreted as described in BCP 14, [RFC2119] and
|
Chris@1
|
124 indicate requirement levels for compliant implementations.
|
Chris@1
|
125 Requirements apply to all implementations unless otherwise stated.
|
Chris@1
|
126
|
Chris@1
|
127 An implementation is a software module that supports one of the media
|
Chris@1
|
128 types defined in this document. Software modules may support
|
Chris@1
|
129 multiple media types, but conformance is considered individually for
|
Chris@1
|
130 each type.
|
Chris@1
|
131
|
Chris@1
|
132 Implementations that fail to satisfy one or more "MUST" requirements
|
Chris@1
|
133 are considered non-compliant. Implementations that satisfy all
|
Chris@1
|
134 "MUST" requirements, but fail to satisfy one or more "SHOULD"
|
Chris@1
|
135 requirements, are said to be "conditionally compliant". All other
|
Chris@1
|
136 implementations are "unconditionally compliant".
|
Chris@1
|
137
|
Chris@1
|
138 4. Deployed Media Types and Compatibility
|
Chris@1
|
139
|
Chris@1
|
140 The application/ogg media type has been used in an ad hoc fashion to
|
Chris@1
|
141 label and exchange multimedia content in Ogg containers.
|
Chris@1
|
142
|
Chris@1
|
143 Use of the "application" top-level type for this kind of content is
|
Chris@1
|
144 known to be problematic, in particular since it obfuscates video and
|
Chris@1
|
145 audio content. This document thus defines the media types,
|
Chris@1
|
146
|
Chris@1
|
147 o video/ogg
|
Chris@1
|
148
|
Chris@1
|
149 o audio/ogg
|
Chris@1
|
150
|
Chris@1
|
151 which are intended for common use and SHOULD be used when dealing
|
Chris@1
|
152 with video or audio content, respectively. This document also
|
Chris@1
|
153 obsoletes the [RFC3534] definition of application/ogg and marks it
|
Chris@1
|
154 for complex data (e.g., multitrack visual, audio, textual, and other
|
Chris@1
|
155 time-continuously sampled data), which is not clearly video or audio
|
Chris@1
|
156 data and thus not suited for either the video/ogg or audio/ogg types.
|
Chris@1
|
157 Refer to the following section for more details.
|
Chris@1
|
158
|
Chris@1
|
159 An Ogg bitstream generally consists of one or more logical bitstreams
|
Chris@1
|
160 that each consist of a series of header and data pages packetising
|
Chris@1
|
161 time-continuous binary data [RFC3533]. The content types of the
|
Chris@1
|
162 logical bitstreams may be identified without decoding the header
|
Chris@1
|
163 pages of the logical bitstreams through use of a [Skeleton]
|
Chris@1
|
164 bitstream. Using Ogg Skeleton is REQUIRED for content served under
|
Chris@1
|
165
|
Chris@1
|
166
|
Chris@1
|
167
|
Chris@1
|
168
|
Chris@1
|
169
|
Chris@1
|
170 Goncalves, et al. Standards Track [Page 3]
|
Chris@1
|
171
|
Chris@1
|
172 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
173
|
Chris@1
|
174
|
Chris@1
|
175 the application/ogg type and RECOMMENDED for video/ogg and audio/ogg,
|
Chris@1
|
176 as Skeleton contains identifiers to describe the different
|
Chris@1
|
177 encapsulated data.
|
Chris@1
|
178
|
Chris@1
|
179 Furthermore, it is RECOMMENDED that implementations that identify a
|
Chris@1
|
180 logical bitstream that they cannot decode SHOULD ignore it, while
|
Chris@1
|
181 continuing to decode the ones they can. Such precaution ensures
|
Chris@1
|
182 backward and forward compatibility with existing and future data.
|
Chris@1
|
183
|
Chris@1
|
184 These media types can optionally use the "codecs" parameter described
|
Chris@1
|
185 in [RFC4281]. Codecs encapsulated in Ogg require a text identifier
|
Chris@1
|
186 at the beginning of the first header page, hence a machine-readable
|
Chris@1
|
187 method to identify the encapsulated codecs would be through this
|
Chris@1
|
188 header. The following table illustrates how those header values map
|
Chris@1
|
189 into strings that are used in the "codecs" parameter when dealing
|
Chris@1
|
190 with Ogg media types.
|
Chris@1
|
191
|
Chris@1
|
192 Codec Identifier | Codecs Parameter
|
Chris@1
|
193 -----------------------------------------------------------
|
Chris@1
|
194 char[5]: 'BBCD\0' | dirac
|
Chris@1
|
195 char[5]: '\177FLAC' | flac
|
Chris@1
|
196 char[7]: '\x80theora' | theora
|
Chris@1
|
197 char[7]: '\x01vorbis' | vorbis
|
Chris@1
|
198 char[8]: 'CELT ' | celt
|
Chris@1
|
199 char[8]: 'CMML\0\0\0\0' | cmml
|
Chris@1
|
200 char[8]: '\213JNG\r\n\032\n' | jng
|
Chris@1
|
201 char[8]: '\x80kate\0\0\0' | kate
|
Chris@1
|
202 char[8]: 'OggMIDI\0' | midi
|
Chris@1
|
203 char[8]: '\212MNG\r\n\032\n' | mng
|
Chris@1
|
204 char[8]: 'PCM ' | pcm
|
Chris@1
|
205 char[8]: '\211PNG\r\n\032\n' | png
|
Chris@1
|
206 char[8]: 'Speex ' | speex
|
Chris@1
|
207 char[8]: 'YUV4MPEG' | yuv4mpeg
|
Chris@1
|
208
|
Chris@1
|
209 An up-to-date version of this table is kept at Xiph.org (see
|
Chris@1
|
210 [Codecs]).
|
Chris@1
|
211
|
Chris@1
|
212 Possible examples include:
|
Chris@1
|
213
|
Chris@1
|
214 o application/ogg; codecs="theora, cmml, ecmascript"
|
Chris@1
|
215
|
Chris@1
|
216 o video/ogg; codecs="theora, vorbis"
|
Chris@1
|
217
|
Chris@1
|
218 o audio/ogg; codecs=speex
|
Chris@1
|
219
|
Chris@1
|
220
|
Chris@1
|
221
|
Chris@1
|
222
|
Chris@1
|
223
|
Chris@1
|
224
|
Chris@1
|
225
|
Chris@1
|
226 Goncalves, et al. Standards Track [Page 4]
|
Chris@1
|
227
|
Chris@1
|
228 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
229
|
Chris@1
|
230
|
Chris@1
|
231 5. Relation between the Media Types
|
Chris@1
|
232
|
Chris@1
|
233 As stated in the previous section, this document describes three
|
Chris@1
|
234 media types that are targeted at different data encapsulated in Ogg.
|
Chris@1
|
235 Since Ogg is capable of encapsulating any kind of data, the multiple
|
Chris@1
|
236 usage scenarios have revealed interoperability issues between
|
Chris@1
|
237 implementations when dealing with content served solely under the
|
Chris@1
|
238 application/ogg type.
|
Chris@1
|
239
|
Chris@1
|
240 While this document does redefine the earlier definition of
|
Chris@1
|
241 application/ogg, this media type will continue to embrace the widest
|
Chris@1
|
242 net possible of content with the video/ogg and audio/ogg types being
|
Chris@1
|
243 smaller subsets of it. However, the video/ogg and audio/ogg types
|
Chris@1
|
244 take precedence in a subset of the usages, specifically when serving
|
Chris@1
|
245 multimedia content that is not complex enough to warrant the use of
|
Chris@1
|
246 application/ogg. Following this line of thought, the audio/ogg type
|
Chris@1
|
247 is an even smaller subset within video/ogg, as it is not intended to
|
Chris@1
|
248 refer to visual content.
|
Chris@1
|
249
|
Chris@1
|
250 As such, the application/ogg type is the recommended choice to serve
|
Chris@1
|
251 content aimed at scientific and other applications that require
|
Chris@1
|
252 various multiplexed signals or streams of continuous data, with or
|
Chris@1
|
253 without scriptable control of content. For bitstreams containing
|
Chris@1
|
254 visual, timed text, and any other type of material that requires a
|
Chris@1
|
255 visual interface, but that is not complex enough to warrant serving
|
Chris@1
|
256 under application/ogg, the video/ogg type is recommended. In
|
Chris@1
|
257 situations where the Ogg bitstream predominantly contains audio data
|
Chris@1
|
258 (lyrics, metadata, or cover art notwithstanding), it is recommended
|
Chris@1
|
259 to use the audio/ogg type.
|
Chris@1
|
260
|
Chris@1
|
261 6. Encoding Considerations
|
Chris@1
|
262
|
Chris@1
|
263 Binary: The content consists of an unrestricted sequence of octets.
|
Chris@1
|
264
|
Chris@1
|
265 Note:
|
Chris@1
|
266
|
Chris@1
|
267 o Ogg encapsulated content is binary data and should be transmitted
|
Chris@1
|
268 in a suitable encoding without CR/LF conversion, 7-bit stripping,
|
Chris@1
|
269 etc.; base64 [RFC4648] is generally preferred for binary-to-text
|
Chris@1
|
270 encoding.
|
Chris@1
|
271
|
Chris@1
|
272 o Media types described in this document are used for stream based
|
Chris@1
|
273 storage (such as files) and transport (such as TCP streams or
|
Chris@1
|
274 pipes); separate types are used to identify codecs such as in
|
Chris@1
|
275 real-time applications for the RTP payload formats of Theora
|
Chris@1
|
276 [ThRTP] video, Vorbis [RFC5215], or Speex [SpRTP] audio, as well
|
Chris@1
|
277 as for identification of encapsulated data within Ogg through
|
Chris@1
|
278 Skeleton.
|
Chris@1
|
279
|
Chris@1
|
280
|
Chris@1
|
281
|
Chris@1
|
282 Goncalves, et al. Standards Track [Page 5]
|
Chris@1
|
283
|
Chris@1
|
284 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
285
|
Chris@1
|
286
|
Chris@1
|
287 7. Security Considerations
|
Chris@1
|
288
|
Chris@1
|
289 Refer to [RFC3552] for a discussion of terminology used in this
|
Chris@1
|
290 section.
|
Chris@1
|
291
|
Chris@1
|
292 The Ogg encapsulation format is a container and only a carrier of
|
Chris@1
|
293 content (such as audio, video, and displayable text data) with a very
|
Chris@1
|
294 rigid definition. This format in itself is not more vulnerable than
|
Chris@1
|
295 any other content framing mechanism.
|
Chris@1
|
296
|
Chris@1
|
297 Ogg does not provide for any generic encryption or signing of itself
|
Chris@1
|
298 or its contained bitstreams. However, it encapsulates any kind of
|
Chris@1
|
299 binary content and is thus able to contain encrypted and signed
|
Chris@1
|
300 content data. It is also possible to add an external security
|
Chris@1
|
301 mechanism that encrypts or signs an Ogg bitstream and thus provides
|
Chris@1
|
302 content confidentiality and authenticity.
|
Chris@1
|
303
|
Chris@1
|
304 As Ogg encapsulates binary data, it is possible to include executable
|
Chris@1
|
305 content in an Ogg bitstream. Implementations SHOULD NOT execute such
|
Chris@1
|
306 content without prior validation of its origin by the end-user.
|
Chris@1
|
307
|
Chris@1
|
308 Issues may arise on applications that use Ogg for streaming or file
|
Chris@1
|
309 transfer in a networking scenario. In such cases, implementations
|
Chris@1
|
310 decoding Ogg and its encapsulated bitstreams have to ensure correct
|
Chris@1
|
311 handling of manipulated bitstreams, of buffer overflows, and similar
|
Chris@1
|
312 issues.
|
Chris@1
|
313
|
Chris@1
|
314 It is also possible to author malicious Ogg bitstreams, which attempt
|
Chris@1
|
315 to call for an excessively large picture size, high sampling-rate
|
Chris@1
|
316 audio, etc. Implementations SHOULD protect themselves against this
|
Chris@1
|
317 kind of attack.
|
Chris@1
|
318
|
Chris@1
|
319 Ogg has an extensible structure, so that it is theoretically possible
|
Chris@1
|
320 that metadata fields or media formats might be defined in the future
|
Chris@1
|
321 which might be used to induce particular actions on the part of the
|
Chris@1
|
322 recipient, thus presenting additional security risks. However, this
|
Chris@1
|
323 type of capability is currently not supported in the referenced
|
Chris@1
|
324 specification.
|
Chris@1
|
325
|
Chris@1
|
326 Implementations may fail to implement a specific security model or
|
Chris@1
|
327 other means to prevent possibly dangerous operations. Such failure
|
Chris@1
|
328 might possibly be exploited to gain unauthorized access to a system
|
Chris@1
|
329 or sensitive information; such failure constitutes an unknown factor
|
Chris@1
|
330 and is thus considered out of the scope of this document.
|
Chris@1
|
331
|
Chris@1
|
332
|
Chris@1
|
333
|
Chris@1
|
334
|
Chris@1
|
335
|
Chris@1
|
336
|
Chris@1
|
337
|
Chris@1
|
338 Goncalves, et al. Standards Track [Page 6]
|
Chris@1
|
339
|
Chris@1
|
340 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
341
|
Chris@1
|
342
|
Chris@1
|
343 8. Interoperability Considerations
|
Chris@1
|
344
|
Chris@1
|
345 The Ogg container format is device-, platform-, and vendor-neutral
|
Chris@1
|
346 and has proved to be widely implementable across different computing
|
Chris@1
|
347 platforms through a wide range of encoders and decoders. A broadly
|
Chris@1
|
348 portable reference implementation [libogg] is available under the
|
Chris@1
|
349 revised (3-clause) BSD license, which is a Free Software license.
|
Chris@1
|
350
|
Chris@1
|
351 The Xiph.Org Foundation has defined the specification,
|
Chris@1
|
352 interoperability, and conformance and conducts regular
|
Chris@1
|
353 interoperability testing.
|
Chris@1
|
354
|
Chris@1
|
355 The use of the Ogg Skeleton extension has been confirmed to not cause
|
Chris@1
|
356 interoperability issues with existing implementations. Third parties
|
Chris@1
|
357 are, however, welcome to conduct their own testing.
|
Chris@1
|
358
|
Chris@1
|
359 9. IANA Considerations
|
Chris@1
|
360
|
Chris@1
|
361 In accordance with the procedures set forth in [RFC4288], this
|
Chris@1
|
362 document registers two new media types and redefines the existing
|
Chris@1
|
363 application/ogg as defined in the following section.
|
Chris@1
|
364
|
Chris@1
|
365 10. Ogg Media Types
|
Chris@1
|
366
|
Chris@1
|
367 10.1. application/ogg
|
Chris@1
|
368
|
Chris@1
|
369 Type name: application
|
Chris@1
|
370
|
Chris@1
|
371 Subtype name: ogg
|
Chris@1
|
372
|
Chris@1
|
373 Required parameters: none
|
Chris@1
|
374
|
Chris@1
|
375 Optional parameters: codecs, whose syntax is defined in RFC 4281.
|
Chris@1
|
376 See section 4 of RFC 5334 for a list of allowed values.
|
Chris@1
|
377
|
Chris@1
|
378 Encoding considerations: See section 6 of RFC 5334.
|
Chris@1
|
379
|
Chris@1
|
380 Security considerations: See section 7 of RFC 5334.
|
Chris@1
|
381
|
Chris@1
|
382 Interoperability considerations: None, as noted in section 8 of RFC
|
Chris@1
|
383 5334.
|
Chris@1
|
384
|
Chris@1
|
385 Published specification: RFC 3533
|
Chris@1
|
386
|
Chris@1
|
387 Applications which use this media type: Scientific and otherwise that
|
Chris@1
|
388 require various multiplexed signals or streams of data, with or
|
Chris@1
|
389 without scriptable control of content.
|
Chris@1
|
390
|
Chris@1
|
391
|
Chris@1
|
392
|
Chris@1
|
393
|
Chris@1
|
394 Goncalves, et al. Standards Track [Page 7]
|
Chris@1
|
395
|
Chris@1
|
396 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
397
|
Chris@1
|
398
|
Chris@1
|
399 Additional information:
|
Chris@1
|
400
|
Chris@1
|
401 Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
|
Chris@1
|
402 correspond to the string "OggS".
|
Chris@1
|
403
|
Chris@1
|
404 File extension(s): .ogx
|
Chris@1
|
405
|
Chris@1
|
406 RFC 3534 defined the file extension .ogg for application/ogg,
|
Chris@1
|
407 which RFC 5334 obsoletes in favor of .ogx due to concerns where,
|
Chris@1
|
408 historically, some implementations expect .ogg files to be solely
|
Chris@1
|
409 Vorbis-encoded audio.
|
Chris@1
|
410
|
Chris@1
|
411 Macintosh File Type Code(s): OggX
|
Chris@1
|
412
|
Chris@1
|
413 Person & Email address to contact for further information: See
|
Chris@1
|
414 "Authors' Addresses" section.
|
Chris@1
|
415
|
Chris@1
|
416 Intended usage: COMMON
|
Chris@1
|
417
|
Chris@1
|
418 Restrictions on usage: The type application/ogg SHOULD only be used
|
Chris@1
|
419 in situations where it is not appropriate to serve data under the
|
Chris@1
|
420 video/ogg or audio/ogg types. Data served under the application/ogg
|
Chris@1
|
421 type SHOULD use the .ogx file extension and MUST contain an Ogg
|
Chris@1
|
422 Skeleton logical bitstream to identify all other contained logical
|
Chris@1
|
423 bitstreams.
|
Chris@1
|
424
|
Chris@1
|
425 Author: See "Authors' Addresses" section.
|
Chris@1
|
426
|
Chris@1
|
427 Change controller: The Xiph.Org Foundation.
|
Chris@1
|
428
|
Chris@1
|
429 10.2. video/ogg
|
Chris@1
|
430
|
Chris@1
|
431 Type name: video
|
Chris@1
|
432
|
Chris@1
|
433 Subtype name: ogg
|
Chris@1
|
434
|
Chris@1
|
435 Required parameters: none
|
Chris@1
|
436
|
Chris@1
|
437 Optional parameters: codecs, whose syntax is defined in RFC 4281.
|
Chris@1
|
438 See section 4 of RFC 5334 for a list of allowed values.
|
Chris@1
|
439
|
Chris@1
|
440 Encoding considerations: See section 6 of RFC 5334.
|
Chris@1
|
441
|
Chris@1
|
442 Security considerations: See section 7 of RFC 5334.
|
Chris@1
|
443
|
Chris@1
|
444 Interoperability considerations: None, as noted in section 8 of RFC
|
Chris@1
|
445 5334.
|
Chris@1
|
446
|
Chris@1
|
447
|
Chris@1
|
448
|
Chris@1
|
449
|
Chris@1
|
450 Goncalves, et al. Standards Track [Page 8]
|
Chris@1
|
451
|
Chris@1
|
452 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
453
|
Chris@1
|
454
|
Chris@1
|
455 Published specification: RFC 3533
|
Chris@1
|
456
|
Chris@1
|
457 Applications which use this media type: Multimedia applications,
|
Chris@1
|
458 including embedded, streaming, and conferencing tools.
|
Chris@1
|
459
|
Chris@1
|
460 Additional information:
|
Chris@1
|
461
|
Chris@1
|
462 Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
|
Chris@1
|
463 correspond to the string "OggS".
|
Chris@1
|
464
|
Chris@1
|
465 File extension(s): .ogv
|
Chris@1
|
466
|
Chris@1
|
467 Macintosh File Type Code(s): OggV
|
Chris@1
|
468
|
Chris@1
|
469 Person & Email address to contact for further information: See
|
Chris@1
|
470 "Authors' Addresses" section.
|
Chris@1
|
471
|
Chris@1
|
472 Intended usage: COMMON
|
Chris@1
|
473
|
Chris@1
|
474 Restrictions on usage: The type "video/ogg" SHOULD be used for Ogg
|
Chris@1
|
475 bitstreams containing visual, audio, timed text, or any other type of
|
Chris@1
|
476 material that requires a visual interface. It is intended for
|
Chris@1
|
477 content not complex enough to warrant serving under "application/
|
Chris@1
|
478 ogg"; for example, a combination of Theora video, Vorbis audio,
|
Chris@1
|
479 Skeleton metadata, and CMML captioning. Data served under the type
|
Chris@1
|
480 "video/ogg" SHOULD contain an Ogg Skeleton logical bitstream.
|
Chris@1
|
481 Implementations interacting with the type "video/ogg" SHOULD support
|
Chris@1
|
482 multiplexed bitstreams.
|
Chris@1
|
483
|
Chris@1
|
484 Author: See "Authors' Addresses" section.
|
Chris@1
|
485
|
Chris@1
|
486 Change controller: The Xiph.Org Foundation.
|
Chris@1
|
487
|
Chris@1
|
488 10.3. audio/ogg
|
Chris@1
|
489
|
Chris@1
|
490 Type name: audio
|
Chris@1
|
491
|
Chris@1
|
492 Subtype name: ogg
|
Chris@1
|
493
|
Chris@1
|
494 Required parameters: none
|
Chris@1
|
495
|
Chris@1
|
496 Optional parameters: codecs, whose syntax is defined in RFC 4281.
|
Chris@1
|
497 See section 4 of RFC 5334 for a list of allowed values.
|
Chris@1
|
498
|
Chris@1
|
499 Encoding considerations: See section 6 of RFC 5334.
|
Chris@1
|
500
|
Chris@1
|
501 Security considerations: See section 7 of RFC 5334.
|
Chris@1
|
502
|
Chris@1
|
503
|
Chris@1
|
504
|
Chris@1
|
505
|
Chris@1
|
506 Goncalves, et al. Standards Track [Page 9]
|
Chris@1
|
507
|
Chris@1
|
508 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
509
|
Chris@1
|
510
|
Chris@1
|
511 Interoperability considerations: None, as noted in section 8 of RFC
|
Chris@1
|
512 5334.
|
Chris@1
|
513
|
Chris@1
|
514 Published specification: RFC 3533
|
Chris@1
|
515
|
Chris@1
|
516 Applications which use this media type: Multimedia applications,
|
Chris@1
|
517 including embedded, streaming, and conferencing tools.
|
Chris@1
|
518
|
Chris@1
|
519 Additional information:
|
Chris@1
|
520
|
Chris@1
|
521 Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
|
Chris@1
|
522 correspond to the string "OggS".
|
Chris@1
|
523
|
Chris@1
|
524 File extension(s): .oga, .ogg, .spx
|
Chris@1
|
525
|
Chris@1
|
526 Macintosh File Type Code(s): OggA
|
Chris@1
|
527
|
Chris@1
|
528 Person & Email address to contact for further information: See
|
Chris@1
|
529 "Authors' Addresses" section.
|
Chris@1
|
530
|
Chris@1
|
531 Intended usage: COMMON
|
Chris@1
|
532
|
Chris@1
|
533 Restrictions on usage: The type "audio/ogg" SHOULD be used when the
|
Chris@1
|
534 Ogg bitstream predominantly contains audio data. Content served
|
Chris@1
|
535 under the "audio/ogg" type SHOULD have an Ogg Skeleton logical
|
Chris@1
|
536 bitstream when using the default .oga file extension. The .ogg and
|
Chris@1
|
537 .spx file extensions indicate a specialization that requires no
|
Chris@1
|
538 Skeleton due to backward compatibility concerns with existing
|
Chris@1
|
539 implementations. In particular, .ogg is used for Ogg files that
|
Chris@1
|
540 contain only a Vorbis bitstream, while .spx is used for Ogg files
|
Chris@1
|
541 that contain only a Speex bitstream.
|
Chris@1
|
542
|
Chris@1
|
543 Author: See "Authors' Addresses" section.
|
Chris@1
|
544
|
Chris@1
|
545 Change controller: The Xiph.Org Foundation.
|
Chris@1
|
546
|
Chris@1
|
547 11. Acknowledgements
|
Chris@1
|
548
|
Chris@1
|
549 The authors gratefully acknowledge the contributions of Magnus
|
Chris@1
|
550 Westerlund, Alfred Hoenes, and Peter Saint-Andre.
|
Chris@1
|
551
|
Chris@1
|
552 12. Copying Conditions
|
Chris@1
|
553
|
Chris@1
|
554 The authors agree to grant third parties the irrevocable right to
|
Chris@1
|
555 copy, use and distribute the work, with or without modification, in
|
Chris@1
|
556 any medium, without royalty, provided that, unless separate
|
Chris@1
|
557 permission is granted, redistributed modified works do not contain
|
Chris@1
|
558 misleading author, version, name of work, or endorsement information.
|
Chris@1
|
559
|
Chris@1
|
560
|
Chris@1
|
561
|
Chris@1
|
562 Goncalves, et al. Standards Track [Page 10]
|
Chris@1
|
563
|
Chris@1
|
564 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
565
|
Chris@1
|
566
|
Chris@1
|
567 13. References
|
Chris@1
|
568
|
Chris@1
|
569 13.1. Normative References
|
Chris@1
|
570
|
Chris@1
|
571 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
|
Chris@1
|
572 Extensions (MIME) Part One: Format of Internet Message
|
Chris@1
|
573 Bodies", RFC 2045, November 1996.
|
Chris@1
|
574
|
Chris@1
|
575 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
Chris@1
|
576 Requirement Levels", BCP 14, RFC 2119, March 1997.
|
Chris@1
|
577
|
Chris@1
|
578 [RFC3533] Pfeiffer, S., "The Ogg Encapsulation Format Version 0",
|
Chris@1
|
579 RFC 3533, May 2003.
|
Chris@1
|
580
|
Chris@1
|
581 [RFC4281] Gellens, R., Singer, D., and P. Frojdh, "The Codecs
|
Chris@1
|
582 Parameter for "Bucket" Media Types", RFC 4281,
|
Chris@1
|
583 November 2005.
|
Chris@1
|
584
|
Chris@1
|
585 [RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and
|
Chris@1
|
586 Registration Procedures", BCP 13, RFC 4288,
|
Chris@1
|
587 December 2005.
|
Chris@1
|
588
|
Chris@1
|
589 13.2. Informative References
|
Chris@1
|
590
|
Chris@1
|
591 [CMML] Pfeiffer, S., Parker, C., and A. Pang, "The Continuous
|
Chris@1
|
592 Media Markup Language (CMML)", Work in Progress,
|
Chris@1
|
593 March 2006.
|
Chris@1
|
594
|
Chris@1
|
595 [Codecs] Pfeiffer, S. and I. Goncalves, "Specification of MIME
|
Chris@1
|
596 types and respective codecs parameter", July 2008,
|
Chris@1
|
597 <http://wiki.xiph.org/index.php/MIMETypesCodecs>.
|
Chris@1
|
598
|
Chris@1
|
599 [Dirac] Dirac Group, "Dirac Specification",
|
Chris@1
|
600 <http://diracvideo.org/specifications/>.
|
Chris@1
|
601
|
Chris@1
|
602 [FLAC] Coalson, J., "The FLAC Format",
|
Chris@1
|
603 <http://flac.sourceforge.net/format.html>.
|
Chris@1
|
604
|
Chris@1
|
605 [libogg] Xiph.Org Foundation, "The libogg API", June 2000,
|
Chris@1
|
606 <http://xiph.org/ogg/doc/libogg>.
|
Chris@1
|
607
|
Chris@1
|
608 [Ogg] Xiph.Org Foundation, "Ogg bitstream documentation: Ogg
|
Chris@1
|
609 logical and physical bitstream overview, Ogg logical
|
Chris@1
|
610 bitstream framing, Ogg multi-stream multiplexing",
|
Chris@1
|
611 <http://xiph.org/ogg/doc>.
|
Chris@1
|
612
|
Chris@1
|
613 [RFC3534] Walleij, L., "The application/ogg Media Type", RFC 3534,
|
Chris@1
|
614 May 2003.
|
Chris@1
|
615
|
Chris@1
|
616
|
Chris@1
|
617
|
Chris@1
|
618 Goncalves, et al. Standards Track [Page 11]
|
Chris@1
|
619
|
Chris@1
|
620 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
621
|
Chris@1
|
622
|
Chris@1
|
623 [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
|
Chris@1
|
624 Text on Security Considerations", BCP 72, RFC 3552,
|
Chris@1
|
625 July 2003.
|
Chris@1
|
626
|
Chris@1
|
627 [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
|
Chris@1
|
628 Encodings", RFC 4648, October 2006.
|
Chris@1
|
629
|
Chris@1
|
630 [RFC5215] Barbato, L., "RTP Payload Format for Vorbis Encoded
|
Chris@1
|
631 Audio", RFC 5215, August 2008.
|
Chris@1
|
632
|
Chris@1
|
633 [Skeleton] Pfeiffer, S. and C. Parker, "The Ogg Skeleton Metadata
|
Chris@1
|
634 Bitstream", November 2007,
|
Chris@1
|
635 <http://xiph.org/ogg/doc/skeleton.html>.
|
Chris@1
|
636
|
Chris@1
|
637 [Speex] Valin, J., "The Speex Codec Manual", February 2002,
|
Chris@1
|
638 <http://speex.org/docs/manual/speex-manual>.
|
Chris@1
|
639
|
Chris@1
|
640 [SpRTP] Herlein, G., Valin, J., Heggestad, A., and A. Moizard,
|
Chris@1
|
641 "RTP Payload Format for the Speex Codec", Work
|
Chris@1
|
642 in Progress, February 2008.
|
Chris@1
|
643
|
Chris@1
|
644 [Theora] Xiph.Org Foundation, "Theora Specification",
|
Chris@1
|
645 October 2007, <http://theora.org/doc/Theora.pdf>.
|
Chris@1
|
646
|
Chris@1
|
647 [ThRTP] Barbato, L., "RTP Payload Format for Theora Encoded
|
Chris@1
|
648 Video", Work in Progress, June 2006.
|
Chris@1
|
649
|
Chris@1
|
650 [Vorbis] Xiph.Org Foundation, "Vorbis I Specification", July 2004,
|
Chris@1
|
651 <http://xiph.org/vorbis/doc/Vorbis_I_spec.html>.
|
Chris@1
|
652
|
Chris@1
|
653
|
Chris@1
|
654
|
Chris@1
|
655
|
Chris@1
|
656
|
Chris@1
|
657
|
Chris@1
|
658
|
Chris@1
|
659
|
Chris@1
|
660
|
Chris@1
|
661
|
Chris@1
|
662
|
Chris@1
|
663
|
Chris@1
|
664
|
Chris@1
|
665
|
Chris@1
|
666
|
Chris@1
|
667
|
Chris@1
|
668
|
Chris@1
|
669
|
Chris@1
|
670
|
Chris@1
|
671
|
Chris@1
|
672
|
Chris@1
|
673
|
Chris@1
|
674 Goncalves, et al. Standards Track [Page 12]
|
Chris@1
|
675
|
Chris@1
|
676 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
677
|
Chris@1
|
678
|
Chris@1
|
679 Authors' Addresses
|
Chris@1
|
680
|
Chris@1
|
681 Ivo Emanuel Goncalves
|
Chris@1
|
682 Xiph.Org Foundation
|
Chris@1
|
683 21 College Hill Road
|
Chris@1
|
684 Somerville, MA 02144
|
Chris@1
|
685 US
|
Chris@1
|
686
|
Chris@1
|
687 EMail: justivo@gmail.com
|
Chris@1
|
688 URI: xmpp:justivo@gmail.com
|
Chris@1
|
689
|
Chris@1
|
690
|
Chris@1
|
691 Silvia Pfeiffer
|
Chris@1
|
692 Xiph.Org Foundation
|
Chris@1
|
693
|
Chris@1
|
694 EMail: silvia@annodex.net
|
Chris@1
|
695 URI: http://annodex.net/
|
Chris@1
|
696
|
Chris@1
|
697
|
Chris@1
|
698 Christopher Montgomery
|
Chris@1
|
699 Xiph.Org Foundation
|
Chris@1
|
700
|
Chris@1
|
701 EMail: monty@xiph.org
|
Chris@1
|
702 URI: http://xiph.org
|
Chris@1
|
703
|
Chris@1
|
704
|
Chris@1
|
705
|
Chris@1
|
706
|
Chris@1
|
707
|
Chris@1
|
708
|
Chris@1
|
709
|
Chris@1
|
710
|
Chris@1
|
711
|
Chris@1
|
712
|
Chris@1
|
713
|
Chris@1
|
714
|
Chris@1
|
715
|
Chris@1
|
716
|
Chris@1
|
717
|
Chris@1
|
718
|
Chris@1
|
719
|
Chris@1
|
720
|
Chris@1
|
721
|
Chris@1
|
722
|
Chris@1
|
723
|
Chris@1
|
724
|
Chris@1
|
725
|
Chris@1
|
726
|
Chris@1
|
727
|
Chris@1
|
728
|
Chris@1
|
729
|
Chris@1
|
730 Goncalves, et al. Standards Track [Page 13]
|
Chris@1
|
731
|
Chris@1
|
732 RFC 5334 Ogg Media Types September 2008
|
Chris@1
|
733
|
Chris@1
|
734
|
Chris@1
|
735 Full Copyright Statement
|
Chris@1
|
736
|
Chris@1
|
737 Copyright (C) The IETF Trust (2008).
|
Chris@1
|
738
|
Chris@1
|
739 This document is subject to the rights, licenses and restrictions
|
Chris@1
|
740 contained in BCP 78, and except as set forth therein, the authors
|
Chris@1
|
741 retain all their rights.
|
Chris@1
|
742
|
Chris@1
|
743 This document and the information contained herein are provided on an
|
Chris@1
|
744 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
Chris@1
|
745 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
|
Chris@1
|
746 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
|
Chris@1
|
747 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
|
Chris@1
|
748 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
Chris@1
|
749 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
Chris@1
|
750
|
Chris@1
|
751 Intellectual Property
|
Chris@1
|
752
|
Chris@1
|
753 The IETF takes no position regarding the validity or scope of any
|
Chris@1
|
754 Intellectual Property Rights or other rights that might be claimed to
|
Chris@1
|
755 pertain to the implementation or use of the technology described in
|
Chris@1
|
756 this document or the extent to which any license under such rights
|
Chris@1
|
757 might or might not be available; nor does it represent that it has
|
Chris@1
|
758 made any independent effort to identify any such rights. Information
|
Chris@1
|
759 on the procedures with respect to rights in RFC documents can be
|
Chris@1
|
760 found in BCP 78 and BCP 79.
|
Chris@1
|
761
|
Chris@1
|
762 Copies of IPR disclosures made to the IETF Secretariat and any
|
Chris@1
|
763 assurances of licenses to be made available, or the result of an
|
Chris@1
|
764 attempt made to obtain a general license or permission for the use of
|
Chris@1
|
765 such proprietary rights by implementers or users of this
|
Chris@1
|
766 specification can be obtained from the IETF on-line IPR repository at
|
Chris@1
|
767 http://www.ietf.org/ipr.
|
Chris@1
|
768
|
Chris@1
|
769 The IETF invites any interested party to bring to its attention any
|
Chris@1
|
770 copyrights, patents or patent applications, or other proprietary
|
Chris@1
|
771 rights that may cover technology that may be required to implement
|
Chris@1
|
772 this standard. Please address the information to the IETF at
|
Chris@1
|
773 ietf-ipr@ietf.org.
|
Chris@1
|
774
|
Chris@1
|
775
|
Chris@1
|
776
|
Chris@1
|
777
|
Chris@1
|
778
|
Chris@1
|
779
|
Chris@1
|
780
|
Chris@1
|
781
|
Chris@1
|
782
|
Chris@1
|
783
|
Chris@1
|
784
|
Chris@1
|
785
|
Chris@1
|
786 Goncalves, et al. Standards Track [Page 14]
|
Chris@1
|
787
|