没有合适的资源?快使用搜索试试~ 我知道了~
首页HLS流媒体协议描述文档
This document describes a protocol for transferring unbounded streams of multimedia data. It specifies the data format of the files and the actions to be taken by the server (sender) and the clients (receivers) of the streams. It describes version 7 of this protocol. 本文描述了一种用于传输无界流的协议。 多媒体数据。它指定文件的数据格式和 服务器(发送者)和客户端要采取的行动 (接收器)的溪流。它描述了这个协议的7版本。
资源详情
资源推荐
Informational R. Pantos, Ed.
Internet-Draft W. May
Intended status: Informational Apple Inc.
Expires: April 17, 2015 October 14, 2014
HTTP Live Streaming
draft-pantos-http-live-streaming-14
Abstract
This document describes a protocol for transferring unbounded streams
of multimedia data. It specifies the data format of the files and
the actions to be taken by the server (sender) and the clients
(receivers) of the streams. It describes version 7 of this protocol.
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
http://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 April 17, 2015.
Copyright Notice
Copyright (c) 2014 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.
This document may not be modified, and derivative works of it may not
be created, and it may not be published except as an Internet-Draft.
Pantos & May Expires April 17, 2015 [Page 1]
Internet-Draft HTTP Live Streaming October 2014
This Informational Internet Draft is submitted as an RFC Editor
Contribution and/or non-IETF Document (not as a Contribution, IETF
Contribution, nor IETF Document) in accordance with
BCP 78 and BCP
79.
Table of Contents
1. Introduction to HTTP Live Streaming . . . . . . . . . . . . . 3
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Media Segments . . . . . . . . . . . . . . . . . . . . . . . 5
4. Playlists . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Definition of a Playlist . . . . . . . . . . . . . . . . 7
4.2. Attribute Lists . . . . . . . . . . . . . . . . . . . . . 8
4.3. Playlist Tags . . . . . . . . . . . . . . . . . . . . . . 9
4.3.1. Basic Tags . . . . . . . . . . . . . . . . . . . . . 9
4.3.1.1. EXTM3U . . . . . . . . . . . . . . . . . . . . . 9
4.3.1.2. EXT-X-VERSION . . . . . . . . . . . . . . . . . . 9
4.3.2. Media Segment Tags . . . . . . . . . . . . . . . . . 10
4.3.2.1. EXTINF . . . . . . . . . . . . . . . . . . . . . 10
4.3.2.2. EXT-X-BYTERANGE . . . . . . . . . . . . . . . . . 11
4.3.2.3. EXT-X-DISCONTINUITY . . . . . . . . . . . . . . . 11
4.3.2.4. EXT-X-KEY . . . . . . . . . . . . . . . . . . . . 12
4.3.2.5. EXT-X-MAP . . . . . . . . . . . . . . . . . . . . 13
4.3.2.6. EXT-X-PROGRAM-DATE-TIME . . . . . . . . . . . . . 14
4.3.3. Media Playlist Tags . . . . . . . . . . . . . . . . . 15
4.3.3.1. EXT-X-TARGETDURATION . . . . . . . . . . . . . . 15
4.3.3.2. EXT-X-MEDIA-SEQUENCE . . . . . . . . . . . . . . 15
4.3.3.3. EXT-X-DISCONTINUITY-SEQUENCE . . . . . . . . . . 16
4.3.3.4. EXT-X-ENDLIST . . . . . . . . . . . . . . . . . . 16
4.3.3.5. EXT-X-PLAYLIST-TYPE . . . . . . . . . . . . . . . 16
4.3.3.6. EXT-X-I-FRAMES-ONLY . . . . . . . . . . . . . . . 17
4.3.4. Master Playlist Tags . . . . . . . . . . . . . . . . 17
4.3.4.1. EXT-X-MEDIA . . . . . . . . . . . . . . . . . . . 18
4.3.4.1.1. Rendition Groups . . . . . . . . . . . . . . 20
4.3.4.2. EXT-X-STREAM-INF . . . . . . . . . . . . . . . . 21
4.3.4.2.1. Alternative Renditions . . . . . . . . . . . 24
4.3.4.3. EXT-X-I-FRAME-STREAM-INF . . . . . . . . . . . . 24
4.3.4.4. EXT-X-SESSION-DATA . . . . . . . . . . . . . . . 25
4.3.5. Media or Master Playlist Tags . . . . . . . . . . . . 26
4.3.5.1. EXT-X-INDEPENDENT-SEGMENTS . . . . . . . . . . . 26
4.3.5.2. EXT-X-START . . . . . . . . . . . . . . . . . . . 26
5. Key files . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1. Structure of Key files . . . . . . . . . . . . . . . . . 27
5.2. IV for [AES_128] . . . . . . . . . . . . . . . . . . . . 27
6. Client/Server Responsibilities . . . . . . . . . . . . . . . 28
6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 28
6.2. Server Responsibilities . . . . . . . . . . . . . . . . . 28
Pantos & May Expires April 17, 2015 [Page 2]
Internet-Draft HTTP Live Streaming October 2014
6.2.1. General Server Responsibilities . . . . . . . . . . . 28
6.2.2. Live Playlists . . . . . . . . . . . . . . . . . . . 30
6.2.3. Encrypting Media Segments . . . . . . . . . . . . . . 31
6.2.4. Providing Variant Streams . . . . . . . . . . . . . . 32
6.3. Client Responsibilities . . . . . . . . . . . . . . . . . 33
6.3.1. General Client Responsibilities . . . . . . . . . . . 33
6.3.2. Loading the Media Playlist file . . . . . . . . . . . 34
6.3.3. Playing the Media Playlist file . . . . . . . . . . . 34
6.3.4. Reloading the Media Playlist file . . . . . . . . . . 35
6.3.5. Determining the next segment to load . . . . . . . . 36
6.3.6. Decrypting encrypted Media Segments . . . . . . . . . 36
7. Protocol version compatibility . . . . . . . . . . . . . . . 37
8. Playlist Examples . . . . . . . . . . . . . . . . . . . . . . 39
8.1. Simple Media Playlist . . . . . . . . . . . . . . . . . . 39
8.2. Live Media Playlist, using HTTPS . . . . . . . . . . . . 39
8.3. Playlist with encrypted Media Segments . . . . . . . . . 39
8.4. Master Playlist . . . . . . . . . . . . . . . . . . . . . 40
8.5. Master Playlist with I-Frames . . . . . . . . . . . . . . 40
8.6. Master Playlist with Alternative audio . . . . . . . . . 41
8.7. Master Playlist with Alternative video . . . . . . . . . 41
8.8. Session Data in a Master Playlist . . . . . . . . . . . . 42
9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 43
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43
11. Security Considerations . . . . . . . . . . . . . . . . . . . 44
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 44
12.1. Normative References . . . . . . . . . . . . . . . . . . 44
12.2. Informative References . . . . . . . . . . . . . . . . . 46
Authors’ Addresses . . . . . . . . . . . . . . . . . . . . . . . 47
1
. Introduction to HTTP Live Streaming
HTTP Live Streaming provides a reliable, cost-effective means of
delivering continuous and long-form video over the Internet. It
allows a receiver to adapt the bit rate of the media to the current
network conditions in order to maintain uninterrupted playback at the
best possible quality. It supports interstitial content boundaries.
It provides a flexible framework for media encryption. It can
efficiently offer multiple renditions of the same content, such as
audio translations. It offers compatibility with large-scale HTTP
caching infrastructure to support delivery to large audiences.
Since its first draft publication in 2009, HTTP Live Streaming has
been implemented and deployed by a wide array of content producers,
tools vendors, distributors, and device manufacturers.
The purpose of this document is to facilitate interoperability
between HTTP Live Streaming implementations by describing the media
Pantos & May Expires April 17, 2015 [Page 3]
Internet-Draft HTTP Live Streaming October 2014
transmission protocol. Using this protocol, a client can receive a
continuous stream of media from a server for concurrent presentation.
This document describes version 7 of the protocol.
2. Overview
A multimedia presentation is specified by a Uniform Resource
Identifier (URI) [
RFC3986] to a Playlist.
A Playlist is either a Media Playlist or a Master Playlist. Both are
text files containing URIs and descriptive tags.
A Media Playlist contains a list of Media Segments, which when played
sequentially will play the multimedia presentation.
Here is an example of a Media Playlist:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:9.009,
http://media.example.com/first.ts
#EXTINF:9.009,
http://media.example.com/second.ts
#EXTINF:3.003,
http://media.example.com/third.ts
The first line is the format identifier tag #EXTM3U. The line
containing #EXT-X-TARGETDURATION says that all Media Segments will be
10 seconds long or less. Then three Media Segments are declared.
The first and second are 9.009 seconds long; the third is 3.003
seconds.
To play this Playlist, the client first downloads it and then
downloads and plays each Media Segment declared within it. The
client reloads the Playlist as described in this document to discover
any added segments. Data is usually carried over HTTP [
RFC7230], but
in general a URI can specify any protocol that can reliably transfer
the specified resource on demand.
A more complex presentation can be described by a Master Playlist. A
Master Playlist provides a set of Variant Streams, each of which
describes a different version of the same content.
A Variant Stream includes a Media Playlist that specifies media
encoded at a particular bit rate, in a particular format, and at a
particular resolution for media containing video.
Pantos & May Expires April 17, 2015 [Page 4]
Internet-Draft HTTP Live Streaming October 2014
A Variant Stream can also specify a set of Renditions. Renditions
are alternate versions of the content, such as audio produced in
different languages or video recorded from different camera angles.
Players can switch between the different Variant Streams and
Renditions to adapt to network conditions and user preferences.
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
RFC 2119 [RFC2119].
3. Media Segments
A Media Playlist contains a series of Media Segments which make up
the overall presentation. A Media Segment is specified by a URI and
optionally a byte range.
The duration of each Media Segment is indicated in the Media Playlist
by its EXTINF tag (
Section 4.3.2.1).
Each segment in a Media Playlist has a unique integer Media Sequence
Number. The Media Sequence Number of the first segment in the
playlist is either 0, or declared in the Playlist (
Section 4.3.3.2).
The Media Sequence Number of every other segment is equal to the
Media Sequence Number of the segment that precedes it plus one.
Each Media Segment MUST be formatted as an MPEG-2 Transport Stream
[
ISO_13818], an MPEG audio elementary stream [ISO_11172], or a WebVTT
[
WebVTT] file. Transport of other media file formats is not defined.
Some media formats require that a parser be initialized with a common
sequence of bytes before a Media Segment can be parsed. This format-
specific sequence is called the Media Initialization Section. The
Media Initialization Section of an MPEG-2 Transport Stream segment is
the Program Association Table (PAT) followed by the Program Map
Table (PMT). The Media Initialization Section of a WebVTT segment is
the WebVTT header. An audio elementary stream has no Media
Initialization Section.
Transport Stream segments MUST contain a single MPEG-2 Program;
playback of Multi-Program Transport Streams is not defined. Each
Transport Stream segment SHOULD contain a PAT and a PMT at the start
of the segment - or have a Media Initialization Section declared in
the Media Playlist (
Section 4.3.2.5). Transport Stream packets read
before a corresponding PAT/PMT can be discarded.
Pantos & May Expires April 17, 2015 [Page 5]
剩余46页未读,继续阅读
安素丶
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 保险服务门店新年工作计划PPT.pptx
- 车辆安全工作计划PPT.pptx
- ipqc工作总结PPT.pptx
- 车间员工上半年工作总结PPT.pptx
- 保险公司员工的工作总结PPT.pptx
- 报价工作总结PPT.pptx
- 冲压车间实习工作总结PPT.pptx
- ktv周工作总结PPT.pptx
- 保育院总务工作计划PPT.pptx
- xx年度现代教育技术工作总结PPT.pptx
- 出纳的年终总结PPT.pptx
- 贝贝班班级工作计划PPT.pptx
- 变电值班员技术个人工作总结PPT.pptx
- 大学生读书活动策划书PPT.pptx
- 财务出纳月工作总结PPT.pptx
- 大学生“三支一扶”服务期满工作总结(2)PPT.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功