AVT A. Begen
Internet-Draft E. Friedrich
Intended status: Standards Track Cisco
Expires: June 13, 2010 December 10, 2009
RTP Payload Format for MPEG2-TS Preamble
draft-begen-avt-rtp-mpeg2ts-preamble-04
Abstract
Demultiplexing and decoding an MPEG2 Transport Stream (MPEG2-TS)
requires the knowledge of specific information about the transport
stream, which we refer to as the MPEG2-TS Preamble. While this
information is spread over different locations throughout the
transport stream and can be eventually assembled after some time a
receiver started receiving the MPEG2-TS, the time it takes to
retrieve all this information (especially in multicast environments)
may be long. Instead, having this information readily available as a
Preamble and sending the Preamble to a receiver that will shortly
start receiving the transport stream will virtually eliminate the
waiting time and let the receiver start processing/decoding the
MPEG2-TS sooner. In this document, we give an overview of the
MPEG2-TS and the delay components in video systems, and motivate the
need for constructing and using the MPEG2-TS Preamble for rapidly
acquiring the source stream in RTP multicast sessions. We also
define and register the RTP payload format for the MPEG2-TS Preamble.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Begen & Friedrich Expires June 13, 2010 [Page 1]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
This Internet-Draft will expire on June 13, 2010.
Copyright Notice
Copyright (c) 2009 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 BSD License.
Begen & Friedrich Expires June 13, 2010 [Page 2]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 7
3. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4. Elements of Delay in Video Systems . . . . . . . . . . . . . . 9
4.1. Overview of MPEG-2 Transport Streams . . . . . . . . . . . 9
4.2. Reference Information Latency in Video Applications . . . 10
4.2.1. PSI (PAT/CAT/PMT) Acquisition Delay . . . . . . . . . 10
4.2.2. Random Access Point Acquisition Delay . . . . . . . . 11
4.3. Buffering Delays in Video Applications . . . . . . . . . . 12
4.3.1. Network-Related Buffering Delays . . . . . . . . . . . 12
4.3.2. Application-Related Buffering Delays . . . . . . . . . 13
5. Packet Format . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1. Extensions . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.1. Vendor-Neutral Extensions . . . . . . . . . . . . . . 16
5.1.2. Private Extensions . . . . . . . . . . . . . . . . . . 16
5.2. Vendor-Neutral Extensions . . . . . . . . . . . . . . . . 16
5.2.1. PAT TOLV . . . . . . . . . . . . . . . . . . . . . . . 16
5.2.2. PMT TOLV . . . . . . . . . . . . . . . . . . . . . . . 17
5.2.3. PCR TOLV . . . . . . . . . . . . . . . . . . . . . . . 18
5.2.4. PID_LIST TOLV . . . . . . . . . . . . . . . . . . . . 18
5.2.5. SEQ TOLV . . . . . . . . . . . . . . . . . . . . . . . 19
5.2.6. SPS TOLV . . . . . . . . . . . . . . . . . . . . . . . 20
5.2.7. PPS TOLV . . . . . . . . . . . . . . . . . . . . . . . 21
5.2.8. SEI TOLV . . . . . . . . . . . . . . . . . . . . . . . 21
5.2.9. ECM TOLV . . . . . . . . . . . . . . . . . . . . . . . 22
5.2.10. EMM TOLV . . . . . . . . . . . . . . . . . . . . . . . 23
5.2.11. CAT TOLV . . . . . . . . . . . . . . . . . . . . . . . 23
5.2.12. PTS TOLV . . . . . . . . . . . . . . . . . . . . . . . 24
6. Payload Format Parameters . . . . . . . . . . . . . . . . . . 26
6.1. Media Type Registration . . . . . . . . . . . . . . . . . 26
6.1.1. Registration of audio/mpeg2-ts-preamble . . . . . . . 26
6.1.2. Registration of video/mpeg2-ts-preamble . . . . . . . 27
6.1.3. Registration of text/mpeg2-ts-preamble . . . . . . . . 27
6.1.4. Registration of application/mpeg2-ts-preamble . . . . 28
6.2. Mapping to SDP Parameters . . . . . . . . . . . . . . . . 29
6.2.1. Offer-Answer Model and Declarative Considerations . . 30
7. Post-Processing of the MPEG2-TS Preamble . . . . . . . . . . . 31
8. Session Description Protocol (SDP) Signaling . . . . . . . . . 33
9. Security Considerations . . . . . . . . . . . . . . . . . . . 34
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35
10.1. Payload Format . . . . . . . . . . . . . . . . . . . . . . 35
10.2. MPEG2-TS Preamble TOLV Space Registry . . . . . . . . . . 35
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 36
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37
12.1. Normative References . . . . . . . . . . . . . . . . . . . 37
12.2. Informative References . . . . . . . . . . . . . . . . . . 37
Begen & Friedrich Expires June 13, 2010 [Page 3]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 39
Begen & Friedrich Expires June 13, 2010 [Page 4]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
1. Introduction
MPEG2 Transport Stream (MPEG2-TS) [MPEG2TS] is an encapsulation
method and transport that multiplexes digital video and audio
content, together with ancillary metadata, and produces a
synchronized multiplexed stream that is tailored for transport over
packet or cell-oriented networks. MPEG2-TS is ubiquitous in
broadcast applications over both terrestrial and satellite networks.
Both Advanced Television Systems Committee (ATSC) in North America
and Digital Video Broadcasting (DVB) in Europe use MPEG2-TS in their
standards. MPEG2-TS has been standardized by both ISO and ITU
[MPEG2TS]. While MPEG2-TS was originally limited to carry MPEG-2
encoded content, the specification was later extended to cover MPEG-
4/AVC audio/video encoding standards as well.
Due to the inherent design of MPEG2-TS, a receiver must first acquire
certain information before demultiplexing and decoding an incoming
MPEG2-TS. As will be explained in Section 4.1, this information
resides in the transport stream. However, it is often not contiguous
and is usually dispersed over a large period. Thus, a receiver
starting to receive an MPEG2-TS at a random location will have to
wait until the whole required information shows up in the received
data. In multicast applications, since the joining receivers do not
have any control over what point in the flow is currently being
transmitted, their waiting times will vary. This problem has been
identified and examined in detail in
[I-D.ietf-avt-rapid-acquisition-for-rtp], where the time lag before a
receiver can usefully consume the multicast data is referred to as
the Acquisition Delay. Section 4 provides an overview of the delay
components in video systems that contribute to the acquisition delay.
[I-D.ietf-avt-rapid-acquisition-for-rtp] refers to the information
that must first be acquired before starting to process any data sent
in the multicast session as the Reference Information. In this
document, we refer to the subset of the Reference Information that is
related to the MPEG2-TS as the MPEG2-TS Preamble.
For multicast applications running over RTP,
[I-D.ietf-avt-rapid-acquisition-for-rtp] proposes an approach where
an auxiliary unicast RTP session is established between a
retransmission server and the joining RTP receiver. Over this
unicast RTP session, the retransmission server provides the Reference
Information the RTP receiver needs to rapidly acquire the multicast
session. If the source stream in the RTP multicast session is
carrying an MPEG2-TS, the Reference Information will comprise the
MPEG2-TS Preamble as well. For its proper transmission from the
retransmission server to the joining RTP receiver, a new RTP payload
format has to be defined for the MPEG2-TS Preamble. This document
Begen & Friedrich Expires June 13, 2010 [Page 5]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
defines and registers this payload format.
Since the RTP packet(s) carrying the MPEG2-TS Preamble will not be
able to fed to the decoder in the form they are received, a post-
processing is required at the RTP receiver. This document also
explains this process in Section 7.
Begen & Friedrich Expires June 13, 2010 [Page 6]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
2. Requirements Notation
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 [RFC2119].
Begen & Friedrich Expires June 13, 2010 [Page 7]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
3. Acronyms
This document uses the following acronyms frequently:
CAT: Conditional access table.
DTS: Decoding timestamp.
ECM: Entitlement control message.
EMM: Entitlement management message.
ES: Elementary stream.
GoP: Group of pictures.
IDR: Instantaneous decoding refresh.
MPEG2-TS: MPEG2 transport stream.
MPTS: Multi program transport stream.
PAT: Program association table.
PCR: Program clock reference.
PMT: Program map table.
PSI: Program specific information.
PTS: Presentation timestamp.
RAP: Random access point.
SPTS: Single program transport stream.
Begen & Friedrich Expires June 13, 2010 [Page 8]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
4. Elements of Delay in Video Systems
For typical multicast-based video delivery systems, the multicast
switching delay (time required to leave the previous multicast
session and join the new session) is not the primary contributor to
the overall acquisition delay. The multicast flows are typically
already present at the edge or deep in the network, the propagation
delays for join operations are modest, and the multicast routers can
typically process the Join and Leave messages quickly. Even if the
edge multicast router is not currently a member of the requested
multicast session, the multicast routing control messages propagate
through the network rapidly and trees are built without experiencing
large delays. Even in cases where a number of tree branches need to
be built to the edge multicast router, this cost is frequently
amortized over a large number of receivers such that only the first
receiver joining the group experiences the increased delay. Further,
this delay can be eliminated at the cost of extra bandwidth in the
network core by having the edge routers do static joins for the set
of sessions they expect receivers to be interested in. These
techniques usually provide a well-bounded multicast switching delay.
Once the join operation completes and a receiver starts receiving
media content for the first time in a multicast session, it often
experiences a considerable amount of Reference Information latency
and buffering delays. In the following subsections, we discuss the
details of these delay elements using MPEG2-TS as the motivating use
case.
4.1. Overview of MPEG-2 Transport Streams
MPEG2-TS is a container format that describes the schema of the audio
and video content and the in-band control information. Prior to
multiplexing, an audio and a video encoder output audio and video
Elementary Streams (ES), respectively. The ES streams are then
packetized to form the Packetized Elementary Streams (PES). The
resulting elements are called PES packets. A transport stream (TS)
encapsulates several PES streams and other data, and carries them in
TS packets. The RTP payload format for carrying TS packets in an RTP
stream is specified in [RFC2250]. In addition to the audio and video
ES streams, there are ES streams that carry control data.
Program Specific Information (PSI) consists of metadata carried in
the transport stream (See Table 2-28 in [MPEG2TS] for details). PSI
includes Program Association Table (PAT), Conditional Access Table
(CAT) and Program Map Table (PMT). A PAT has information about all
the programs carried in the transport stream. It lists the 13-bit
Program IDs (PID) for all the PMTs, associating them with the
individual programs. Each of the ES streams of a particular program
Begen & Friedrich Expires June 13, 2010 [Page 9]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
in the transport stream also has the same PID values. This way, a
decoder at the receiving side can extract the desired TS packets from
the transport stream by checking their PID values. If the transport
stream is not a Multi-Program Transport Stream (MPTS), but rather it
is a Single-Program Transport Stream (SPTS), all the ES streams in
the transport stream correspond to a single program.
CAT defines the type of the scrambling used (either at the PES or TS
level), and identifies all the PID values of the TS packets that
contain the Entitlement Management Messages (EMM). In addition to
containing the PID values of each ES stream associated with a
particular program, the PMT table also includes private data
associated with the program such as the PID value of the packet
containing the Entitlement Control Messages (ECM). The data
contained in the EMM and ECM messages are vital in descrambling
encrypted content. Note that PSI is carried in clear and is never
scrambled so that a receiver which just started receiving the
transport stream can process the PSI. The PAT, CAT and PMT tables
must be parsed by the decoder in order to find the ES streams,
private data as well as the encryption information for a given
program.
MPEG2-TS produces output that is synchronized to a common clock
across all the ESs in the multiplex. To assist the audio and video
decoders, programs periodically provide a Program Clock Reference
(PCR) value in the transport stream. PCR values are embedded in the
TS adaptation field headers and are inserted by the encoder at least
every 100 ms. A PCR timestamp represents the value of the encoder's
system clock when it was sampled. The system clock is driven by a
local 27 MHz oscillator.
PCR is extremely important in native MPEG-2 transport to keep the
decoders synchronized. For example, the periodically sent Decoding
Timestamps (DTS) and Presentation Timestamps (PTS) are specified
relative to the PCR value and the decoders use the PCR value as the
basis for a master clock during decoding and playout.
4.2. Reference Information Latency in Video Applications
We classify the Reference Information latency into two categories.
4.2.1. PSI (PAT/CAT/PMT) Acquisition Delay
As we discussed in Section 4.1, the video (and the audio as well) in
an MPEG2-TS is self describing, and the receiver must parse certain
control information in the PAT, CAT and PMT tables (i.e., PSI)
contained in the transport stream in order to know how to parse the
rest of the stream (i.e., to find the audio and video elementary
Begen & Friedrich Expires June 13, 2010 [Page 10]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
streams, private data and the encryption information for a given
program).
Many video services employ content encryption and the encryption keys
must be parsed as well for decrypting the content. In order to
enable various system elements to process video effectively, certain
portions of the stream are left unencrypted. The PAT/PMT tables are
always in the clear. The structure of the ECMs is also in the clear,
although the ECM content which contains keying material is encrypted.
The PSI information is repeated periodically in the transport stream,
thus, when a receiver joins the multicast session, it needs to wait
until the next time PSI is sent in the transport stream.
4.2.2. Random Access Point Acquisition Delay
Conventional MPEG2 video encoders encode the video content in Groups
of Pictures (GoP). Each GoP is encoded independently from other GoPs
and starts with an intra-coded frame (I-frame) that does not have any
reference to other frames in the same GoP, i.e., an I-frame contains
the representation of an entire picture and can be decoded
independently. Thus, the start of an I-frame is said to be a Random
Access Point (RAP).
On the other hand, due to the temporal compression, rest of the
frames in the same GoP may have references to the I-frame or to other
frames in the same GoP. Due to this interdependency among the
frames, one generally has to receive certain elements of the GoP
prior to decoding or rendering any part of the GoP. For example, the
decoder can decode a frame that is dependent on two other frames only
after these two frames are decoded.
Usually, GoP durations are between 500 ms and one second. However,
more advanced codecs may use longer GoPs to gain from the encoding
efficiency. When a receiver joins the multicast session, it needs to
wait until the next RAP shows up in the multicast stream before it
can start decoding. Since the frame that is currently being
multicast does not depend on the join time, the average time a
receiver waits for RAP, i.e., the average RAP acquisition delay, is
approximately equal to half of the GoP duration. Hence, for longer
GoPs, the RAP acquisition delay is proportionally longer.
Advanced Video Coding (AVC) (also called MPEG4 part 10) compression
is very similar to MPEG2 compression. It has a few more compression
tools available, including Hierarchical GoPs. In a hierarchical GoP,
the dependent frames of a GoP may reference the I-frame at the start
of this GoP and the I-frame at the start of the next GoP. This
additional dependency causes a longer RAP acquisition delay, as the
decoder must receive two I-frames (spread between two logical GoPs)
Begen & Friedrich Expires June 13, 2010 [Page 11]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
before decoding can commence. In an Open GoP, a frame in one GoP may
refer to a frame in a previous GoP. AVC also has the ability to
insert Instantaneous Decoding Refresh (IDR) frames. Frames that
follow an IDR frame cannot reference frames that precede an IDR
frame. IDR frames are useful for editing AVC streams, but are
typically do not appear often enough in streaming video to be useful
in a stream acquisition context.
Note that in order for an intermediary network element such as a
retransmission server to find the random access points in the video
stream (e.g., I-frames), the necessary structural information must be
in the clear if the intermediary is not in possession of the
necessary keys.
4.3. Buffering Delays in Video Applications
We classify the buffering delays into two categories.
4.3.1. Network-Related Buffering Delays
In general, multicast-based video applications use an unreliable
underlying transport protocol such as UDP [RFC0768] to distribute the
content to a large number of receivers. This is largely due to the
fact that these applications are one way in nature and providing
closed-loop reliability does not scale well when the number of
receivers is large or the acceptable playout delay is small, or both.
Rather, if there is a need for reliability, the applications may
employ one or more loss-repair methods to recover the packets missing
at each receiver (The Reliable Multicast Transport Working Group has
several standardized solutions for this problem. Refer to [RFC5740]
for details). For example, Forward Error Correction (FEC) may be
used proactively and/or on-demand to provide reliable transmission to
a potentially very large multicast group in a scalable manner
[I-D.ietf-fecframe-framework]. Similarly, retransmissions may be
used in RTP-based multicast sessions where the retransmissions can be
handled by local repair servers rather than the source itself
[I-D.ietf-avt-rtcpssm]. However, regardless of the type of the loss-
repair method(s) adopted by an application, loss-recovery operations
always require additional buffering at the receiver side. The amount
of buffering increases with the FEC block size when FEC is used, and
with the round-trip time between the receiver and the local repair
server when retransmission is used.
Audio and video decoders demand almost jitter-free content. If any
jitter is introduced during the transmission in the network or due to
the loss-repair methods, the jitter has to be smoothed out before the
content is fed to the decoder. This is called de-jittering and it
usually adds up to the buffering delay.
Begen & Friedrich Expires June 13, 2010 [Page 12]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
4.3.2. Application-Related Buffering Delays
The application buffering requirements for MPEG-encoded content are
quite rigorous, particularly for the MPEG-based video applications.
Video compression devices apply more bits to represent certain scenes
than they do for other scenes. A very complex scene (individual
picture) requires considerably more information than a simple scene.
Furthermore, pictures that are entirely intra-coded, e.g., I-frames,
consume more bits compared to pictures that make use of predictive
coding. Each scene is shown by the decoder at a certain fixed frame
rate (e.g., 24 fps or 30 fps). Since some scenes are comprised more
bits than other scenes, the output rate of the decoder buffer is
usually variable. However, the network flow is typically Constant
Bit Rate (CBR) or Capped Variable Bit Rate (Capped VBR). The net
effect is that the input rate to the decoder buffer is close to
constant, but the output rate is highly variable.
The video encoders keep track of the decoder buffer size, and use
this information to regulate the temporal compression. This forces
the decoder buffer to "breathe." In order to avoid underflow, the
decoder buffer must fill up to a certain level prior to starting to
decode and play the content. The decoder buffer size required to
avoid underflow is dependent on the encoder, and the encoder signals
the decoder buffering requirements in-band. Typical decoder buffer
requirements for MPEG2 content range from a few hundreds of
milliseconds to a few seconds. However, AVC/MPEG4 part 10 encoders
usually tend to use more temporal compression, and thus require a
larger buffer at the decoder side. This consequently increases the
buffering delays.
Begen & Friedrich Expires June 13, 2010 [Page 13]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
5. Packet Format
This section defines the MPEG2-TS Preamble packet format.
The RTP header is formatted according to [RFC3550] with some further
clarifications listed below:
o Marker (M) Bit: This bit SHALL be used to indicate the last
packet carrying the MPEG2-TS Preamble information. It SHALL be
set to zero in all RTP packets other than the last packet.
o Payload Type: The (dynamic) payload type for the MPEG2-TS
Preamble packets is determined through out-of-band means. Note
that this document registers a new payload format for the MPEG2-TS
Preamble packets (Refer to Section 6 for details). According to
[RFC3550], an RTP receiver that cannot recognize a payload type
must discard it. This provides backward compatibility.
o Sequence Number (SN): The sequence number has the standard
definition. It MUST be one higher than the sequence number in the
previously transmitted RTP packet. If this RTP packet is the
first packet in the session, its sequence number SHOULD be random
(unpredictable) [RFC3550].
o Timestamp (TS): The timestamp SHALL be set to a time
corresponding to the packet's transmission time.
o Synchronization Source (SSRC): Per [RFC3550], the SSRC value
SHOULD be chosen randomly with collision detection.
However, in RAMS applications
[I-D.ietf-avt-rapid-acquisition-for-rtp] where the MPEG2-TS Preamble
packets are payload-type multiplexed with the retransmission packets
in the same RTP session, the following rules apply:
o The SSRC of the Preamble packets MUST be set to the SSRC of the
retransmission packets.
o The Preamble and retransmission packets share the same sequence
number and timestamp space.
Editor's note: Do we have additional requirements for RAMS?
The payload consists of TOLV elements that are defined in
Section 5.2. Before defining them, we first introduce the TOLV
structure.
Begen & Friedrich Expires June 13, 2010 [Page 14]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
5.1. Extensions
The MPEG2-TS Preamble MUST be encoded as TOLV elements as described
below and sketched in Figure 1:
o Type: A single-octet identifier that defines the type of the
parameter represented in this TOLV element.
o Order: A single-octet identifier that specifies the order in
which this TOLV element MUST be processed by the receiver when
forming a demux/decoder-friendly stream. As explained in
Section 7, the order information is crucial for majority of the
TOLV elements defined in this document. Yet, for some other TOLV
elements, the order may not matter. In that case, the Order value
MAY be set to 0.
Starting from 1, a lower Order value indicates an earlier order in
post-processing and the Order values MUST be consecutive. Note
that none of the TOLV elements that belong to the same Preamble
data MUST have the same Order value except 0.
o Length: A two-octet field that indicates the length of the TOLV
element excluding the Type, Order and Length fields in octets.
Note that this length does not include any padding that is
required for alignment.
o Value: Variable-size set of octets that contains the specific
value for the parameter. Note that the value field of an TOLV
element may contain other TOLVs.
If a TOLV element does not fall on a 32-bit boundary, the last word
must be padded to the boundary using further bits set to 0. The
support for extensions is OPTIONAL.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Structure of a TOLV element
Begen & Friedrich Expires June 13, 2010 [Page 15]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
5.1.1. Vendor-Neutral Extensions
If the goal in defining new TOLV elements is to extend the
functionality in a vendor-neutral manner, they MUST be registered
with IANA through the guidelines provided in Section 10.2.
The current document defines several vendor-neutral extensions in
Section 5.2.
5.1.2. Private Extensions
It is desirable to allow vendors to use private extensions in TOLV
format. For interoperability, such extensions MUST NOT collide with
each other.
A certain range of TOLV Types is reserved for private extensions
(Refer to Section 10.2). IANA management for these extensions is
unnecessary and they are the responsibility of individual vendors.
The structure that MUST be used for the private extensions is
depicted in Figure 2. Here, the enterprise numbers are used from
http://www.iana.org/assignments/enterprise-numbers. This will ensure
the uniqueness of the private extensions and avoid any collision.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ent. Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Structure of a private extension
5.2. Vendor-Neutral Extensions
The current document defines several vendor-neutral extensions. In
the following extensions, we use 'r' to indicate a reserved bit,
which SHALL be set to zero. The fields denoted by 'Reserved' SHALL
also be set to zero.
5.2.1. PAT TOLV
Optional TOLV element that is used to encode information associated
with a Program Association (PA) section as defined in Section 2.4.4.3
Begen & Friedrich Expires June 13, 2010 [Page 16]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
of [MPEG2TS]. It has the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PAT_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: Structure of PAT TOLV
The PID is a 13-bit field used to identify the ES in an MPTS or SPTS.
This is the PID used in the associated TS to carry the PA section
data. Its value MUST be 0. The Section Length field is a 16-bit
field that specifies the length of the Section Data in octets. The
Section Data is a PA section as defined in Section 2.4.4.3 of
[MPEG2TS]. Note that the length of the PAT TOLV is variable.
Type: 1
Length: Variable
5.2.2. PMT TOLV
Optional TOLV element that is used to encode information associated
with a Program Map (PM) section. It has the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PMT_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Structure of PMT TOLV
The PID is used in the associated TS to carry the PM section data.
The Section Length field is a 16-bit field that specifies the length
of the Section Data in octets. The Section Data is a PM section.
Note that the length of the PMT TOLV is variable.
Begen & Friedrich Expires June 13, 2010 [Page 17]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Type: 2
Length: Variable
5.2.3. PCR TOLV
Optional TOLV element that contains a PCR value used to initialize
the decoder and system clocks. The PCR value corresponds to the
first byte of the first TS packet that will be transmitted. It has
the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PCR_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Reserved | PCR_EXT |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PCR_BASE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|b| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Structure of PCR TOLV
The PID is used in the associated TS to carry the PCR data. PCR_BASE
is a 33-bit field that is part of the PCR timestamp. PCR_BASE
occupies the entire third 32-bit word along with the first bit of the
fourth word. The remainder of the fourth word (31 bits) is reserved.
PCR_EXT is a 9-bit field that is part of the PCR timestamp.
Type: 3
Length: 13
5.2.4. PID_LIST TOLV
A PID is a packet identifier that is used to identify ESs of a
program in an SPTS or MPTS. The PID_LIST contains a PID Element for
each PID referenced in the MPEG2-TS Preamble. Each PID Element
contains the PID and associated continuity counter that corresponds
to the first packet that will be sent.
PID_LIST TOLV It has the following structure:
Begen & Friedrich Expires June 13, 2010 [Page 18]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PID_L_TOLV_Type| Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID Element 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID Element n |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Structure of PID_LIST TOLV
And the PID Element has the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r|r r r r| CC | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Structure of PID Element
Here, CC is a 4-bit field that carries the Continuity Counter.
Type: 4
Length: Variable
5.2.5. SEQ TOLV
Optional TOLV element that is used to encode information from the
Video Sequence Header of an MPEG2 Video ES. The Video Sequence
Header contains information such as frame rate, aspect ratio and
picture size. It has the following structure:
Begen & Friedrich Expires June 13, 2010 [Page 19]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SEQ_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: Structure of SEQ TOLV
The PID is used in the associated TS to carry the SEQ section data.
The Section Length field is a 16-bit field that specifies the length
of the Section Data in octets. The Section Data is a SEQ section.
See Section 6.2.2 of [ISO13818-2] for a discussion of Video Sequence
Header and Sequence Extension.
Note that SEQ TOLV is only applicable to transport streams that carry
MPEG2 video.
Type: 5
Length: Variable
5.2.6. SPS TOLV
Optional TOLV element that is used to encode information from the
Sequence Parameter Set Network Abstraction Layer (NAL) unit. It has
the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SPS_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9: Structure of SPS TOLV
The PID is used in the associated TS to carry the SPS section data.
The Section Length field is a 16-bit field that specifies the length
of the Section Data in octets. The Section Data is a SPS section.
See Section 7.4.2.1 of [ISO13818-10] for a discussion of semantics of
Begen & Friedrich Expires June 13, 2010 [Page 20]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
the Sequence Parameter Set NAL.
Note that SPS TOLV is only applicable to transport streams that carry
AVC (H.264) video.
Type: 6
Length: Variable
5.2.7. PPS TOLV
Optional TOLV element that is used to encode information from the
Picture Parameter Set NAL unit. It has the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PPS_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 10: Structure of PPS TOLV
The PID is used in the associated TS to carry the PPS section data.
The Section Length field is a 16-bit field that specifies the length
of the Section Data in octets. The Section Data is a PPS section.
See Section 7.4.2.2 of [ISO13818-10] for a discussion of semantics of
the Picture Parameter Set NAL.
Note that PPS TOLV is only applicable to transport streams that carry
AVC (H.264) video.
Type: 7
Length: Variable
5.2.8. SEI TOLV
Optional TOLV element that is used to encode information from the
Supplemental Enhanced Information NAL unit. It has the following
structure:
Begen & Friedrich Expires June 13, 2010 [Page 21]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SEI_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 11: Structure of SEI TOLV
The PID is used in the associated TS to carry the SEI section data.
The Section Length field is a 16-bit field that specifies the length
of the Section Data in octets. The Section Data is a SEI section.
See Annex D of [ISO13818-10] for details.
Note that SEI TOLV is only applicable to transport streams that carry
AVC (H.264) video.
Type: 8
Length: Variable
5.2.9. ECM TOLV
Optional TOLV element that contains the ECM from the MPEG2-TS. This
applies only to transport streams that are encrypted. It has the
following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ECM_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 12: Structure of ECM TOLV
Section Data depends on type of encryption used. It contains a
Private Section as defined in Section 2.4.4.10 of [MPEG2TS]. The
MPEG2-TS PMT provides a list of PIDs in conditional access
descriptors. Private Sections from these PIDs are placed into ECM
TOLVs. There may be multiple ECM TOLV elements corresponding to
Begen & Friedrich Expires June 13, 2010 [Page 22]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
different PID or table_id values. The contents and use of such a
Private Section are vendor specific. It is treated here as opaque
data. Conditional access vendors will often use table_id = 0x80 and
table_id = 0x81 in accordance with [DVB-ETR-289].
Type: 9
Length: Variable
5.2.10. EMM TOLV
Optional TOLV element that contains the EMM from the MPEG2-TS. This
applies only to transport streams that are encrypted. It has the
following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EMM_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 13: Structure of EMM TOLV
Section Data depends on type of encryption used. It contains a
Private Section as defined in Section 2.4.4.10 of [MPEG2TS]. The
MPEG2-TS CAT provides a list of PIDs in conditional access
descriptors. Private Sections from these PIDs are placed into EMM
TOLVs. There may be multiple EMM TOLV elements corresponding to
different PID or table_id values. The contents and use of such a
Private Section are vendor specific. It is treated here as opaque
data.
Type: 10
Length: Variable
5.2.11. CAT TOLV
Optional TOLV element that is used to encode information associated
with a Conditional Access (CA) section as defined in Section 2.4.4.6
of [MPEG2TS]. It has the following structure:
Begen & Friedrich Expires June 13, 2010 [Page 23]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CAT_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Section Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Section Data /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 14: Structure of CAT TOLV
The PID is a 13-bit field used to identify the ES in an MPTS or SPTS.
This is the PID used in the associated TS to carry the CA section
data. The Section Length field is a 16-bit field that specifies the
length of the Section Data in octets. The Section Data is a CA
section as defined in Section 2.4.4.6 of [MPEG2TS].
Type: 11
Length: Variable
5.2.12. PTS TOLV
Optional TOLV element that is used to encode the PTS timestamp
corresponding to the first picture in the unicast repair burst. It
has the following structure:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PTS_TOLV_Type | Order | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID |r r r| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PTS_BASE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|b| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 15: Structure of PTS TOLV
The PID is used to identify the associated TS to carry the PTS data.
PTS_BASE is a 33-bit field that is taken from the PES header of the
MPEG2-TS that will be sent. Note that this TOLV is purely
informational.
Begen & Friedrich Expires June 13, 2010 [Page 24]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Type: 12
Length: 13
Begen & Friedrich Expires June 13, 2010 [Page 25]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
6. Payload Format Parameters
This section provides the media subtype registration for the MPEG2-TS
Preamble.
6.1. Media Type Registration
This registration is done using the template defined in [RFC4288] and
following the guidance provided in [RFC3555].
6.1.1. Registration of audio/mpeg2-ts-preamble
Type name: audio
Subtype name: mpeg2-ts-preamble
Required parameters:
o rate: The RTP timestamp (clock) rate. The rate SHALL be larger
than 1000 Hz to provide sufficient resolution to RTCP operations.
Optional parameters: None.
Encoding considerations: This media type is framed (See Section 4.8
in the template document [RFC4288]) and contains binary data.
Security considerations: See Section 9 of this document.
Interoperability considerations: None.
Published specification: This document.
Applications that use this media type: Applications that transmit
MPEG2-TS content and want to provide the Preamble information for the
transport stream they are transmitting to the receiver(s).
Additional information: None.
Person & email address to contact for further information: Ali Begen
<abegen@cisco.com> and IETF Audio/Video Transport Working Group.
Intended usage: COMMON.
Restriction on usage: This media type depends on RTP framing, and
hence, is only defined for transport via RTP [RFC3550].
Author: Ali Begen <abegen@cisco.com>.
Begen & Friedrich Expires June 13, 2010 [Page 26]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Change controller: IETF Audio/Video Transport Working Group
delegated from the IESG.
6.1.2. Registration of video/mpeg2-ts-preamble
Type name: video
Subtype name: mpeg2-ts-preamble
Required parameters:
o rate: The RTP timestamp (clock) rate. The rate SHALL be larger
than 1000 Hz to provide sufficient resolution to RTCP operations.
Optional parameters: None.
Encoding considerations: This media type is framed (See Section 4.8
in the template document [RFC4288]) and contains binary data.
Security considerations: See Section 9 of this document.
Interoperability considerations: None.
Published specification: This document.
Applications that use this media type: Applications that transmit
MPEG2-TS content and want to provide the Preamble information for the
transport stream they are transmitting to the receiver(s).
Additional information: None.
Person & email address to contact for further information: Ali Begen
<abegen@cisco.com> and IETF Audio/Video Transport Working Group.
Intended usage: COMMON.
Restriction on usage: This media type depends on RTP framing, and
hence, is only defined for transport via RTP [RFC3550].
Author: Ali Begen <abegen@cisco.com>.
Change controller: IETF Audio/Video Transport Working Group
delegated from the IESG.
6.1.3. Registration of text/mpeg2-ts-preamble
Type name: text
Begen & Friedrich Expires June 13, 2010 [Page 27]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Subtype name: mpeg2-ts-preamble
Required parameters:
o rate: The RTP timestamp (clock) rate. The rate SHALL be larger
than 1000 Hz to provide sufficient resolution to RTCP operations.
Optional parameters: None.
Encoding considerations: This media type is framed (See Section 4.8
in the template document [RFC4288]) and contains binary data.
Security considerations: See Section 9 of this document.
Interoperability considerations: None.
Published specification: This document.
Applications that use this media type: Applications that transmit
MPEG2-TS content and want to provide the Preamble information for the
transport stream they are transmitting to the receiver(s).
Additional information: None.
Person & email address to contact for further information: Ali Begen
<abegen@cisco.com> and IETF Audio/Video Transport Working Group.
Intended usage: COMMON.
Restriction on usage: This media type depends on RTP framing, and
hence, is only defined for transport via RTP [RFC3550].
Author: Ali Begen <abegen@cisco.com>.
Change controller: IETF Audio/Video Transport Working Group
delegated from the IESG.
6.1.4. Registration of application/mpeg2-ts-preamble
Type name: application
Subtype name: mpeg2-ts-preamble
Required parameters:
o rate: The RTP timestamp (clock) rate. The rate SHALL be larger
than 1000 Hz to provide sufficient resolution to RTCP operations.
Begen & Friedrich Expires June 13, 2010 [Page 28]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Optional parameters: None.
Encoding considerations: This media type is framed (See Section 4.8
in the template document [RFC4288]) and contains binary data.
Security considerations: See Section 9 of this document.
Interoperability considerations: None.
Published specification: This document.
Applications that use this media type: Applications that transmit
MPEG2-TS content and want to provide the Preamble information for the
transport stream they are transmitting to the receiver(s).
Additional information: None.
Person & email address to contact for further information: Ali Begen
<abegen@cisco.com> and IETF Audio/Video Transport Working Group.
Intended usage: COMMON.
Restriction on usage: This media type depends on RTP framing, and
hence, is only defined for transport via RTP [RFC3550].
Author: Ali Begen <abegen@cisco.com>.
Change controller: IETF Audio/Video Transport Working Group
delegated from the IESG.
6.2. Mapping to SDP Parameters
Applications that are using RTP transport commonly use Session
Description Protocol (SDP) [RFC4566] to describe their RTP sessions.
The information that is used to specify the media types in an RTP
session has specific mappings to the fields in an SDP description.
In this section, we provide these mappings for the media subtype
registered by this document ("mpeg2-ts-preamble"). Note that if an
application does not use SDP to describe the RTP sessions, an
appropriate mapping must be defined and used to specify the media
types and their parameters for the control/description protocol
employed by the application.
The mapping of the media type specification for "mpeg2-ts-preamble"
and its parameters in SDP is as follows:
Begen & Friedrich Expires June 13, 2010 [Page 29]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
o The media type (e.g., "application") goes into the "m=" line as
the media name.
o The media subtype ("mpeg2-ts-preamble") goes into the "a=rtpmap"
line as the encoding name. The RTP clock rate parameter ("rate")
also goes into the "a=rtpmap" line as the clock rate.
An SDP example is provided in Section 8.
6.2.1. Offer-Answer Model and Declarative Considerations
There no configuration parameters or optional format parameters for
the MPEG2-TS Preamble payload format. Thus, when offering MPEG2-TS
Preamble over RTP using SDP in an Offer/Answer model [RFC3264] or in
a declarative manner (e.g., SDP in the Real-time Streaming Protocol
(RTSP) [RFC2326] or the Session Announcement Protocol (SAP)
[RFC2974]), there are no specific considerations.
Begen & Friedrich Expires June 13, 2010 [Page 30]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
7. Post-Processing of the MPEG2-TS Preamble
Once received, the RTP packet(s) carrying the MPEG2-TS Preamble
cannot be fed directly to the MPEG transport demux and decoder since
the demux and decoder would not be able to recognize the TOLV
elements within the Preamble packets. Thus, the Preamble information
must be first processed and a demux/decoder-friendly stream must be
formed. The demux/decoder-friendly stream must conform to [MPEG2TS].
In this section, we briefly explain this process.
The Preamble TOLV elements contain several different types of
Transport Stream data. The first type is Program Specific
Information (PSI) Section Data. The second type is PCR Data, and the
third is Elementary Stream Data.
1. Section Data
This includes the PAT TOLV, PMT TOLV and CAT TOLV. This section
data also include ECMs or EMMs encapsulated in private sections
as per [DVB-ETR-289]. These packets are all processed similarly.
Each TS packet begins with a 4-byte TS header containing the PID
value given in the Preamble TOLV element. There is no adaptation
field present. The continuity counter value can be retrieved
from the PIDLIST TOLV element for the current PID. If the TS
packet contains the beginning of the Section, the Payload Unit
Start Indicator (PUSI) bit should be set in the TS header. Also,
a 1-byte pointer field follows the TS header, which should be set
to 0. The section data immediately follow the pointer field. If
the section data span multiple TS packets, they are recreated in
a similar manner, except without the PUSI bit set and the
pointer_field.
The continuity counter value of a packet must be one greater than
the previous packet on that PID. This applies to packets
reconstructed from the Preamble TOLV elements and packets from
the MPEG2-TS stream. The continuity counter value of the final
packet of Preamble data should be one less than the first packet
on the MPEG2-TS stream with that same PID.
The final TS packet may contain stuffing bytes of 0xFF as
necessary to pad the packet to 188 bytes.
2. PCR Data
A single TS packet is constructed from the PCR TOLV. This
contains a 4-byte TS header with correct PID and continuity
counter as retrieved from the PIDLIST. The Adaptation Field
Begen & Friedrich Expires June 13, 2010 [Page 31]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
control bits should indicate that only an adaptation_field and no
payload is present. The adaptation field should contain the PCR
value from the PCR TOLV followed by padding to fill the TS
packet. The discontinuity_indicator in the Adaptation Field
should be set to one.
3. Elementary Stream Data
The final type of Preamble data is that contained in an
elementary stream. This includes data from the SEQ, SPS, PPS and
SEI TOLVs. Each TS packet begins with a 4-byte TS header
containing the PID value given in the Preamble TOLV element. The
adaptation field padding can be used to pad the last TS packet to
188 bytes. The continuity counter value can be retrieved from
the PIDLIST TOLV element for the current PID. If the TS packet
contains the beginning of the TOLV element, the Payload Unit
Start Indicator (PUSI) bit should be set in the TS header. A PES
header must immediately follow the start of the first TS packet.
The stream_type of the PES packet should match the contents of
elementary stream data.
The TS packets constructed as above MUST be passed to the demux/
decoder in the following order: PAT, PMT, PCR, EMM, ECM, {Elementary
Stream Data}. The PAT and PMT MUST be the first two packets because
they contain required information to program the demux. The EMM and
ECM MUST occur before Elementary stream data because they contain
conditional access data that will be needed to descramble and decode
the elementary stream.
Begen & Friedrich Expires June 13, 2010 [Page 32]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
8. Session Description Protocol (SDP) Signaling
This section shows how the MPEG2-TS Preamble packets can be used in
an RAMS session [I-D.ietf-avt-rapid-acquisition-for-rtp]. The
example SDP [RFC4566] description is taken from Section 8.2 of
[I-D.ietf-avt-rapid-acquisition-for-rtp], where additional
information about this description is available.
v=0
o=ali 1122334455 1122334466 IN IP4 rams.example.com
s=Rapid Acquisition Example with MPEG2-TS Preamble Data
t=0 0
a=group:FID 3 4
a=rtcp-unicast:rsi
m=video 41000 RTP/AVPF 98
i=Primary Multicast Stream
c=IN IP4 233.252.0.2/255
a=source-filter: incl IN IP4 233.252.0.2 192.0.2.2
a=rtpmap:98 MP2T/90000
a=rtcp:41001 IN IP4 192.0.2.1
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack ssli
a=ssrc:123321 cname:iptv-ch32@rams.example.com
a=mid:3
m=video 41002 RTP/AVPF 99 100
i=Unicast Retransmission Stream + Preamble Data
c=IN IP4 192.0.2.1
a=rtpmap:99 rtx/90000
a=rtcp:41003
a=fmtp:99 apt=98; rtx-time=5000
a=rtpmap:100 mpeg2-ts-preamble/90000
a=mid:4
Figure 16: SDP description showing the payload-type multiplexed
Preamble and retransmission packets in an RAMS session
Begen & Friedrich Expires June 13, 2010 [Page 33]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
9. Security Considerations
RTP packets using the payload format defined in this specification
are subject to the security considerations discussed in the RTP
specification [RFC3550] and in any applicable RTP profile. The main
security considerations for the RTP packet carrying the RTP payload
format defined within this memo are confidentiality, integrity and
source authenticity. Confidentiality is achieved by encrypting the
RTP payload. Integrity of the RTP packets is achieved through a
suitable cryptographic integrity protection mechanism. Such a
cryptographic system may also allow the authentication of the source
of the payload. A suitable security mechanism for this RTP payload
format should provide confidentiality, integrity protection, and at
least source authentication capable of determining if an RTP packet
is from a member of the RTP session.
Note that the appropriate mechanism to provide security to RTP and
payloads following this memo may vary. It is dependent on the
application, transport and signaling protocol employed. Therefore, a
single mechanism is not sufficient, although if suitable, using the
Secure Real-time Transport Protocol (SRTP) [RFC3711] is recommended.
Other mechanisms that may be used are IPsec [RFC4301] and Transport
Layer Security (TLS) [RFC5246] (RTP over TCP); other alternatives may
exist.
The primary application area for the Preamble packets is to provide
accelerated acquisition and presentation of multicast sessions
carrying MPEG2-TS content [I-D.ietf-avt-rapid-acquisition-for-rtp].
During the creation of the Preamble packets, no new stream data are
created. That is, the only data present in the Preamble are gathered
from the recent packets sent in the corresponding primary multicast
stream. Thus, there are no additional security risks for an attacker
which may capture both the Preamble packets and the primary multicast
stream. The Preamble data can contain EMM or ECM packets, but they
are also drawn from the multicast stream. No personalized data is
included in the Preamble packets, so the Preamble data may not be
used to decrypt the stream data. Modifying the Preamble data or
preventing the Preamble data from reaching the RTP receiver could
lead to increased acquisition delays or presentation artifacts.
Begen & Friedrich Expires June 13, 2010 [Page 34]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
10. IANA Considerations
10.1. Payload Format
New media subtypes are subject to IANA registration. For the
registration of the payload format and its parameters introduced in
this document, refer to Section 6.
10.2. MPEG2-TS Preamble TOLV Space Registry
This document creates a new IANA TOLV space registry for the
extensions. The registry is called the MPEG2-TS Preamble TOLV Space
Registry. This registry is to be managed by the IANA according to
the Specification Required policy of [RFC5226].
The length of the Type field in the TOLV elements is a single octet,
allowing 256 values. The registry is initialized with the following
entries:
Type Description Reference
---- -------------------------------------------------- -------------
1 PAT (Program Association Table) Data This document
2 PMT (Program Map Table) Data This document
3 PCR (Program Clock Reference) Data This document
4 PID List This document
5 SEQ (Video Sequence Header) Data This document
6 SPS (Sequence Parameter Set) Data This document
7 PPS (Picture Parameter Set) Data This document
8 SEI (Supplemental Enhanced Information) Data This document
9 ECM (Entitlement Control Message) Data This document
10 EMM (Entitlement Management Message) Data This document
11 CAT (Conditional Access Table) Data This document
12 PTS (Presentation Timestamp) This document
The Type values 0 and 255 are reserved for future use. The Type
values between (and including) 128 and 254 are reserved for private
extensions.
Any registration for an unassigned Type value MUST contain the
following information:
o Contact information of the one doing the registration, including
at least name, address, and email.
o A detailed description of what the new TOLV element represents and
how it shall be interpreted.
Begen & Friedrich Expires June 13, 2010 [Page 35]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
11. Acknowledgments
The authors would like to thank Dave Oran, Roni Even and Ross
Finlayson for their reviews and feedback.
Begen & Friedrich Expires June 13, 2010 [Page 36]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
12. References
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[MPEG2TS] ITU-T H.222.0, "Generic Coding of Moving Pictures and
Associated Audio Information: Systems", May 2006.
[ISO13818-2]
ITU-T H.262, "Generic Coding of Moving Pictures and
Associated Audio Information: Video", February 2000.
[ISO13818-10]
ITU-T H.264, "Advanced Video Coding for Generic
Audiovisual Services", March 2005.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, July 2006.
[RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and
Registration Procedures", BCP 13, RFC 4288, December 2005.
[RFC3555] Casner, S. and P. Hoschka, "MIME Type Registration of RTP
Payload Formats", RFC 3555, July 2003.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264,
June 2002.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
12.2. Informative References
[I-D.ietf-avt-rapid-acquisition-for-rtp]
Steeg, B., Begen, A., Caenegem, T., and Z. Vax, "Unicast-
Based Rapid Acquisition of Multicast RTP Sessions",
draft-ietf-avt-rapid-acquisition-for-rtp-05 (work in
progress), November 2009.
[RFC2250] Hoffman, D., Fernando, G., Goyal, V., and M. Civanlar,
Begen & Friedrich Expires June 13, 2010 [Page 37]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
"RTP Payload Format for MPEG1/MPEG2 Video", RFC 2250,
January 1998.
[I-D.ietf-avt-rtcpssm]
Ott, J. and J. Chesterfield, "RTCP Extensions for Single-
Source Multicast Sessions with Unicast Feedback",
draft-ietf-avt-rtcpssm-19 (work in progress),
November 2009.
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980.
[RFC5740] Adamson, B., Bormann, C., Handley, M., and J. Macker,
"NACK-Oriented Reliable Multicast (NORM) Transport
Protocol", RFC 5740, November 2009.
[I-D.ietf-fecframe-framework]
Watson, M., "Forward Error Correction (FEC) Framework",
draft-ietf-fecframe-framework-05 (work in progress),
July 2009.
[RFC2326] Schulzrinne, H., Rao, A., and R. Lanphier, "Real Time
Streaming Protocol (RTSP)", RFC 2326, April 1998.
[RFC2974] Handley, M., Perkins, C., and E. Whelan, "Session
Announcement Protocol", RFC 2974, October 2000.
[DVB-ETR-289]
DVB ETR-289, "Digital Video Broadcasting (DVB); Support
for use of scrambling and Conditional Access (CA) within
digital broadcasting systems", October 1996.
[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, March 2004.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008.
Begen & Friedrich Expires June 13, 2010 [Page 38]
Internet-Draft RTP Payload Format for MPEG2-TS Preamble December 2009
Authors' Addresses
Ali Begen
Cisco
170 West Tasman Drive
San Jose, CA 95134
USA
Email: abegen@cisco.com
Eric Friedrich
Cisco
1414 Massachusetts Ave.
Boxborough, MA 01719
USA
Email: efriedri@cisco.com
Begen & Friedrich Expires June 13, 2010 [Page 39]