A/V Transport Payloads Workgroup J. Sandford
Internet-Draft British Broadcasting Corporation
Intended status: Informational January 17, 2019
Expires: July 21, 2019
RTP Payload for TTML Timed Text
draft-sandford-payload-rtp-ttml-00
Abstract
This memo describes a Real-time Transport Protocol (RTP) payload
format for TTML, an XML based timed text format for live and file
based workflows from W3C. This payload format is specifically
targeted at live workflows using TTML.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on July 21, 2019.
Copyright Notice
Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Sandford Expires July 21, 2019 [Page 1]
Internet-Draft RTP Payload for TTML Timed Text January 2019
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions, Definitions, and Abbreviations . . . . . . . . . 2
3. Media Format Description . . . . . . . . . . . . . . . . . . 3
3.1. Relation to Other Text Payload Types . . . . . . . . . . 3
4. Payload Format . . . . . . . . . . . . . . . . . . . . . . . 3
4.1. RTP Header Usage . . . . . . . . . . . . . . . . . . . . 4
4.2. Payload Data . . . . . . . . . . . . . . . . . . . . . . 4
4.2.1. TTML Profile for RTP Carriage . . . . . . . . . . . . 5
5. Payload Examples . . . . . . . . . . . . . . . . . . . . . . 6
6. Congestion Control Considerations . . . . . . . . . . . . . . 6
7. Payload Format Parameters . . . . . . . . . . . . . . . . . . 6
7.1. Clock Rate . . . . . . . . . . . . . . . . . . . . . . . 6
7.2. Mapping to SDP . . . . . . . . . . . . . . . . . . . . . 7
7.2.1. Examples . . . . . . . . . . . . . . . . . . . . . . 7
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
9. Security Considerations . . . . . . . . . . . . . . . . . . . 7
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . 8
10.2. Informative References . . . . . . . . . . . . . . . . . 8
Appendix A. RFC Editor Considerations . . . . . . . . . . . . . 9
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 9
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
TTML (Timed Text Markup Language)[TTML] is a media type for
describing timed text such as closed captions (also known as
subtitles) in television workflows or broadcasts as XML. This
document specifies how TTML should be mapped into an RTP stream in
live workflows including, but not restricted to, those described in
the television broadcast oriented EBU-TT Part 3[TECH3370]
specification.
2. Conventions, Definitions, and Abbreviations
Unless otherwise stated, the term "document" is used in this draft to
refer to the TTML document being transmitted in the payload of the
RTP packet(s).
Where the term "word" is used in this draft, it is to refer to byte
aligned or 32-bit aligned words of data in a computing sense and not
to refer to linguistic words that might appear in the transported
text.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
Sandford Expires July 21, 2019 [Page 2]
Internet-Draft RTP Payload for TTML Timed Text January 2019
document are to be interpreted as described in BCP14 [RFC2119]
[RFC8174] when, and only when, they appear in all capitals, as shown
here.
3. Media Format Description
3.1. Relation to Other Text Payload Types
Prior payload types for text are not suited to the carriage of closed
captions in Television Workflows. RFC 4103 for Text Conversation
[RFC4103] is intended for low data rate conversation with its own
session management and minimal formatting capabilities. RFC 4734
Events for Modem, Fax, and Text Telephony Signals [RFC4734] deals in
large parts with the control signalling of facsimile and other
systems. RFC 4396 for 3rd Generation Partnership Project (3GPP)
Timed Text [RFC4396] describes the carriage of a timed text format
with much more restricted formatting capabilities than TTML. The
lack of an existing format for TTML or generic XML has necessitated
the creation of this payload format.
4. Payload Format
In addition to the required RTP headers, the payload contains a
section for the TTML document being transmitted (User Data Words),
and a field for the Length of that data. Each RTP payload contains
one or part of one TTML document.
A representation of the payload format for TTML is Figure 1.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Synchronization Source (SSRC) Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| User Data Words...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: RTP Payload Format for TTML
Sandford Expires July 21, 2019 [Page 3]
Internet-Draft RTP Payload for TTML Timed Text January 2019
4.1. RTP Header Usage
RTP packet header fields SHALL be interpreted as per RFC 3550
[RFC3550], with the following specifics:
Marker Bit (M): 1 bit
The Marker Bit is set to "1" to indicate the last packet of a
document. Otherwise set to "0". Note: The first packet might
also be the last.
Timestamp: 32 bits
The RTP Timestamp encodes the time of the text in the packet. The
clock frequency used is dependent on the application and is
specified in the media type rate parameter as per Section 7.1.
Documents spread across multiple packets MUST use the same
timestamp but different consecutive Sequence Numbers. Sequential
documents MUST NOT use the same timestamp. Because packets do not
represent any constant duration, the timestamp cannot be used to
directly infer packet loss.
Reserved: 16 bits
These bits are reserved for future use and MUST be set to 0x0.
Length: 16 bits
The length of User Data Words in bytes.
User Data Words: integer number of words whose length is defined by
the character encoding
User Data Words contains the text of the whole document being
transmitted or a part of the document being transmitted.
Documents using character encodings where characters are not
represented by a single byte MUST be serialized in big endian
order, a.k.a. network byte order. When the document spans more
than one RTP packet, the entire document is obtained by
concatenating User Data Words from each contributing packet in
ascending order of Sequence Number.
4.2. Payload Data
Documents carried in User Data Words are encoded in accordance with
one of the defined TTML profiles specified in its registry [TTML].
These profiles specify the document structure used, systems models,
timing, and other considerations.
Additionally, documents carried over RTP MUST conform to the
following profile.
Sandford Expires July 21, 2019 [Page 4]
Internet-Draft RTP Payload for TTML Timed Text January 2019
4.2.1. TTML Profile for RTP Carriage
This section defines constraints on the content and processing of the
TTML payload for RTP carriage.
4.2.1.1. Payload content restrictions
Multiple TTML subtitle streams MUST NOT be interleaved in a single
RTP stream.
The TTML document instance MUST use the "media" value of the
"ttp:timeBase" parameter attribute on the root element.
This is equivalent to the following TTML2 content profile definition
document:
This document is a minimal TTML2 content profile
definition document intended to express the minimal
requirements to apply when carrying TTML over RTP.
#timeBase-media
#timeBase-smpte
#timeBase-clock
4.2.1.2. Payload processing requirements
If the TTML document payload is assessed to be invalid then it MUST
be discarded. When processing a valid document, the following
requirements apply.
The epoch E relative to which computed media times are offset MUST be
set to the RTP timestamp in the header of the RTP packet in which the
TTML document instance is carried.
Sandford Expires July 21, 2019 [Page 5]
Internet-Draft RTP Payload for TTML Timed Text January 2019
When processing a sequence of TTML documents each delivered in the
same RTP stream, exactly zero or one document SHALL be considered
active at each moment in the RTP time line.
Each TTML document becomes active at E. In the event that a document
D_(n-1) with E_(n-1) is active, and document D_(n) is delivered with
E_(n) where E_(n-1) < E_(n), processing of D_(n-1) MUST be stopped at
E_(n) and processing of D_(n) MUST begin.
When all defined content within a document has ended, i.e. the active
intermediate synchronic document contains no content, then processing
of the document MAY be stopped.
4.2.1.2.1. EBU-TT Live considerations
EBU-TT Live is a profile of TTML intended to support live
contribution of TTML documents as a stream independently of the
carriage mechanism. When EBU-TT Live documents are carried in an RTP
stream, or when the TTML documents being transferred over RTP use
EBU-TT Live semantics, the following considerations apply:
E is considered to be the Availability Time as defined by EBU-TT
Live. It is an error if two documents are delivered such that
E_(n-1) < E_(n) and the "ebuttp:sequenceNumber" of E_(n-1) is greater
than the "ebuttp:sequenceNumber" of E_(n). Every EBU-TT Live
document in a single RTP stream MUST have a
"ebuttp:sequenceIdentifier" with the same value.
5. Payload Examples
*TODO*: Provide an example, valid payload.
6. Congestion Control Considerations
The general congestion control considerations for transporting RTP
data apply; see RTP [RFC3550].
7. Payload Format Parameters
This RTP payload format is identified using the existing application/
ttml+xml media type.
7.1. Clock Rate
The default clock rate for TTML over RTP is 1000Hz. The clock rate
SHOULD be included in any advertisements of the RTP stream where
possible. This parameter has not been added to the media type
definition as it is not applicable to TTML usage other than within
Sandford Expires July 21, 2019 [Page 6]
Internet-Draft RTP Payload for TTML Timed Text January 2019
RTP streams. In other contexts, timing is defined within the TTML
document.
7.2. Mapping to SDP
The mapping of the above defined payload format media type and its
parameters SHALL be done according to Section 3 of RFC 4855
[RFC4855].
o The type name "application" goes in SDP "m=" as the media name.
o The media subtype "ttml+xml" goes in SDP "a=rtpmap" as the
encoding name,
o The clock rate also goes in "a=rtpmap" as the clock rate.
Additional format specific parameters as described in the media type
specification SHALL be included in the SDP file in "a=fmtp" as a
semicolon separated list of "parameter=value" pairs as described in
[RFC4855].
7.2.1. Examples
A sample SDP mapping is as follows:
m=application 30000 RTP/AVP 112
a=rtpmap:112 ttml+xml/90000
a=fmtp:112 charset=utf-8
In this example, a dynamic payload type 112 is used. The 90 kHz RTP
timestamp rate is specified in the "a=rtpmap" line after the subtype.
8. IANA Considerations
This document makes use of the media type application/ttml+xml. The
media types registry should be updated to make reference to this
document for the application/ttml+xml media type.
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 any applicable RTP profile, e.g. AVP
[RFC3551].
To avoid potential buffer overflow attacks, receivers should take
care to validate that the User Data Words in the RTP payload are of
the appropriate length (using the Length field).
Sandford Expires July 21, 2019 [Page 7]
Internet-Draft RTP Payload for TTML Timed Text January 2019
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
July 2003, .
[RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text
Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005,
.
[RFC4396] Rey, J. and Y. Matsui, "RTP Payload Format for 3rd
Generation Partnership Project (3GPP) Timed Text",
RFC 4396, DOI 10.17487/RFC4396, February 2006,
.
[RFC4734] Schulzrinne, H. and T. Taylor, "Definition of Events for
Modem, Fax, and Text Telephony Signals", RFC 4734,
DOI 10.17487/RFC4734, December 2006,
.
[RFC4855] Casner, S., "Media Type Registration of RTP Payload
Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007,
.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, .
[TECH3370]
"TECH 3370 - EBU-TT PART 3: LIVE CONTRIBUTION", May 2017.
[TTML] "TTML Media Type Definition and Profile Registry", January
2017.
10.2. Informative References
[RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
Video Conferences with Minimal Control", STD 65, RFC 3551,
DOI 10.17487/RFC3551, July 2003,
.
Sandford Expires July 21, 2019 [Page 8]
Internet-Draft RTP Payload for TTML Timed Text January 2019
Appendix A. RFC Editor Considerations
*TODO* To be filled
Appendix B. Acknowledgements
*TODO*
Author's Address
James Sandford
British Broadcasting Corporation
Dock House, MediaCityUK
Salford
United Kingdom
Phone: +44 30304 09549
Email: james.sandford@bbc.co.uk
Sandford Expires July 21, 2019 [Page 9]