< draft-sandford-payload-rtp-ttml-01.txt   draft-sandford-payload-rtp-ttml-02.txt >
A/V Transport Payloads Workgroup J. Sandford A/V Transport Payloads Workgroup J. Sandford
Internet-Draft British Broadcasting Corporation Internet-Draft British Broadcasting Corporation
Intended status: Informational January 24, 2019 Intended status: Informational February 4, 2019
Expires: July 28, 2019 Expires: August 8, 2019
RTP Payload for TTML Timed Text RTP Payload for TTML Timed Text
draft-sandford-payload-rtp-ttml-01 draft-sandford-payload-rtp-ttml-02
Abstract Abstract
This memo describes a Real-time Transport Protocol (RTP) payload This memo describes a Real-time Transport Protocol (RTP) payload
format for TTML, an XML based timed text format for live and file format for TTML, an XML based timed text format for live and file
based workflows from W3C. This payload format is specifically based workflows from W3C. This payload format is specifically
targeted at live workflows using TTML. targeted at live workflows using TTML.
Status of This Memo Status of This Memo
skipping to change at page 1, line 33 skipping to change at page 1, line 33
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 28, 2019. This Internet-Draft will expire on August 8, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 15 skipping to change at page 2, line 15
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions, Definitions, and Abbreviations . . . . . . . . . 2 2. Conventions, Definitions, and Abbreviations . . . . . . . . . 2
3. Media Format Description . . . . . . . . . . . . . . . . . . 3 3. Media Format Description . . . . . . . . . . . . . . . . . . 3
3.1. Relation to Other Text Payload Types . . . . . . . . . . 3 3.1. Relation to Other Text Payload Types . . . . . . . . . . 3
4. Payload Format . . . . . . . . . . . . . . . . . . . . . . . 3 4. Payload Format . . . . . . . . . . . . . . . . . . . . . . . 3
4.1. RTP Header Usage . . . . . . . . . . . . . . . . . . . . 4 4.1. RTP Header Usage . . . . . . . . . . . . . . . . . . . . 4
4.2. Payload Data . . . . . . . . . . . . . . . . . . . . . . 4 4.2. Payload Data . . . . . . . . . . . . . . . . . . . . . . 4
4.2.1. TTML Profile for RTP Carriage . . . . . . . . . . . . 5 4.2.1. TTML Profile for RTP Carriage . . . . . . . . . . . . 5
5. Payload Examples . . . . . . . . . . . . . . . . . . . . . . 6 5. Payload Examples . . . . . . . . . . . . . . . . . . . . . . 8
6. Congestion Control Considerations . . . . . . . . . . . . . . 7 6. Congestion Control Considerations . . . . . . . . . . . . . . 9
7. Payload Format Parameters . . . . . . . . . . . . . . . . . . 8 7. Payload Format Parameters . . . . . . . . . . . . . . . . . . 10
7.1. Media Type Definition . . . . . . . . . . . . . . . . . . 8 7.1. Media Type Definition . . . . . . . . . . . . . . . . . . 10
7.2. Clock Rate . . . . . . . . . . . . . . . . . . . . . . . 12 7.2. Clock Rate . . . . . . . . . . . . . . . . . . . . . . . 14
7.3. Mapping to SDP . . . . . . . . . . . . . . . . . . . . . 12 7.3. Mapping to SDP . . . . . . . . . . . . . . . . . . . . . 14
7.3.1. Examples . . . . . . . . . . . . . . . . . . . . . . 12 7.3.1. Examples . . . . . . . . . . . . . . . . . . . . . . 14
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 9. Security Considerations . . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1. Normative References . . . . . . . . . . . . . . . . . . 14 10.1. Normative References . . . . . . . . . . . . . . . . . . 16
10.2. Informative References . . . . . . . . . . . . . . . . . 15 10.2. Informative References . . . . . . . . . . . . . . . . . 17
Appendix A. RFC Editor Considerations . . . . . . . . . . . . . 15 Appendix A. RFC Editor Considerations . . . . . . . . . . . . . 18
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 15 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 18
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
TTML (Timed Text Markup Language)[TTML] is a media type for TTML (Timed Text Markup Language)[TTML] is a media type for
describing timed text such as closed captions (also known as describing timed text such as closed captions (also known as
subtitles) in television workflows or broadcasts as XML. This subtitles) in television workflows or broadcasts as XML. This
document specifies how TTML should be mapped into an RTP stream in document specifies how TTML should be mapped into an RTP stream in
live workflows including, but not restricted to, those described in live workflows including, but not restricted to, those described in
the television broadcast oriented EBU-TT Part 3[TECH3370] the television broadcast oriented EBU-TT Part 3[TECH3370]
specification. specification.
skipping to change at page 5, line 25 skipping to change at page 5, line 25
The TTML document instance MUST use the "media" value of the The TTML document instance MUST use the "media" value of the
"ttp:timeBase" parameter attribute on the root element. "ttp:timeBase" parameter attribute on the root element.
This is equivalent to the following TTML2 content profile definition This is equivalent to the following TTML2 content profile definition
document: document:
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<profile xmlns="http://www.w3.org/ns/ttml#parameter" <profile xmlns="http://www.w3.org/ns/ttml#parameter"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tt="http://www.w3.org/ns/ttml" xmlns:tt="http://www.w3.org/ns/ttml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" type="content"
xsi:schemaLocation="http://www.w3.org/ns/ttml#parameter" designator="urn:ietf:rfc:XXXX#content"
type="content" combine="mostRestrictive"> combine="mostRestrictive">
<features xml:base="http://www.w3.org/ns/ttml/feature/"> <features xml:base="http://www.w3.org/ns/ttml/feature/">
<tt:metadata> <tt:metadata>
<ttm:desc> <ttm:desc>
This document is a minimal TTML2 content profile This document is a minimal TTML2 content profile
definition document intended to express the minimal definition document intended to express the minimal
requirements to apply when carrying TTML over RTP. requirements to apply when carrying TTML over RTP.
</ttm:desc> </ttm:desc>
</tt:metadata> </tt:metadata>
<feature value="required">#timeBase-media</feature> <feature value="required">#timeBase-media</feature>
<feature value="prohibited">#timeBase-smpte</feature> <feature value="prohibited">#timeBase-smpte</feature>
skipping to change at page 6, line 18 skipping to change at page 6, line 18
Each TTML document becomes active at E. In the event that a document 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 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) where E_(n-1) < E_(n), processing of D_(n-1) MUST be stopped at
E_(n) and processing of D_(n) MUST begin. E_(n) and processing of D_(n) MUST begin.
When all defined content within a document has ended, i.e. the active When all defined content within a document has ended, i.e. the active
intermediate synchronic document contains no content, then processing intermediate synchronic document contains no content, then processing
of the document MAY be stopped. of the document MAY be stopped.
4.2.1.2.1. EBU-TT Live considerations 4.2.1.2.1. TTML Processor profile
4.2.1.2.1.1. Feature extension designation
This specification defines the following TTML feature extension
designation:
o urn:ietf:rfc:XXXX#rtp-relative-media-time
The namespace "urn:ietf:rfc:XXXX" is as defined by [RFC2648].
A TTML content processor supports the "#rtp-relative-media-time"
feature extension if it processes media times in accordance with the
payload processing requirements specified in this document, i.e. that
the epoch E is set to the time equivalent to the RTP Timestamp as
detailed above in Section 4.2.1.2.
4.2.1.2.1.2. Processor profile document
The required syntax and semantics declared in the following minimal
TTML2 processor profile MUST be supported by the receiver, as
signified by those "feature" or "extension" elements whose "value"
attribute is set to "required":
<?xml version="1.0" encoding="UTF-8"?>
<profile xmlns="http://www.w3.org/ns/ttml#parameter"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tt="http://www.w3.org/ns/ttml"
type="processor"
designator="urn:ietf:rfc:XXXX#processor"
combine="mostRestrictive">
<features xml:base="http://www.w3.org/ns/ttml/feature/">
<tt:metadata>
<ttm:desc>
This document is a minimal TTML2 processor profile
definition document intended to express the minimal
requirements of a TTML processor able to process TTML
delivered over RTP according to RFC XXXX.
</ttm:desc>
</tt:metadata>
<feature value="required">#timeBase-media</feature>
<feature value="optional">#profile-full-version-2</feature>
</features>
<extensions xml:base="urn:ietf:rfc:XXXX">
<extension restricts="#timeBase-media" value="required">
#rtp-relative-media-time
</extension>
</extensions>
</profile>
Note that this requirement does not imply that the receiver needs to
support either TTML1 or TTML2 profile processing, i.e. the TTML2
"#profile-full-version-2" feature or any of its dependent features.
4.2.1.2.1.3. Processor profile signalling
If signalling this processor profile in the "codecs" parameter of the
media type, the registered short code for the processor profile
SHOULD be combined with each other applicable processor profile using
the "+" operator.
Note that short codes for TTML profiles are registered at [TTML].
4.2.1.2.2. EBU-TT Live considerations
EBU-TT Live is a profile of TTML intended to support live EBU-TT Live is a profile of TTML intended to support live
contribution of TTML documents as a stream independently of the contribution of TTML documents as a stream independently of the
carriage mechanism. When EBU-TT Live documents are carried in an RTP carriage mechanism. When EBU-TT Live documents are carried in an RTP
stream, or when the TTML documents being transferred over RTP use stream, or when the TTML documents being transferred over RTP use
EBU-TT Live semantics, the following considerations apply: EBU-TT Live semantics, the following considerations apply:
E is considered to be the Availability Time as defined by EBU-TT 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 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 E_(n-1) < E_(n) and the "ebuttp:sequenceNumber" of E_(n-1) is greater
skipping to change at page 8, line 15 skipping to change at page 10, line 15
Circuit Breakers [RFC8083] is an update to RTP [RFC3550] that defines Circuit Breakers [RFC8083] is an update to RTP [RFC3550] that defines
criteria for when one is required to stop sending RTP Packet Streams criteria for when one is required to stop sending RTP Packet Streams
and applications implementing this standard MUST comply with it. RFC and applications implementing this standard MUST comply with it. RFC
8085 [RFC8083] provides additional information on the best practices 8085 [RFC8083] provides additional information on the best practices
for applying congestion control to UDP streams. for applying congestion control to UDP streams.
7. Payload Format Parameters 7. Payload Format Parameters
This RTP payload format is identified using the existing application/ This RTP payload format is identified using the existing application/
ttml+xml media type. The existing Media Type definition for ttml+xml media type. The existing Media Type definition for
application/ttml+xml has been included below. application/ttml+xml has been included below, taken from [TTML].
7.1. Media Type Definition 7.1. Media Type Definition
Type name: Type name:
application application
Subtype name: Subtype name:
ttml+xml ttml+xml
skipping to change at page 12, line 46 skipping to change at page 14, line 46
specification SHALL be included in the SDP file in "a=fmtp" as a specification SHALL be included in the SDP file in "a=fmtp" as a
semicolon separated list of "parameter=value" pairs as described in semicolon separated list of "parameter=value" pairs as described in
[RFC4855]. [RFC4855].
7.3.1. Examples 7.3.1. Examples
A sample SDP mapping is as follows: A sample SDP mapping is as follows:
m=application 30000 RTP/AVP 112 m=application 30000 RTP/AVP 112
a=rtpmap:112 ttml+xml/90000 a=rtpmap:112 ttml+xml/90000
a=fmtp:112 charset=utf-8 a=fmtp:112 charset=utf-8;codecs=im1t
In this example, a dynamic payload type 112 is used. The 90 kHz RTP 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. timestamp rate is specified in the "a=rtpmap" line after the subtype.
The codecs parameter defined in the "a=fmpt" line indicates that the
TTML data conforms to IMSC 1 Text profile.
8. IANA Considerations 8. IANA Considerations
This document makes use of the media type application/ttml+xml. The This document makes use of the media type application/ttml+xml. The
media types registry should be updated to make reference to this media types registry SHOULD be updated to make reference to this
document for the application/ttml+xml media type. document for the application/ttml+xml media type.
9. Security Considerations 9. Security Considerations
RTP packets using the payload format defined in this specification RTP packets using the payload format defined in this specification
are subject to the security considerations discussed in the RTP are subject to the security considerations discussed in the RTP
specification [RFC3550] , and in any applicable RTP profile such as specification [RFC3550] , and in any applicable RTP profile such as
RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or RTP/ RTP/AVP [RFC3551], RTP/AVPF [RFC4585], RTP/SAVP [RFC3711], or RTP/
SAVPF [RFC5124]. However, as "Securing the RTP Protocol Framework: SAVPF [RFC5124]. However, as "Securing the RTP Protocol Framework:
Why RTP Does Not Mandate a Single Media Security Solution" [RFC7202] Why RTP Does Not Mandate a Single Media Security Solution" [RFC7202]
skipping to change at page 14, line 29 skipping to change at page 16, line 29
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[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, <https://www.rfc-editor.org/info/rfc3550>.
[RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text
Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005, Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005,
<https://www.rfc-editor.org/info/rfc4103>. <https://www.rfc-editor.org/info/rfc4103>.
[RFC4396] Rey, J. and Y. Matsui, "RTP Payload Format for 3rd [RFC4732] Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet
Generation Partnership Project (3GPP) Timed Text", Denial-of-Service Considerations", RFC 4732,
RFC 4396, DOI 10.17487/RFC4396, February 2006, DOI 10.17487/RFC4732, December 2006,
<https://www.rfc-editor.org/info/rfc4396>. <https://www.rfc-editor.org/info/rfc4732>.
[RFC4734] Schulzrinne, H. and T. Taylor, "Definition of Events for
Modem, Fax, and Text Telephony Signals", RFC 4734,
DOI 10.17487/RFC4734, December 2006,
<https://www.rfc-editor.org/info/rfc4734>.
[RFC4855] Casner, S., "Media Type Registration of RTP Payload [RFC4855] Casner, S., "Media Type Registration of RTP Payload
Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007, Formats", RFC 4855, DOI 10.17487/RFC4855, February 2007,
<https://www.rfc-editor.org/info/rfc4855>. <https://www.rfc-editor.org/info/rfc4855>.
[RFC7201] Westerlund, M. and C. Perkins, "Options for Securing RTP
Sessions", RFC 7201, DOI 10.17487/RFC7201, April 2014,
<https://www.rfc-editor.org/info/rfc7201>.
[RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303,
DOI 10.17487/RFC7303, July 2014,
<https://www.rfc-editor.org/info/rfc7303>.
[RFC8083] Perkins, C. and V. Singh, "Multimedia Congestion Control:
Circuit Breakers for Unicast RTP Sessions", RFC 8083,
DOI 10.17487/RFC8083, March 2017,
<https://www.rfc-editor.org/info/rfc8083>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[TECH3370] [TECH3370]
"TECH 3370 - EBU-TT PART 3: LIVE CONTRIBUTION", May 2017. "TECH 3370 - EBU-TT PART 3: LIVE CONTRIBUTION", May 2017.
[TTML] "TTML Media Type Definition and Profile Registry", January [TTML] "TTML Media Type Definition and Profile Registry", January
2017. 2017.
[TTML2] "Timed Text Markup Language 2 (TTML2)", November 2018.
10.2. Informative References 10.2. Informative References
[RFC4732] Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet [RFC2648] Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
Denial-of-Service Considerations", RFC 4732, DOI 10.17487/RFC2648, August 1999,
DOI 10.17487/RFC4732, December 2006, <https://www.rfc-editor.org/info/rfc2648>.
<https://www.rfc-editor.org/info/rfc4732>.
[RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
DOI 10.17487/RFC7303, July 2014, Video Conferences with Minimal Control", STD 65, RFC 3551,
<https://www.rfc-editor.org/info/rfc7303>. DOI 10.17487/RFC3551, July 2003,
<https://www.rfc-editor.org/info/rfc3551>.
[TTML2] "Timed Text Markup Language 2 (TTML2)", November 2018. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
Norrman, "The Secure Real-time Transport Protocol (SRTP)",
RFC 3711, DOI 10.17487/RFC3711, March 2004,
<https://www.rfc-editor.org/info/rfc3711>.
[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,
<https://www.rfc-editor.org/info/rfc4396>.
[RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
"Extended RTP Profile for Real-time Transport Control
Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
DOI 10.17487/RFC4585, July 2006,
<https://www.rfc-editor.org/info/rfc4585>.
[RFC4734] Schulzrinne, H. and T. Taylor, "Definition of Events for
Modem, Fax, and Text Telephony Signals", RFC 4734,
DOI 10.17487/RFC4734, December 2006,
<https://www.rfc-editor.org/info/rfc4734>.
[RFC5124] Ott, J. and E. Carrara, "Extended Secure RTP Profile for
Real-time Transport Control Protocol (RTCP)-Based Feedback
(RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February
2008, <https://www.rfc-editor.org/info/rfc5124>.
[RFC7202] Perkins, C. and M. Westerlund, "Securing the RTP
Framework: Why RTP Does Not Mandate a Single Media
Security Solution", RFC 7202, DOI 10.17487/RFC7202, April
2014, <https://www.rfc-editor.org/info/rfc7202>.
Appendix A. RFC Editor Considerations Appendix A. RFC Editor Considerations
*TODO* To be filled *TODO* To be filled
Appendix B. Acknowledgements Appendix B. Acknowledgements
*TODO* *TODO*
Author's Address Author's Address
 End of changes. 17 change blocks. 
43 lines changed or deleted 152 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/