Network Working Group S. Pfeiffer
Request for Comments: 3533 CSIRO
Category: Informational May 2003
The Ogg Encapsulation Format Version 0
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This document describes the Ogg bitstream format version 0, which is
a general, freely-available encapsulation format for media streams.
It is able to encapsulate any kind and number of video and audio
encoding formats as well as other data streams in a single bitstream.
Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119 [2].
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Requirements for a generic encapsulation format . . . . . . . 3
4. The Ogg bitstream format . . . . . . . . . . . . . . . . . . . 3
5. The encapsulation process . . . . . . . . . . . . . . . . . . 6
6. The Ogg page format . . . . . . . . . . . . . . . . . . . . . 9
7. Security Considerations . . . . . . . . . . . . . . . . . . . 11
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
A. Glossary of terms and abbreviations . . . . . . . . . . . . . 13
B. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 14
Full Copyright Statement . . . . . . . . . . . . . . . . . . . 15
Pfeiffer Informational [Page 1]
RFC 3533 OGG May 2003
1. Introduction
The Ogg bitstream format has been developed as a part of a larger
project aimed at creating a set of components for the coding and
decoding of multimedia content (codecs) which are to be freely
available and freely re-implementable, both in software and in
hardware for the computing community at large, including the Internet
community. It is the intention of the Ogg developers represented by
Xiph.Org that it be usable without intellectual property concerns.
This document describes the Ogg bitstream format and how to use it to
encapsulate one or several media bitstreams created by one or several
encoders. The Ogg transport bitstream is designed to provide
framing, error protection and seeking structure for higher-level
codec streams that consist of raw, unencapsulated data packets, such
as the Vorbis audio codec or the upcoming Tarkin and Theora video
codecs. It is capable of interleaving different binary media and
other time-continuous data streams that are prepared by an encoder as
a sequence of data packets. Ogg provides enough information to
properly separate data back into such encoder created data packets at
the original packet boundaries without relying on decoding to find
packet boundaries.
Please note that the MIME type application/ogg has been registered
with the IANA [1].
2. Definitions
For describing the Ogg encapsulation process, a set of terms will be
used whose meaning needs to be well understood. Therefore, some of
the most fundamental terms are defined now before we start with the
description of the requirements for a generic media stream
encapsulation format, the process of encapsulation, and the concrete
format of the Ogg bitstream. See the Appendix for a more complete
glossary.
The result of an Ogg encapsulation is called the "Physical (Ogg)
Bitstream". It encapsulates one or several encoder-created
bitstreams, which are called "Logical Bitstreams". A logical
bitstream, provided to the Ogg encapsulation process, has a
structure, i.e., it is split up into a sequence of so-called
"Packets". The packets are created by the encoder of that logical
bitstream and represent meaningful entities for that encoder only
(e.g., an uncompressed stream may use video frames as packets). They
do not contain boundary information - strung together they appear to
be streams of random bytes with no landmarks.
Pfeiffer Informational [Page 2]
RFC 3533 OGG May 2003
Please note that the term "packet" is not used in this document to
signify entities for transport over a network.
3. Requirements for a generic encapsulation format
The design idea behind Ogg was to provide a generic, linear media
transport format to enable both file-based storage and stream-based
transmission of one or several interleaved media streams independent
of the encoding format of the media data. Such an encapsulation
format needs to provide:
o framing for logical bitstreams.
o interleaving of different logical bitstreams.
o detection of corruption.
o recapture after a parsing error.
o position landmarks for direct random access of arbitrary positions
in the bitstream.
o streaming capability (i.e., no seeking is needed to build a 100%
complete bitstream).
o small overhead (i.e., use no more than approximately 1-2% of
bitstream bandwidth for packet boundary marking, high-level
framing, sync and seeking).
o simplicity to enable fast parsing.
o simple concatenation mechanism of several physical bitstreams.
All of these design considerations have been taken into consideration
for Ogg. Ogg supports framing and interleaving of logical
bitstreams, seeking landmarks, detection of corruption, and stream
resynchronisation after a parsing error with no more than
approximately 1-2% overhead. It is a generic framework to perform
encapsulation of time-continuous bitstreams. It does not know any
specifics about the codec data that it encapsulates and is thus
independent of any media codec.
4. The Ogg bitstream format
A physical Ogg bitstream consists of multiple logical bitstreams
interleaved in so-called "Pages". Whole pages are taken in order
from multiple logical bitstreams multiplexed at the page level. The
logical bitstreams are identified by a unique serial number in the
Pfeiffer Informational [Page 3]
RFC 3533 OGG May 2003
header of each page of the physical bitstream. This unique serial
number is created randomly and does not have any connection to the
content or encoder of the logical bitstream it represents. Pages of
all logical bitstreams are concurrently interleaved, but they need
not be in a regular order - they are only required to be consecutive
within the logical bitstream. Ogg demultiplexing reconstructs the
original logical bitstreams from the physical bitstream by taking the
pages in order from the physical bitstream and redirecting them into
the appropriate logical decoding entity.
Each Ogg page contains only one type of data as it belongs to one
logical bitstream only. Pages are of variable size and have a page
header containing encapsulation and error recovery information. Each
logical bitstream in a physical Ogg bitstream starts with a special
start page (bos=beginning of stream) and ends with a special page
(eos=end of stream).
The bos page contains information to uniquely identify the codec type
and MAY contain information to set up the decoding process
没有合适的资源?快使用搜索试试~ 我知道了~
libogg-1.1.3.tar.gz
4星 · 超过85%的资源 需积分: 10 215 下载量 101 浏览量
2014-11-10
09:38:42
上传
评论
收藏 394KB GZ 举报
温馨提示
共138个文件
html:66个
in:13个
am:7个
linux 下安装ffmpeg 所需解码器包 同时可查阅本人博客 “Linux 下完整安装ffmpeg(包括各种解码器)”,提供linux下ffmpeg的安装步骤以及安装过程中出现的问题处理记录。
资源推荐
资源详情
资源评论
收起资源包目录
libogg-1.1.3.tar.gz (138个子文件)
Makefile.am 1KB
Makefile.am 952B
Makefile.am 656B
Makefile.am 301B
Makefile.am 215B
Makefile.am 175B
Makefile.am 73B
AUTHORS 66B
build_ogg_dynamic.bat 463B
build_ogg_dynamic_debug.bat 461B
build_ogg_static.bat 460B
build_ogg_static_debug.bat 458B
framing.c 50KB
bitwise.c 20KB
strdup.c 305B
changelog 2KB
CHANGES 992B
compile 4KB
configure 713KB
control 713B
COPYING 1KB
copyright 2KB
style.css 279B
.cvsignore 21B
libogg0.README.Debian 160B
ogg.def 1KB
depcomp 15KB
libogg-dev.docs 36B
ogg_dynamic.dsp 5KB
ogg_static.dsp 3KB
ogg.dsw 740B
libogg.mcp.exp 969B
config.guess 43KB
ogg.h 7KB
os_types.h 4KB
types.h 422B
ogg-multiplex.html 18KB
framing.html 14KB
oggstream.html 8KB
ogg_stream_state.html 4KB
decoding.html 4KB
reference.html 4KB
general.html 3KB
bitpacking.html 3KB
ogg_stream_packetout.html 3KB
ogg_sync_pageout.html 2KB
encoding.html 2KB
vorbis_info.html 2KB
ogg_packet.html 2KB
ogg_stream_packetpeek.html 2KB
ogg_stream_flush.html 2KB
ogg_stream_pagein.html 2KB
vorbis_comment.html 2KB
ogg_page.html 2KB
ogg_sync_buffer.html 2KB
ogg_stream_pageout.html 2KB
ogg_sync_wrote.html 2KB
ogg_sync_pageseek.html 2KB
ogg_page_packets.html 2KB
index.html 2KB
ogg_sync_clear.html 2KB
datastructures.html 2KB
ogg_stream_init.html 2KB
oggpack_writecopy.html 2KB
oggpack_readinit.html 2KB
oggpack_write.html 2KB
oggpack_look.html 2KB
ogg_sync_init.html 2KB
ogg_stream_packetin.html 2KB
ogg_stream_reset_serialno.html 2KB
oggpack_read.html 2KB
ogg_page_granulepos.html 2KB
oggpack_bytes.html 2KB
oggpack_writetrunc.html 2KB
oggpack_read1.html 2KB
ogg_page_version.html 2KB
oggpack_writealign.html 2KB
oggpack_buffer.html 2KB
oggpack_writeinit.html 2KB
ogg_sync_reset.html 2KB
ogg_stream_destroy.html 1KB
ogg_sync_state.html 1KB
oggpack_look1.html 1KB
oggpack_bits.html 1KB
oggpack_get_buffer.html 1KB
ogg_sync_destroy.html 1KB
ogg_page_continued.html 1KB
ogg_page_serialno.html 1KB
oggpack_writeclear.html 1KB
ogg_page_bos.html 1KB
oggpack_adv.html 1KB
ogg_page_eos.html 1KB
oggpack_reset.html 1KB
ogg_stream_eos.html 1KB
ogg_stream_clear.html 1KB
ogg_packet_clear.html 1KB
ogg_stream_reset.html 1KB
ogg_page_pageno.html 1KB
oggpack_adv1.html 1KB
ogg_page_checksum_set.html 1KB
共 138 条
- 1
- 2
资源评论
- 梦想小叶2020-04-13可以使用不错
tomas家的小拨浪鼓
- 粉丝: 8
- 资源: 38
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功