Independent Submission                                    R. Pantos, Ed.
Request for Comments: 8216                                   Apple, Inc.
Category: Informational                                           W. May
ISSN: 2070-1721                                       MLB Advanced Media
                                                             August 2017

HTTP Live Streaming




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 document is not an Internet Standards Track specification; it is published for informational purposes.

このドキュメントはInternet Standards Trackの仕様ではありません。情報提供を目的として公開されています。

This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not a candidate for any level of Internet Standard; see Section 2 of RFC 7841.

これは、他のRFCストリームとは関係なく、RFCシリーズへの貢献です。 RFC Editorは、このドキュメントを独自の裁量で公開することを選択し、実装または展開に対するその価値については何も述べていません。 RFC Editorによって公開が承認されたドキュメントは、どのレベルのインターネット標準の候補にもなりません。 RFC 7841のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at


Copyright Notice


Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2017 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents ( 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.

この文書は、BCP 78およびこの文書の発行日に有効なIETF文書に関するIETFトラストの法的規定(の対象となります。これらのドキュメントは、このドキュメントに関するお客様の権利と制限について説明しているため、注意深くお読みください。

This document may not be modified, and derivative works of it may not be created, except to format it for publication as an RFC or to translate it into languages other than English.


Table of Contents


   1. Introduction to HTTP Live Streaming .............................4
   2. Overview ........................................................4
   3. Media Segments ..................................................6
      3.1. Supported Media Segment Formats ............................6
      3.2. MPEG-2 Transport Streams ...................................7
      3.3. Fragmented MPEG-4 ..........................................7
      3.4. Packed Audio ...............................................8
      3.5. WebVTT .....................................................8
   4. Playlists .......................................................9
      4.1. Definition of a Playlist ..................................10
      4.2. Attribute Lists ...........................................11
      4.3. Playlist Tags .............................................12
           4.3.1. Basic Tags .........................................12
         EXTM3U ....................................12
         EXT-X-VERSION .............................12
           4.3.2. Media Segment Tags .................................13
         EXTINF ....................................13
         EXT-X-BYTERANGE ...........................14
         EXT-X-DISCONTINUITY .......................14
         EXT-X-KEY .................................15
         EXT-X-MAP .................................17
         EXT-X-PROGRAM-DATE-TIME ...................18
         EXT-X-DATERANGE ...........................18
                  Mapping SCTE-35 into
                                      EXT-X-DATERANGE ................20
           4.3.3. Media Playlist Tags ................................22
         EXT-X-TARGETDURATION ......................22
         EXT-X-MEDIA-SEQUENCE ......................22
         EXT-X-DISCONTINUITY-SEQUENCE ..............23
         EXT-X-ENDLIST .............................23
         EXT-X-PLAYLIST-TYPE .......................24
         EXT-X-I-FRAMES-ONLY .......................24
           4.3.4. Master Playlist Tags ...............................25
         EXT-X-MEDIA ...............................25
                  Rendition Groups ...............28
         EXT-X-STREAM-INF ..........................29
                  Alternative Renditions .........32
         EXT-X-I-FRAME-STREAM-INF ..................33
         EXT-X-SESSION-DATA ........................34
         EXT-X-SESSION-KEY .........................35
           4.3.5. Media or Master Playlist Tags ......................35
         EXT-X-INDEPENDENT-SEGMENTS ................35
         EXT-X-START ...............................36
   5. Key Files ......................................................37
      5.1. Structure of Key Files ....................................37
      5.2. IV for AES-128 ............................................37
   6. Client/Server Responsibilities .................................37
      6.1. Introduction ..............................................37
      6.2. Server Responsibilities ...................................37
           6.2.1. General Server Responsibilities ....................37
           6.2.2. Live Playlists .....................................40
           6.2.3. Encrypting Media Segments ..........................41
           6.2.4. Providing Variant Streams ..........................42
      6.3. Client Responsibilities ...................................44
           6.3.1. General Client Responsibilities ....................44
           6.3.2. Loading the Media Playlist File ....................44
           6.3.3. Playing the Media Playlist File ....................45
           6.3.4. Reloading the Media Playlist File ..................46
           6.3.5. Determining the Next Segment to Load ...............47
           6.3.6. Decrypting Encrypted Media Segments ................47
   7. Protocol Version Compatibility .................................48
   8. Playlist Examples ..............................................50
      8.1. Simple Media Playlist .....................................50
      8.2. Live Media Playlist Using HTTPS ...........................50
      8.3. Playlist with Encrypted Media Segments ....................51
      8.4. Master Playlist ...........................................51
      8.5. Master Playlist with I-Frames .............................51
      8.6. Master Playlist with Alternative Audio ....................52
      8.7. Master Playlist with Alternative Video ....................52
      8.8. Session Data in a Master Playlist .........................53
      8.9. CHARACTERISTICS Attribute Containing Multiple
           Characteristics ...........................................54
      8.10. EXT-X-DATERANGE Carrying SCTE-35 Tags ....................54
   9. IANA Considerations ............................................54
   10. Security Considerations .......................................55
   11. References ....................................................56
      11.1. Normative References .....................................56
      11.2. Informative References ...................................59
   Contributors ......................................................60
   Authors' Addresses ................................................60
1. Introduction to HTTP Live Streaming
1. HTTPライブストリーミングの概要

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 the Internet-Draft was first posted in 2009, HTTP Live Streaming has been implemented and deployed by a wide array of content producers, tools vendors, distributors, and device manufacturers. In the subsequent eight years, the protocol has been refined by extensive review and discussion with a variety of media streaming implementors.


The purpose of this document is to facilitate interoperability between HTTP Live Streaming implementations by describing the media 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
2. 概観

A multimedia presentation is specified by a Uniform Resource Identifier (URI) [RFC3986] to a Playlist.

マルチメディアプレゼンテーションは、再生リストに対するUniform Resource Identifier(URI)[RFC3986]によって指定されます。

A Playlist is either a Media Playlist or a Master Playlist. Both are UTF-8 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:





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.

1行目は、フォーマットIDタグ#EXTM3Uです。 #EXT-X-TARGETDURATIONを含む行は、すべてのメディアセグメントの長さが10秒以下になることを示しています。次に、3つのメディアセグメントが宣言されます。最初と2番目は9.009秒の長さです。 3番目は3.003秒です。

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 SHOULD be carried over HTTP [RFC7230], but, in general, a URI can specify any protocol that can reliably transfer the specified resource on demand.

このプレイリストを再生するには、クライアントはまずそれをダウンロードしてから、その中で宣言されている各メディアセグメントをダウンロードして再生します。クライアントは、このドキュメントで説明されているようにプレイリストをリロードして、追加されたセグメントを検出します。データはHTTP [RFC7230]を介して伝送する必要がありますが、通常、URIは、指定されたリソースをオンデマンドで確実に転送できる任意のプロトコルを指定できます。

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.


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.


Clients should switch between different Variant Streams to adapt to network conditions. Clients should choose Renditions based on user preferences.


The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。

3. Media Segments
3. メディアセグメント

A Media Playlist contains a series of Media Segments that 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


Each segment in a Media Playlist has a unique integer Media Sequence Number. The Media Sequence Number of the first segment in the Media Playlist is either 0 or declared in the Playlist (Section 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 carry the continuation of the encoded bitstream from the end of the segment with the previous Media Sequence Number, where values in a series such as timestamps and Continuity Counters MUST continue uninterrupted. The only exceptions are the first Media Segment ever to appear in a Media Playlist and Media Segments that are explicitly signaled as discontinuities (Section Unmarked media discontinuities can trigger playback errors.


Any Media Segment that contains video SHOULD include enough information to initialize a video decoder and decode a continuous set of frames that includes the final frame in the Segment; network efficiency is optimized if there is enough information in the Segment to decode all frames in the Segment. For example, any Media Segment containing H.264 video SHOULD contain an Instantaneous Decoding Refresh (IDR); frames prior to the first IDR will be downloaded but possibly discarded.


3.1. Supported Media Segment Formats
3.1. サポートされているメディアセグメント形式

All Media Segments MUST be in a format described in this section. Transport of other media file formats is not defined.


Some media formats require a common sequence of bytes to initialize a parser before a Media Segment can be parsed. This format-specific sequence is called the Media Initialization Section. The Media Initialization Section can be specified by an EXT-X-MAP tag (Section The Media Initialization Section MUST NOT contain sample data.


3.2. MPEG-2 Transport Streams
3.2. MPEG-2トランスポートストリーム

MPEG-2 Transport Streams are specified by [ISO_13818].


The Media Initialization Section of an MPEG-2 Transport Stream Segment is a Program Association Table (PAT) followed by a Program Map Table (PMT).


Transport Stream Segments MUST contain a single MPEG-2 Program; playback of Multi-Program Transport Streams is not defined. Each Transport Stream Segment MUST contain a PAT and a PMT, or have an EXT-X-MAP tag (Section applied to it. The first two Transport Stream packets in a Segment without an EXT-X-MAP tag SHOULD be a PAT and a PMT.

トランスポートストリームセグメントには、単一のMPEG-2プログラムを含める必要があります。マルチプログラムトランスポートストリームの再生は定義されていません。各トランスポートストリームセグメントにはPATとPMTが含まれているか、またはEXT-X-MAPタグ(セクション4.3.2.5)が適用されている必要があります。 EXT-X-MAPタグのないセグメントの最初の2つのトランスポートストリームパケットは、PATおよびPMTである必要があります。

3.3. Fragmented MPEG-4
3.3. 断片化されたMPEG-4

MPEG-4 Fragments are specified by the ISO Base Media File Format [ISOBMFF]. Unlike regular MPEG-4 files that have a Movie Box ('moov') that contains sample tables and a Media Data Box ('mdat') containing the corresponding samples, an MPEG-4 Fragment consists of a Movie Fragment Box ('moof') containing a subset of the sample table and a Media Data Box containing those samples. Use of MPEG-4 Fragments does require a Movie Box for initialization, but that Movie Box contains only non-sample-specific information such as track and sample descriptions.

MPEG-4フラグメントは、ISO Base Media File Format [ISOBMFF]で指定されています。サンプルテーブルを含むムービーボックス( 'moov')と対応するサンプルを含むメディアデータボックス( 'mdat')を持つ通常のMPEG-4ファイルとは異なり、MPEG-4フラグメントは、ムービーフラグメントボックス( 'moof')で構成されます。 )サンプルテーブルのサブセットとそれらのサンプルを含むメディアデータボックスが含まれています。 MPEG-4フラグメントを使用するには、初期化にムービーボックスが必要ですが、そのムービーボックスには、トラックやサンプルの説明など、サンプル固有ではない情報のみが含まれています。

A Fragmented MPEG-4 (fMP4) Segment is a "segment" as defined by Section 3 of [ISOBMFF], including the constraints on Media Data Boxes in Section 8.16 of [ISOBMFF].


The Media Initialization Section for an fMP4 Segment is an ISO Base Media File that can initialize a parser for that Segment.


Broadly speaking, fMP4 Segments and Media Initialization Sections are [ISOBMFF] files that also satisfy the constraints described in this section.


The Media Initialization Section for an fMP4 Segment MUST contain a File Type Box ('ftyp') containing a brand that is compatible with 'iso6' or higher. The File Type Box MUST be followed by a Movie Box. The Movie Box MUST contain a Track Box ('trak') for every Track Fragment Box ('traf') in the fMP4 Segment, with matching track_ID. Each Track Box SHOULD contain a sample table, but its sample count MUST be zero. Movie Header Boxes ('mvhd') and Track Header Boxes ('tkhd') MUST have durations of zero. A Movie Extends Box ('mvex') MUST follow the last Track Box. Note that a Common Media Application Format (CMAF) Header [CMAF] meets all these requirements.

fMP4セグメントのメディア初期化セクションには、「iso6」以上と互換性のあるブランドを含むファイルタイプボックス(「ftyp」)を含める必要があります。ファイルタイプボックスの後にムービーボックスを配置する必要があります。ムービーボックスには、fMP4セグメント内のすべてのトラックフラグメントボックス( 'traf')に対応するtrack_IDを持つトラックボックス( 'trak')が含まれている必要があります。各トラックボックスにはサンプルテーブルが含まれている必要があります(SHOULD)が、そのサンプル数はゼロでなければなりません。ムービーヘッダーボックス( 'mvhd')およびトラックヘッダーボックス( 'tkhd')の継続時間はゼロでなければなりません。ムービー拡張ボックス( 'mvex')は、最後のトラックボックスの後に続く必要があります。 Common Media Application Format(CMAF)ヘッダー[CMAF]は、これらすべての要件を満たしていることに注意してください。

In an fMP4 Segment, every Track Fragment Box MUST contain a Track Fragment Decode Time Box ('tfdt'). fMP4 Segments MUST use movie-fragment-relative addressing. fMP4 Segments MUST NOT use external data references. Note that a CMAF Segment meets these requirements.

fMP4セグメントでは、すべてのトラックフラグメントボックスにトラックフラグメントデコードタイムボックス( 'tfdt')を含める必要があります。 fMP4セグメントは、movie-fragment-relativeアドレッシングを使用する必要があります。 fMP4セグメントは、外部データ参照を使用してはなりません。 CMAFセグメントはこれらの要件を満たしていることに注意してください。

An fMP4 Segment in a Playlist containing the EXT-X-I-FRAMES-ONLY tag (Section MAY omit the portion of the Media Data Box following the intra-coded frame (I-frame) sample data.


Each fMP4 Segment in a Media Playlist MUST have an EXT-X-MAP tag applied to it.


3.4. Packed Audio
3.4. パックオーディオ

A Packed Audio Segment contains encoded audio samples and ID3 tags that are simply packed together with minimal framing and no per-sample timestamps. Supported Packed Audio formats are Advanced Audio Coding (AAC) with Audio Data Transport Stream (ADTS) framing [ISO_13818_7], MP3 [ISO_13818_3], AC-3 [AC_3], and Enhanced AC-3 [AC_3].

パックオーディオセグメントには、エンコードされたオーディオサンプルとID3タグが含まれています。これらは最小限のフレーミングで単純にパックされ、サンプルごとのタイムスタンプはありません。サポートされているパックオーディオ形式は、オーディオデータトランスポートストリーム(ADTS)フレーミング[ISO_13818_7]、MP3 [ISO_13818_3]、AC-3 [AC_3]、および拡張AC-3 [AC_3]を備えたAdvanced Audio Coding(AAC)です。

A Packed Audio Segment has no Media Initialization Section.


Each Packed Audio Segment MUST signal the timestamp of its first sample with an ID3 Private frame (PRIV) tag [ID3] at the beginning of the segment. The ID3 PRIV owner identifier MUST be "". The ID3 payload MUST be a 33-bit MPEG-2 Program Elementary Stream timestamp expressed as a big-endian eight-octet number, with the upper 31 bits set to zero. Clients SHOULD NOT play Packed Audio Segments without this ID3 tag.

各パックドオーディオセグメントは、最初のサンプルのタイムスタンプをセグメントの先頭にID3プライベートフレーム(PRIV)タグ[ID3]で通知する必要があります。 ID3 PRIV所有者識別子は「」でなければなりません。 ID3ペイロードは、ビッグエンディアンの8オクテット数で表される33ビットのMPEG-2 Program Elementary Streamタイムスタンプである必要があり、上位31ビットはゼロに設定されています。クライアントは、このID3タグのないパックオーディオセグメントを再生してはなりません。

3.5. WebVTT
3.5. WebVTT

A WebVTT Segment is a section of a WebVTT [WebVTT] file. WebVTT Segments carry subtitles.

WebVTTセグメントは、WebVTT [WebVTT]ファイルのセクションです。 WebVTTセグメントには字幕があります。

The Media Initialization Section of a WebVTT Segment is the WebVTT header.


Each WebVTT Segment MUST contain all subtitle cues that are intended to be displayed during the period indicated by the segment EXTINF duration. The start time offset and end time offset of each cue MUST indicate the total display time for that cue, even if part of the cue time range is outside the Segment period. A WebVTT Segment MAY contain no cues; this indicates that no subtitles are to be displayed during that period.

各WebVTTセグメントには、セグメントEXTINF期間で示される期間中に表示されることを目的としたすべての字幕キューが含まれている必要があります。各キューの開始時間オフセットと終了時間オフセットは、キュー時間範囲の一部がセグメント期間外であっても、そのキューの合計表示時間を示さなければなりません(MUST)。 WebVTTセグメントにはキューが含まれない場合があります。これは、その期間は字幕が表示されないことを示しています。

Each WebVTT Segment MUST either start with a WebVTT header or have an EXT-X-MAP tag applied to it.


In order to synchronize timestamps between audio/video and subtitles, an X-TIMESTAMP-MAP metadata header SHOULD be added to each WebVTT header. This header maps WebVTT cue timestamps to MPEG-2 (PES) timestamps in other Renditions of the Variant Stream. Its format is:


   X-TIMESTAMP-MAP=LOCAL:<cue time>,MPEGTS:<MPEG-2 time>
   e.g., X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

The cue timestamp in the LOCAL attribute MAY fall outside the range of time covered by the segment.


If a WebVTT segment does not have the X-TIMESTAMP-MAP, the client MUST assume that the WebVTT cue time of 0 maps to an MPEG-2 timestamp of 0.


When synchronizing WebVTT with PES timestamps, clients SHOULD account for cases where the 33-bit PES timestamps have wrapped and the WebVTT cue times have not.


4. Playlists
4. プレイリスト

This section describes the Playlist files used by HTTP Live Streaming. In this section, "MUST" and "MUST NOT" specify the rules for the syntax and structure of legal Playlist files. Playlists that violate these rules are invalid; clients MUST fail to parse them. See Section 6.3.2.

このセクションでは、HTTPライブストリーミングで使用されるプレイリストファイルについて説明します。このセクションでは、「MUST」と「MUST NOT」で、有効なプレイリストファイルの構文と構造のルールを指定します。これらのルールに違反するプレイリストは無効です。クライアントはそれらの解析に失敗する必要があります。セクション6.3.2を参照してください。

The format of the Playlist files is derived from the M3U [M3U] playlist file format and inherits two tags from that earlier file format: EXTM3U (Section and EXTINF (Section

プレイリストファイルの形式は、M3U [M3U]プレイリストファイル形式から派生し、以前のファイル形式から2つのタグを継承します:EXTM3U(セクション4.3.1.1)およびEXTINF(セクション4.3.2.1)。

In the specification of tag syntax, a string enclosed by <> identifies a tag parameter; its specific format is described in its tag definition. If a parameter is further surrounded by [], it is optional; otherwise, it is required.


Each Playlist file MUST be identifiable either by the path component of its URI or by HTTP Content-Type. In the first case, the path MUST end with either .m3u8 or .m3u. In the second, the HTTP Content-Type MUST be "application/" or "audio/mpegurl". Clients SHOULD refuse to parse Playlists that are not so identified.

各プレイリストファイルは、そのURIのパスコンポーネントまたはHTTP Content-Typeのいずれかによって識別可能でなければなりません。最初のケースでは、パスは.m3u8または.m3uで終わる必要があります。 2番目の場合、HTTP Content-Typeは「application /」または「audio / mpegurl」でなければなりません。クライアントは、そのように識別されていないプレイリストの解析を拒否する必要があります。

4.1. Definition of a Playlist
4.1. プレイリストの定義

Playlist files MUST be encoded in UTF-8 [RFC3629]. They MUST NOT contain any Byte Order Mark (BOM); clients SHOULD fail to parse Playlists that contain a BOM or do not parse as UTF-8. Playlist files MUST NOT contain UTF-8 control characters (U+0000 to U+001F and U+007F to U+009F), with the exceptions of CR (U+000D) and LF (U+000A). All character sequences MUST be normalized according to Unicode normalization form "NFC" [UNICODE]. Note that US-ASCII [US_ASCII] conforms to these rules.

プレイリストファイルはUTF-8 [RFC3629]でエンコードする必要があります。バイトオーダーマーク(BOM)を含めることはできません。クライアントは、BOMを含む、またはUTF-8として解析しないプレイリストの解析に失敗する必要があります(SHOULD)。プレイリストファイルには、CR(U + 000D)およびLF(U + 000A)を除いて、UTF-8制御文字(U + 0000からU + 001FおよびU + 007FからU + 009F)を含めてはなりません(MUST NOT)。すべての文字シーケンスは、Unicode正規化形式「NFC」[UNICODE]に従って正規化する必要があります。 US-ASCII [US_ASCII]はこれらの規則に準拠していることに注意してください。

Lines in a Playlist file are terminated by either a single line feed character or a carriage return character followed by a line feed character. Each line is a URI, is blank, or starts with the character '#'. Blank lines are ignored. Whitespace MUST NOT be present, except for elements in which it is explicitly specified.

プレイリストファイル内の行は、単一のラインフィード文字またはキャリッジリターン文字の後にラインフィード文字が続く形式で終了します。各行はURIであるか、空白であるか、文字「#」で始まります。空白行は無視されます。空白は、明示的に指定されている要素を除き、存在してはなりません(MUST NOT)。

Lines that start with the character '#' are either comments or tags. Tags begin with #EXT. They are case sensitive. All other lines that begin with '#' are comments and SHOULD be ignored.

文字「#」で始まる行はコメントまたはタグです。タグは#EXTで始まります。大文字と小文字が区別されます。 '#'で始まる他のすべての行はコメントであり、無視してください。

A URI line identifies a Media Segment or a Playlist file (see Section Each Media Segment is specified by a URI and the tags that apply to it.


A Playlist is a Media Playlist if all URI lines in the Playlist identify Media Segments. A Playlist is a Master Playlist if all URI lines in the Playlist identify Media Playlists. A Playlist MUST be either a Media Playlist or a Master Playlist; all other Playlists are invalid.


A URI in a Playlist, whether it is a URI line or part of a tag, MAY be relative. Any relative URI is considered to be relative to the URI of the Playlist that contains it.


The duration of a Media Playlist is the sum of the durations of the Media Segments within it.


The segment bit rate of a Media Segment is the size of the Media Segment divided by its EXTINF duration (Section Note that this includes container overhead but does not include overhead imposed by the delivery system, such as HTTP, TCP, or IP headers.


The peak segment bit rate of a Media Playlist is the largest bit rate of any contiguous set of segments whose total duration is between 0.5 and 1.5 times the target duration. The bit rate of a set is calculated by dividing the sum of the segment sizes by the sum of the segment durations.


The average segment bit rate of a Media Playlist is the sum of the sizes (in bits) of every Media Segment in the Media Playlist, divided by the Media Playlist duration. Note that this includes container overhead, but not HTTP or other overhead imposed by the delivery system.


4.2. Attribute Lists
4.2. 属性リスト

Certain tags have values that are attribute-lists. An attribute-list is a comma-separated list of attribute/value pairs with no whitespace.


An attribute/value pair has the following syntax:



AttributeName = AttributeValue

An AttributeName is an unquoted string containing characters from the set [A..Z], [0..9] and '-'. Therefore, AttributeNames contain only uppercase letters, not lowercase. There MUST NOT be any whitespace between the AttributeName and the '=' character, nor between the '=' character and the AttributeValue.

AttributeNameは、セット[A..Z]、[0..9]および '-'からの文字を含む引用符で囲まれていない文字列です。したがって、AttributeNamesには大文字のみが含まれ、小文字は含まれません。 AttributeNameと '='文字の間、および '='文字とAttributeValueの間には空白があってはなりません。

An AttributeValue is one of the following:


o decimal-integer: an unquoted string of characters from the set [0..9] expressing an integer in base-10 arithmetic in the range from 0 to 2^64-1 (18446744073709551615). A decimal-integer may be from 1 to 20 characters long.

o decimal-integer:0から2 ^ 64-1(18446744073709551615)の範囲で、基数10の算術の整数を表す、セット[0..9]からの引用符で囲まれていない文字列。 decimal-integerの長さは1〜20文字です。

o hexadecimal-sequence: an unquoted string of characters from the set [0..9] and [A..F] that is prefixed with 0x or 0X. The maximum length of a hexadecimal-sequence depends on its AttributeNames.

o hexadecimal-sequence:セット[0..9]および[A..F]からの引用符で囲まれていない文字列で、先頭に0xまたは0Xが付いています。 16進シーケンスの最大長は、そのAttributeNameによって異なります。

o decimal-floating-point: an unquoted string of characters from the set [0..9] and '.' that expresses a non-negative floating-point number in decimal positional notation.

o decimal-floating-point:セット[0..9]と '。'からの引用符で囲まれていない文字列負でない浮動小数点数を10進位置表記で表します。

o signed-decimal-floating-point: an unquoted string of characters from the set [0..9], '-', and '.' that expresses a signed floating-point number in decimal positional notation.

o signed-decimal-floating-point:セット[0..9]、 '-'、および '。'からの引用符で囲まれていない文字列これは、符号付き浮動小数点数を10進位置表記で表します。

o quoted-string: a string of characters within a pair of double quotes (0x22). The following characters MUST NOT appear in a quoted-string: line feed (0xA), carriage return (0xD), or double quote (0x22). Quoted-string AttributeValues SHOULD be constructed so that byte-wise comparison is sufficient to test two quoted-string AttributeValues for equality. Note that this implies case-sensitive comparison.

o quoted-string:二重引用符のペア(0x22)内の文字列。次の文字は、quoted-stringに使用してはいけません:改行(0xA)、復帰(0xD)、または二重引用符(0x22)。引用文字列のAttributeValuesは、2つの引用文字列のAttributeValueが等しいかどうかをテストするためにバイト単位の比較で十分であるように構築する必要があります(SHOULD)。これは、大文字と小文字を区別する比較を意味することに注意してください。

o enumerated-string: an unquoted character string from a set that is explicitly defined by the AttributeName. An enumerated-string will never contain double quotes ("), commas (,), or whitespace.

o enumerated-string:AttributeNameによって明示的に定義されているセットからの引用符で囲まれていない文字列。 enumerated-stringには、二重引用符( ")、コンマ(、)、または空白を含めることはできません。

o decimal-resolution: two decimal-integers separated by the "x" character. The first integer is a horizontal pixel dimension (width); the second is a vertical pixel dimension (height).

o decimal-resolution:「x」文字で区切られた2つの10進整数。最初の整数は水平方向のピクセル寸法(幅)です。 2番目は、垂直方向のピクセル寸法(高さ)です。

The type of the AttributeValue for a given AttributeName is specified by the attribute definition.


A given AttributeName MUST NOT appear more than once in a given attribute-list. Clients SHOULD refuse to parse such Playlists.

特定のAttributeNameは、特定の属性リストに複数回出現してはなりません(MUST NOT)。クライアントは、そのようなプレイリストの解析を拒否する必要があります。

4.3. Playlist Tags
4.3. プレイリストタグ

Playlist tags specify either global parameters of the Playlist or information about the Media Segments or Media Playlists that appear after them.


4.3.1. Basic Tags
4.3.1. 基本的なタグ

These tags are allowed in both Media Playlists and Master Playlists.

これらのタグは、メディアプレイリストとマスタープレイリストの両方で使用できます。 EXTM3U EXTM3U

The EXTM3U tag indicates that the file is an Extended M3U [M3U] Playlist file. It MUST be the first line of every Media Playlist and every Master Playlist. Its format is:

EXTM3Uタグは、ファイルが拡張M3U [M3U]プレイリストファイルであることを示します。すべてのメディアプレイリストとすべてのマスタープレイリストの最初の行である必要があります。その形式は次のとおりです。



The EXT-X-VERSION tag indicates the compatibility version of the Playlist file, its associated media, and its server.


The EXT-X-VERSION tag applies to the entire Playlist file. Its format is:



where n is an integer indicating the protocol compatibility version number.


It MUST appear in all Playlists containing tags or attributes that are not compatible with protocol version 1 to support interoperability with older clients. Section 7 specifies the minimum value of the compatibility version number for any given Playlist file.


A Playlist file MUST NOT contain more than one EXT-X-VERSION tag. If a client encounters a Playlist with multiple EXT-X-VERSION tags, it MUST fail to parse it.


4.3.2. Media Segment Tags
4.3.2. メディアセグメントタグ

Each Media Segment is specified by a series of Media Segment tags followed by a URI. Some Media Segment tags apply to just the next segment; others apply to all subsequent segments until another instance of the same tag.


A Media Segment tag MUST NOT appear in a Master Playlist. Clients MUST fail to parse Playlists that contain both Media Segment tags and Master Playlist tags (Section 4.3.4).

メディアセグメントタグは、マスタープレイリストに表示してはなりません。クライアントは、メディアセグメントタグとマスタープレイリストタグの両方を含むプレイリストの解析に失敗する必要があります(セクション4.3.4)。 EXTINF EXTINF

The EXTINF tag specifies the duration of a Media Segment. It applies only to the next Media Segment. This tag is REQUIRED for each Media Segment. Its format is:



where duration is a decimal-floating-point or decimal-integer number (as described in Section 4.2) that specifies the duration of the Media Segment in seconds. Durations SHOULD be decimal-floating-point, with enough accuracy to avoid perceptible error when segment durations are accumulated. However, if the compatibility version number is less than 3, durations MUST be integers. Durations that are reported as integers SHOULD be rounded to the nearest integer. The remainder of the line following the comma is an optional human-readable informative title of the Media Segment expressed as UTF-8 text.

ここで、durationは、メディアセグメントの期間を秒単位で指定する10進浮動小数点数または10進整数(セクション4.2で説明)です。期間は10進浮動小数点数である必要があり(SHOULD)、セグメントの期間が累積されたときに認識できるエラーを回避するのに十分な精度があります。ただし、互換バージョン番号が3未満の場合、期間は整数でなければなりません。整数として報告される期間は、最も近い整数に丸める必要があります(SHOULD)。コンマに続く行の残りの部分は、UTF-8テキストとして表現された、メディアセグメントのオプションの人間が読める情報タイトルです。 EXT-X-BYTERANGE EXT-X-BYTERANGE

The EXT-X-BYTERANGE tag indicates that a Media Segment is a sub-range of the resource identified by its URI. It applies only to the next URI line that follows it in the Playlist. Its format is:



where n is a decimal-integer indicating the length of the sub-range in bytes. If present, o is a decimal-integer indicating the start of the sub-range, as a byte offset from the beginning of the resource. If o is not present, the sub-range begins at the next byte following the sub-range of the previous Media Segment.

ここで、nは、サブ範囲の長さをバイト単位で示す10進整数です。存在する場合、oは、リソースの先頭からのバイトオフセットとして、サブ範囲の開始を示す10進整数です。 oが存在しない場合、サブ範囲は、前のメディアセグメントのサブ範囲に続く次のバイトから始まります。

If o is not present, a previous Media Segment MUST appear in the Playlist file and MUST be a sub-range of the same media resource, or the Media Segment is undefined and the client MUST fail to parse the Playlist.


A Media Segment without an EXT-X-BYTERANGE tag consists of the entire resource identified by its URI.


Use of the EXT-X-BYTERANGE tag REQUIRES a compatibility version number of 4 or greater.


The EXT-X-DISCONTINUITY tag indicates a discontinuity between the Media Segment that follows it and the one that preceded it.


Its format is:




The EXT-X-DISCONTINUITY tag MUST be present if there is a change in any of the following characteristics:


o file format

o ファイルフォーマット

o number, type, and identifiers of tracks

o トラックの数、タイプ、および識別子

o timestamp sequence The EXT-X-DISCONTINUITY tag SHOULD be present if there is a change in any of the following characteristics:

o タイムスタンプシーケンスEXT-X-DISCONTINUITYタグは、次のいずれかの特性に変更がある場合に存在する必要があります。

o encoding parameters

o エンコーディングパラメータ

o encoding sequence

o エンコードシーケンス

See Sections 3, 6.2.1, and 6.3.3 for more information about the EXT-X-DISCONTINUITY tag.

EXT-X-DISCONTINUITYタグの詳細については、セクション3、6.2.1、および6.3.3を参照してください。 EXT-X-KEY EXT-X-KEY

Media Segments MAY be encrypted. The EXT-X-KEY tag specifies how to decrypt them. It applies to every Media Segment and to every Media Initialization Section declared by an EXT-X-MAP tag that appears between it and the next EXT-X-KEY tag in the Playlist file with the same KEYFORMAT attribute (or the end of the Playlist file). Two or more EXT-X-KEY tags with different KEYFORMAT attributes MAY apply to the same Media Segment if they ultimately produce the same decryption key. The format is:

メディアセグメントは暗号化される場合があります。 EXT-X-KEYタグは、それらを復号化する方法を指定します。これは、すべてのメディアセグメント、および同じKEYFORMAT属性を持つプレイリストファイル内の次のEXT-X-KEYタグとその間にあるEXT-X-MAPタグによって宣言されたすべてのメディア初期化セクション(またはプレイリストの最後)に適用されます。ファイル)。異なるKEYFORMAT属性を持つ2つ以上のEXT-X-KEYタグは、最終的に同じ復号化キーを生成する場合、同じメディアセグメントに適用される場合があります。形式は次のとおりです。


The following attributes are defined:




The value is an enumerated-string that specifies the encryption method. This attribute is REQUIRED.


The methods defined are: NONE, AES-128, and SAMPLE-AES.


An encryption method of NONE means that Media Segments are not encrypted. If the encryption method is NONE, other attributes MUST NOT be present.

暗号化方式がNONEの場合、メディアセグメントは暗号化されません。暗号化方式がNONEの場合、他の属性が存在してはなりません(MUST NOT)。

An encryption method of AES-128 signals that Media Segments are completely encrypted using the Advanced Encryption Standard (AES) [AES_128] with a 128-bit key, Cipher Block Chaining (CBC), and Public-Key Cryptography Standards #7 (PKCS7) padding [RFC5652]. CBC is restarted on each segment boundary, using either the Initialization Vector (IV) attribute value or the Media Sequence Number as the IV; see Section 5.2.

メディアセグメントがAdvanced Encryption Standard(AES)[AES_128]と128ビットキー、暗号ブロックチェーン(CBC)、および公開キー暗号化標準#7(PKCS7)を使用して完全に暗号化されているAES-128信号の暗号化方法パディング[RFC5652]。 CBCは、初期化ベクトル(IV)属性値またはメディアシーケンス番号をIVとして使用して、各セグメント境界で再起動されます。セクション5.2を参照してください。

An encryption method of SAMPLE-AES means that the Media Segments contain media samples, such as audio or video, that are encrypted using the Advanced Encryption Standard [AES_128]. How these media streams are encrypted and encapsulated in a segment depends on the media encoding and the media format of the segment. fMP4 Media Segments are encrypted using the 'cbcs' scheme of Common Encryption [COMMON_ENC]. Encryption of other Media Segment formats containing H.264 [H_264], AAC [ISO_14496], AC-3 [AC_3], and Enhanced AC-3 [AC_3] media streams is described in the HTTP Live Streaming (HLS) Sample Encryption specification [SampleEnc]. The IV attribute MAY be present; see Section 5.2.

SAMPLE-AESの暗号化方式は、メディアセグメントに、Advanced Encryption Standard [AES_128]を使用して暗号化されたオーディオやビデオなどのメディアサンプルが含まれていることを意味します。これらのメディアストリームが暗号化されてセグメントにカプセル化される方法は、メディアエンコーディングとセグメントのメディアフォーマットによって異なります。 fMP4メディアセグメントは、Common Encryption [COMMON_ENC]の「cbcs」スキームを使用して暗号化されます。 H.264 [H_264]、AAC [ISO_14496]、AC-3 [AC_3]、および拡張AC-3 [AC_3]メディアストリームを含む他のメディアセグメント形式の暗号化は、HTTPライブストリーミング(HLS)サンプル暗号化仕様で説明されています[ SampleEnc]。 IV属性が存在してもよい(MAY)。セクション5.2を参照してください。



The value is a quoted-string containing a URI that specifies how to obtain the key. This attribute is REQUIRED unless the METHOD is NONE.

値は、キーの取得方法を指定するURIを含む引用文字列です。 METHODがNONEでない限り、この属性は必須です。



The value is a hexadecimal-sequence that specifies a 128-bit unsigned integer Initialization Vector to be used with the key. Use of the IV attribute REQUIRES a compatibility version number of 2 or greater. See Section 5.2 for when the IV attribute is used.

値は、鍵で使用される128ビットの符号なし整数の初期化ベクトルを指定する16進シーケンスです。 IV属性を使用するには、互換性のあるバージョン番号2以上が必要です。 IV属性が使用される場合については、セクション5.2を参照してください。



The value is a quoted-string that specifies how the key is represented in the resource identified by the URI; see Section 5 for more detail. This attribute is OPTIONAL; its absence indicates an implicit value of "identity". Use of the KEYFORMAT attribute REQUIRES a compatibility version number of 5 or greater.

値は、URIで識別されるリソースでキーがどのように表されるかを指定する引用文字列です。詳細については、セクション5を参照してください。この属性はオプションです。存在しない場合は、「アイデンティティ」の暗黙の値を示します。 KEYFORMAT属性を使用するには、互換性のあるバージョン番号5以上が必要です。



The value is a quoted-string containing one or more positive integers separated by the "/" character (for example, "1", "1/2", or "1/2/5"). If more than one version of a particular KEYFORMAT is defined, this attribute can be used to indicate which version(s) this instance complies with. This attribute is OPTIONAL; if it is not present, its value is considered to be "1". Use of the KEYFORMATVERSIONS attribute REQUIRES a compatibility version number of 5 or greater.

値は、「/」文字で区切られた1つ以上の正の整数を含む引用符付き文字列です(たとえば、「1」、「1/2」、または「1/2/5」)。特定のKEYFORMATの複数のバージョンが定義されている場合、この属性を使用して、このインスタンスが準拠するバージョンを示すことができます。この属性はオプションです。存在しない場合、その値は「1」と見なされます。 KEYFORMATVERSIONS属性を使用するには、互換性のあるバージョン番号5以上が必要です。

If the Media Playlist file does not contain an EXT-X-KEY tag, then Media Segments are not encrypted.


See Section 5 for the format of the Key file and Sections 5.2, 6.2.3, and 6.3.6 for additional information on Media Segment encryption.

鍵ファイルの形式についてはセクション5を、メディアセグメント暗号化の詳細についてはセクション5.2、6.2.3、および6.3.6を参照してください。 EXT-X-MAP EXT-X-MAP

The EXT-X-MAP tag specifies how to obtain the Media Initialization Section (Section 3) required to parse the applicable Media Segments. It applies to every Media Segment that appears after it in the Playlist until the next EXT-X-MAP tag or until the end of the Playlist.


Its format is:



The following attributes are defined:




The value is a quoted-string containing a URI that identifies a resource that contains the Media Initialization Section. This attribute is REQUIRED.




The value is a quoted-string specifying a byte range into the resource identified by the URI attribute. This range SHOULD contain only the Media Initialization Section. The format of the byte range is described in Section This attribute is OPTIONAL; if it is not present, the byte range is the entire resource indicated by the URI.


An EXT-X-MAP tag SHOULD be supplied for Media Segments in Playlists with the EXT-X-I-FRAMES-ONLY tag when the first Media Segment (i.e., I-frame) in the Playlist (or the first segment following an EXT-X-DISCONTINUITY tag) does not immediately follow the Media Initialization Section at the beginning of its resource.

EXT-X-MAPタグは、プレイリストの最初のメディアセグメント(つまりIフレーム)がEXT-XI-FRAMES-ONLYタグのあるプレイリストのメディアセグメントに提供する必要があります(またはEXT-Xに続く最初のセグメント)。 -DISCONTINUITYタグ)は、リソースの先頭にあるメディア初期化セクションの直後に続きません。

Use of the EXT-X-MAP tag in a Media Playlist that contains the EXT-X-I-FRAMES-ONLY tag REQUIRES a compatibility version number of 5 or greater. Use of the EXT-X-MAP tag in a Media Playlist that DOES NOT contain the EXT-X-I-FRAMES-ONLY tag REQUIRES a compatibility version number of 6 or greater.

EXT-X-I-FRAMES-ONLYタグを含むメディアプレイリストでEXT-X-MAPタグを使用するには、互換性のあるバージョン番号5以上が必要です。 EXT-X-I-FRAMES-ONLYタグを含まないメディアプレイリストでEXT-X-MAPタグを使用するには、互換性のあるバージョン番号6以上が必要です。

If the Media Initialization Section declared by an EXT-X-MAP tag is encrypted with a METHOD of AES-128, the IV attribute of the EXT-X-KEY tag that applies to the EXT-X-MAP is REQUIRED.

EXT-X-MAPタグによって宣言されたメディア初期化セクションがAES-128のMETHODで暗号化されている場合、EXT-X-MAPに適用されるEXT-X-KEYタグのIV属性が必要です。 EXT-X-PROGRAM-DATE-TIME EXT-X-PROGRAM-DATE-TIME

The EXT-X-PROGRAM-DATE-TIME tag associates the first sample of a Media Segment with an absolute date and/or time. It applies only to the next Media Segment. Its format is:



where date-time-msec is an ISO/IEC 8601:2004 [ISO_8601] date/time representation, such as YYYY-MM-DDThh:mm:ss.SSSZ. It SHOULD indicate a time zone and fractional parts of seconds, to millisecond accuracy.

ここで、date-time-msecは、YYYY-MM-DDThh:mm:ss.SSSZなどのISO / IEC 8601:2004 [ISO_8601]日付/時刻表現です。タイムゾーンと秒の小数部をミリ秒の精度で示す必要があります。

For example:



See Sections 6.2.1 and 6.3.3 for more information on the EXT-X-PROGRAM-DATE-TIME tag.

EXT-X-PROGRAM-DATE-TIMEタグの詳細については、セクション6.2.1および6.3.3を参照してください。 EXT-X-DATERANGE EXT-X-DATERANGE

The EXT-X-DATERANGE tag associates a Date Range (i.e., a range of time defined by a starting and ending date) with a set of attribute/ value pairs. Its format is:



where the defined attributes are:




A quoted-string that uniquely identifies a Date Range in the Playlist. This attribute is REQUIRED.




A client-defined quoted-string that specifies some set of attributes and their associated value semantics. All Date Ranges with the same CLASS attribute value MUST adhere to these semantics. This attribute is OPTIONAL.




A quoted-string containing the ISO-8601 date at which the Date Range begins. This attribute is REQUIRED.




A quoted-string containing the ISO-8601 date at which the Date Range ends. It MUST be equal to or later than the value of the START-DATE attribute. This attribute is OPTIONAL.




The duration of the Date Range expressed as a decimal-floating-point number of seconds. It MUST NOT be negative. A single instant in time (e.g., crossing a finish line) SHOULD be represented with a duration of 0. This attribute is OPTIONAL.




The expected duration of the Date Range expressed as a decimal-floating-point number of seconds. It MUST NOT be negative. This attribute SHOULD be used to indicate the expected duration of a Date Range whose actual duration is not yet known. It is OPTIONAL.



X- <クライアント属性>

The "X-" prefix defines a namespace reserved for client-defined attributes. The client-attribute MUST be a legal AttributeName. Clients SHOULD use a reverse-DNS syntax when defining their own attribute names to avoid collisions. The attribute value MUST be a quoted-string, a hexadecimal-sequence, or a decimal-floating-point. An example of a client-defined attribute is X-COM-EXAMPLE-AD-ID="XYZ123". These attributes are OPTIONAL.

「X-」接頭辞は、クライアント定義の属性用に予約されている名前空間を定義します。 client-attributeは有効なAttributeNameである必要があります。クライアントは、衝突を回避するために独自の属性名を定義するときに逆DNS構文を使用する必要があります(SHOULD)。属性値は、引用符付き文字列、16進数シーケンス、または10進浮動小数点である必要があります。クライアント定義属性の例は、X-COM-EXAMPLE-AD-ID = "XYZ123"です。これらの属性はオプションです。



Used to carry SCTE-35 data; see Section for more information. These attributes are OPTIONAL.




An enumerated-string whose value MUST be YES. This attribute indicates that the end of the range containing it is equal to the START-DATE of its Following Range. The Following Range is the Date Range of the same CLASS that has the earliest START-DATE after the START-DATE of the range in question. This attribute is OPTIONAL.


An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST have a CLASS attribute. Other EXT-X-DATERANGE tags with the same CLASS attribute MUST NOT specify Date Ranges that overlap.

END-ON-NEXT = YES属性を持つEXT-X-DATERANGEタグには、CLASS属性が必要です。同じCLASS属性を持つ他のEXT-X-DATERANGEタグは、重複する日付範囲を指定してはなりません。

An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.


A Date Range with neither a DURATION, an END-DATE, nor an END-ON-NEXT=YES attribute has an unknown duration, even if it has a PLANNED-DURATION.

PLANNED-DURATIONが指定されていても、DURATION、END-DATE、END-ON-NEXT = YESのいずれの属性も指定されていない日付範囲の期間は不明です。

If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.


If a Playlist contains two EXT-X-DATERANGE tags with the same ID attribute value, then any AttributeName that appears in both tags MUST have the same AttributeValue.


If a Date Range contains both a DURATION attribute and an END-DATE attribute, the value of the END-DATE attribute MUST be equal to the value of the START-DATE attribute plus the value of the DURATION attribute.


Clients SHOULD ignore EXT-X-DATERANGE tags with illegal syntax.

クライアントは、不正な構文のEXT-X-DATERANGEタグを無視する必要があります(SHOULD)。 Mapping SCTE-35 into EXT-X-DATERANGE SCTE-35をEXT-X-DATERANGEにマッピングする

Splice information carried in source media according to the SCTE-35 specification [SCTE35] MAY be represented in a Media Playlist using EXT-X-DATERANGE tags.


Each SCTE-35 splice_info_section() containing a splice_null(), splice_schedule(), bandwidth_reservation(), or private_cmd() SHOULD be represented by an EXT-X-DATERANGE tag with an SCTE35-CMD attribute whose value is the big-endian binary representation of the splice_info_section(), expressed as a hexadecimal-sequence.

splice_null()、splice_schedule()、bandwidth_reservation()、またはprivate_cmd()を含む各SCTE-35 splice_info_section()は、値がビッグエンディアンバイナリであるSCTE35-CMD属性を持つEXT-X-DATERANGEタグで表す必要があります(SHOULD)。 16進シーケンスとして表されたsplice_info_section()の表現。

An SCTE-35 splice out/in pair signaled by a pair of splice_insert() commands SHOULD be represented by one or more EXT-X-DATERANGE tags carrying the same ID attribute, which MUST be unique to that splice out/in pair. The "out" splice_info_section() (with out_of_network_indicator set to 1) MUST be placed in an SCTE35-OUT attribute, with the same formatting as SCTE35-CMD. The "in" splice_info_section() (with out_of_network_indicator set to 0) MUST be placed in an SCTE35-IN attribute, with the same formatting as SCTE35-CMD.

splice_insert()コマンドのペアによって通知されるSCTE-35スプライスアウト/インペアは、同じID属性を持つ1つまたは複数のEXT-X-DATERANGEタグで表す必要があります(SHOULD)。このIDは、そのスプライスアウト/インペアに対して一意である必要があります。 "out" splice_info_section()(out_of_network_indicatorを1に設定)は、SCTE35-CMDと同じフォーマットで、SCTE35-OUT属性に配置する必要があります。 「in」splice_info_section()(out_of_network_indicatorを0に設定)は、SCTE35-CMDと同じフォーマットでSCTE35-IN属性に配置する必要があります。

   An SCTE-35 splice out/in pair signaled by a pair of time_signal()
   commands, each carrying a single segmentation_descriptor(), SHOULD be
   represented by one or more EXT-X-DATERANGE tags carrying the same ID
   attribute, which MUST be unique to that splice out/in pair.  The

"out" splice_info_section() MUST be placed in an SCTE35-OUT attribute; the "in" splice_info_section() MUST be placed in an SCTE35-IN attribute.

"out" splice_info_section()はSCTE35-OUT属性に配置する必要があります。 「in」splice_info_section()は、SCTE35-IN属性に配置する必要があります。

Different types of segmentation, as indicated by the segmentation_type_id in the segmentation_descriptor(), SHOULD be represented by separate EXT-X-DATERANGE tags, even if two or more segmentation_descriptor()s arrive in the same splice_info_section(). In that case, each EXT-X-DATERANGE tag will have an SCTE35-OUT, SCTE35-IN, or SCTE35-CMD attribute whose value is the entire splice_info_section().


An SCTE-35 time_signal() command that does not signal a splice out or in point SHOULD be represented by an EXT-X-DATERANGE tag with an SCTE35-CMD attribute.

スプライスアウトまたはインポイントを通知しないSCTE-35 time_signal()コマンドは、SCTE35-CMD属性を持つEXT-X-DATERANGEタグで表す必要があります(SHOULD)。

The START-DATE of an EXT-X-DATERANGE tag containing an SCTE35-OUT attribute MUST be the date and time that corresponds to the program time of that splice.


The START-DATE of an EXT-X-DATERANGE tag containing an SCTE35-CMD MUST be the date and time specified by the splice_time() in the command or the program time at which the command appeared in the source stream if the command does not specify a splice_time().

SCTE35-CMDを含むEXT-X-DATERANGEタグのSTART-DATEは、コマンド内のsplice_time()で指定された日時、またはコマンドがソースストリームに表示されなかった場合にコマンドがソースストリームに表示されたプログラム時間である必要があります。 splice_time()を指定します。

An EXT-X-DATERANGE tag containing an SCTE35-OUT attribute MAY contain a PLANNED-DURATION attribute. Its value MUST be the planned duration of the splice.


The DURATION of an EXT-X-DATERANGE tag containing an SCTE35-IN attribute MUST be the actual (not planned) program duration between the corresponding out-point and that in-point.


The END-DATE of an EXT-X-DATERANGE tag containing an SCTE35-IN attribute MUST be the actual (not planned) program date and time of that in-point.


If the actual end date and time is not known when an SCTE35-OUT attribute is added to the Playlist, the DURATION attribute and the END-TIME attribute MUST NOT be present; the actual end date of the splice SHOULD be signaled by another EXT-X-DATERANGE tag once it has been established.


A canceled splice SHOULD NOT appear in the Playlist as an EXT-X-DATERANGE tag.

キャンセルされたスプライスは、プレイリストにEXT-X-DATERANGEタグとして表示されるべきではありません(SHOULD NOT)。

An EXT-X-DATERANGE tag announcing a splice SHOULD be added to a Playlist at the same time as the last pre-splice Media Segment, or earlier if possible.


The ID attribute of an EXT-X-DATERANGE tag MAY contain a splice_event_id and/or a segmentation_event_id, but it MUST be unique in the Playlist. If there is a possibility that an SCTE-35 id will be reused, the ID attribute value MUST include disambiguation, such as a date or sequence number.

EXT-X-DATERANGEタグのID属性には、splice_event_idおよび/またはsegmentation_event_idを含めることができますが、プレイリスト内で一意にする必要があります。 SCTE-35 IDが再利用される可能性がある場合は、ID属性値に日付やシーケンス番号などの明確化を含める必要があります。

4.3.3. Media Playlist Tags
4.3.3. メディアプレイリストタグ

Media Playlist tags describe global parameters of the Media Playlist. There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist.


A Media Playlist tag MUST NOT appear in a Master Playlist.

メディアプレイリストタグは、マスタープレイリストに含めることはできません。 EXT-X-TARGETDURATION EXT-X-TARGETDURATION

The EXT-X-TARGETDURATION tag specifies the maximum Media Segment duration. The EXTINF duration of each Media Segment in the Playlist file, when rounded to the nearest integer, MUST be less than or equal to the target duration; longer segments can trigger playback stalls or other errors. It applies to the entire Playlist file. Its format is:



where s is a decimal-integer indicating the target duration in seconds. The EXT-X-TARGETDURATION tag is REQUIRED.


The EXT-X-MEDIA-SEQUENCE tag indicates the Media Sequence Number of the first Media Segment that appears in a Playlist file. Its format is:



where number is a decimal-integer.


If the Media Playlist file does not contain an EXT-X-MEDIA-SEQUENCE tag, then the Media Sequence Number of the first Media Segment in the Media Playlist SHALL be considered to be 0. A client MUST NOT assume that segments with the same Media Sequence Number in different Media Playlists contain matching content (see Section 6.3.2).


A URI for a Media Segment is not required to contain its Media Sequence Number.


See Sections 6.2.1 and 6.3.5 for more information on setting the EXT-X-MEDIA-SEQUENCE tag.


The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist.


The EXT-X-DISCONTINUITY-SEQUENCE tag allows synchronization between different Renditions of the same Variant Stream or different Variant Streams that have EXT-X-DISCONTINUITY tags in their Media Playlists.


Its format is:



where number is a decimal-integer.


If the Media Playlist does not contain an EXT-X-DISCONTINUITY-SEQUENCE tag, then the Discontinuity Sequence Number of the first Media Segment in the Playlist SHALL be considered to be 0.


The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist.




See Sections 6.2.1 and 6.2.2 for more information about setting the value of the EXT-X-DISCONTINUITY-SEQUENCE tag.

EXT-X-DISCONTINUITY-SEQUENCEタグの値の設定の詳細については、セクション6.2.1および6.2.2を参照してください。 EXT-X-ENDLIST EXT-X-ENDLIST

The EXT-X-ENDLIST tag indicates that no more Media Segments will be added to the Media Playlist file. It MAY occur anywhere in the Media Playlist file. Its format is:




The EXT-X-PLAYLIST-TYPE tag provides mutability information about the Media Playlist file. It applies to the entire Media Playlist file. It is OPTIONAL. Its format is:



where type-enum is either EVENT or VOD.


Section 6.2.1 defines the implications of the EXT-X-PLAYLIST-TYPE tag.


If the EXT-X-PLAYLIST-TYPE value is EVENT, Media Segments can only be added to the end of the Media Playlist. If the EXT-X-PLAYLIST-TYPE value is Video On Demand (VOD), the Media Playlist cannot change.

EXT-X-PLAYLIST-TYPE値がEVENTの場合、メディアセグメントはメディアプレイリストの最後にのみ追加できます。 EXT-X-PLAYLIST-TYPE値がビデオオンデマンド(VOD)の場合、メディアプレイリストは変更できません。

If the EXT-X-PLAYLIST-TYPE tag is omitted from a Media Playlist, the Playlist can be updated according to the rules in Section 6.2.1 with no additional restrictions. For example, a live Playlist (Section 6.2.2) MAY be updated to remove Media Segments in the order that they appeared.

EXT-X-PLAYLIST-TYPEタグがメディアプレイリストから省略されている場合、プレイリストはセクション6.2.1のルールに従って更新され、追加の制限はありません。たとえば、ライブプレイリスト(セクション6.2.2)を更新して、表示された順序でメディアセグメントを削除することができます。 EXT-X-I-FRAMES-ONLY EXT-X-I-FRAMES-ONLY

The EXT-X-I-FRAMES-ONLY tag indicates that each Media Segment in the Playlist describes a single I-frame. I-frames are encoded video frames whose encoding does not depend on any other frame. I-frame Playlists can be used for trick play, such as fast forward, rapid reverse, and scrubbing.

EXT-X-I-FRAMES-ONLYタグは、プレイリストの各メディアセグメントが単一のIフレームを記述することを示します。 Iフレームは、他のフレームに依存しないエンコードされたビデオフレームです。 Iフレームプレイリストは、早送り、早戻し、スクラブなどのトリックプレイに使用できます。

The EXT-X-I-FRAMES-ONLY tag applies to the entire Playlist. Its format is:




In a Playlist with the EXT-X-I-FRAMES-ONLY tag, the Media Segment duration (EXTINF tag value) is the time between the presentation time of the I-frame in the Media Segment and the presentation time of the next I-frame in the Playlist, or the end of the presentation if it is the last I-frame in the Playlist.


Media resources containing I-frame segments MUST begin with either a Media Initialization Section (Section 3) or be accompanied by an EXT-X-MAP tag indicating the Media Initialization Section so that clients can load and decode I-frame segments in any order. The byte range of an I-frame segment with an EXT-X-BYTERANGE tag applied to it (Section MUST NOT include its Media Initialization Section;

Iフレームセグメントを含むメディアリソースは、メディア初期化セクション(セクション3)で始まるか、クライアントが任意の順序でIフレームセグメントをロードおよびデコードできるように、メディア初期化セクションを示すEXT-X-MAPタグを伴う必要があります。 EXT-X-BYTERANGEタグが適用されたIフレームセグメントのバイト範囲(セクション4.3.2.2)には、そのメディア初期化セクションを含めることはできません。

clients can assume that the Media Initialization Section is defined by the EXT-X-MAP tag or is located from the start of the resource to the offset of the first I-frame segment in that resource.


Use of the EXT-X-I-FRAMES-ONLY REQUIRES a compatibility version number of 4 or greater.


4.3.4. Master Playlist Tags
4.3.4. マスタープレイリストタグ

Master Playlist tags define the Variant Streams, Renditions, and other global parameters of the presentation.


Master Playlist tags MUST NOT appear in a Media Playlist; clients MUST fail to parse any Playlist that contains both a Master Playlist tag and either a Media Playlist tag or a Media Segment tag.

マスタープレイリストタグは、メディアプレイリストに表示してはなりません。クライアントは、マスタープレイリストタグと、メディアプレイリストタグまたはメディアセグメントタグの両方を含むプレイリストの解析に失敗する必要があります。 EXT-X-MEDIA EXT-X-MEDIA

The EXT-X-MEDIA tag is used to relate Media Playlists that contain alternative Renditions (Section of the same content. For example, three EXT-X-MEDIA tags can be used to identify audio-only Media Playlists that contain English, French, and Spanish Renditions of the same presentation. Or, two EXT-X-MEDIA tags can be used to identify video-only Media Playlists that show two different camera angles.


Its format is:



The following attributes are defined:




The value is an enumerated-string; valid strings are AUDIO, VIDEO, SUBTITLES, and CLOSED-CAPTIONS. This attribute is REQUIRED.


Typically, closed-caption [CEA608] media is carried in the video stream. Therefore, an EXT-X-MEDIA tag with TYPE of CLOSED-CAPTIONS does not specify a Rendition; the closed-caption media is present in the Media Segments of every video Rendition.




The value is a quoted-string containing a URI that identifies the Media Playlist file. This attribute is OPTIONAL; see Section If the TYPE is CLOSED-CAPTIONS, the URI attribute MUST NOT be present.

値は、メディアプレイリストファイルを識別するURIを含むquoted-stringです。この属性はオプションです。セクション4.を参照してください。 TYPEがCLOSED-CAPTIONSの場合、URI属性は存在してはならない(MUST NOT)。



The value is a quoted-string that specifies the group to which the Rendition belongs. See Section This attribute is REQUIRED.




The value is a quoted-string containing one of the standard Tags for Identifying Languages [RFC5646], which identifies the primary language used in the Rendition. This attribute is OPTIONAL.




The value is a quoted-string containing a language tag [RFC5646] that identifies a language that is associated with the Rendition. An associated language is often used in a different role than the language specified by the LANGUAGE attribute (e.g., written versus spoken or a fallback dialect). This attribute is OPTIONAL.


The LANGUAGE and ASSOC-LANGUAGE attributes can be used, for example, to link Norwegian Renditions that use different spoken and written languages.




The value is a quoted-string containing a human-readable description of the Rendition. If the LANGUAGE attribute is present, then this description SHOULD be in that language. This attribute is REQUIRED.

値は、レンディションの人間が読める形式の説明を含む引用文字列です。 LANGUAGE属性が存在する場合、この説明はその言語である必要があります。この属性は必須です。



The value is an enumerated-string; valid strings are YES and NO. If the value is YES, then the client SHOULD play this Rendition of the content in the absence of information from the user indicating a different choice. This attribute is OPTIONAL. Its absence indicates an implicit value of NO.




The value is an enumerated-string; valid strings are YES and NO. This attribute is OPTIONAL. Its absence indicates an implicit value of NO. If the value is YES, then the client MAY choose to play this Rendition in the absence of explicit user preference because it matches the current playback environment, such as chosen system language.


If the AUTOSELECT attribute is present, its value MUST be YES if the value of the DEFAULT attribute is YES.




The value is an enumerated-string; valid strings are YES and NO. This attribute is OPTIONAL. Its absence indicates an implicit value of NO. The FORCED attribute MUST NOT be present unless the TYPE is SUBTITLES.

値は列挙された文字列です。有効な文字列はYESとNOです。この属性はオプションです。存在しない場合は、暗黙の値NOを示します。 TYPEがSUBTITLESでない限り、FORCED属性は存在してはなりません。

A value of YES indicates that the Rendition contains content that is considered essential to play. When selecting a FORCED Rendition, a client SHOULD choose the one that best matches the current playback environment (e.g., language).


A value of NO indicates that the Rendition contains content that is intended to be played in response to explicit user request.




The value is a quoted-string that specifies a Rendition within the segments in the Media Playlist. This attribute is REQUIRED if the TYPE attribute is CLOSED-CAPTIONS, in which case it MUST have one of the values: "CC1", "CC2", "CC3", "CC4", or "SERVICEn" where n MUST be an integer between 1 and 63 (e.g., "SERVICE3" or "SERVICE42").

値は、メディアプレイリストのセグメント内のレンディションを指定する引用文字列です。 TYPE属性がCLOSED-CAPTIONSの場合、この属性は必須です。この場合、値は「CC1」、「CC2」、「CC3」、「CC4」、または「SERVICEn」のいずれかでなければなりません。nは整数でなければなりません。 1から63まで(たとえば、「SERVICE3」または「SERVICE42」)。

The values "CC1", "CC2", "CC3", and "CC4" identify a Line 21 Data Services channel [CEA608]. The "SERVICE" values identify a Digital Television Closed Captioning [CEA708] service block number.

値「CC1」、「CC2」、「CC3」、および「CC4」は、Line 21 Data Servicesチャネル[CEA608]を識別します。 「SERVICE」の値は、デジタルテレビのクローズドキャプション[CEA708]サービスブロック番号を示します。

For all other TYPE values, the INSTREAM-ID MUST NOT be specified.




The value is a quoted-string containing one or more Uniform Type Identifiers [UTI] separated by comma (,) characters. This attribute is OPTIONAL. Each UTI indicates an individual characteristic of the Rendition.

値は、コンマ(、)文字で区切られた1つ以上のUniform Type Identifiers [UTI]を含む引用符付き文字列です。この属性はオプションです。各UTIはレンディションの個々の特性を示します。

A SUBTITLES Rendition MAY include the following characteristics: "public.accessibility.transcribes-spoken-dialog", "public.accessibility.describes-music-and-sound", and "public.easy-to-read" (which indicates that the subtitles have been edited for ease of reading).


An AUDIO Rendition MAY include the following characteristic: "public.accessibility.describes-video".


The CHARACTERISTICS attribute MAY include private UTIs.




The value is a quoted-string that specifies an ordered, backslash-separated ("/") list of parameters. If the TYPE attribute is AUDIO, then the first parameter is a count of audio channels expressed as a decimal-integer, indicating the maximum number of independent, simultaneous audio channels present in any Media Segment in the Rendition. For example, an AC-3 5.1 Rendition would have a CHANNELS="6" attribute. No other CHANNELS parameters are currently defined.

値は、パラメーターの順序付きのバックスラッシュで区切られた( "/")リストを指定する引用文字列です。 TYPE属性がAUDIOの場合、最初のパラメーターは、10進整数として表されるオーディオチャネルの数であり、レンディションの任意のメディアセグメントに存在する独立した同時オーディオチャネルの最大数を示します。たとえば、AC-3 5.1レンディションにはCHANNELS = "6"属性があります。他のCHANNELSパラメータは現在定義されていません。

All audio EXT-X-MEDIA tags SHOULD have a CHANNELS attribute. If a Master Playlist contains two Renditions encoded with the same codec but a different number of channels, then the CHANNELS attribute is REQUIRED; otherwise, it is OPTIONAL.

すべてのオーディオEXT-X-MEDIAタグには、CHANNELS属性が必要です(SHOULD)。マスタープレイリストに、同じコーデックでチャンネル数が異なる2つのレンディションが含まれている場合、CHANNELS属性が必須です。それ以外の場合はオプションです。 Rendition Groups レンディショングループ

A set of one or more EXT-X-MEDIA tags with the same GROUP-ID value and the same TYPE value defines a Group of Renditions. Each member of the Group MUST be an alternative Rendition of the same content; otherwise, playback errors can occur.


All EXT-X-MEDIA tags in a Playlist MUST meet the following constraints:


o All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.

o 同じグループ内のすべてのEXT-X-MEDIAタグは、異なるNAME属性を持っている必要があります。

o A Group MUST NOT have more than one member with a DEFAULT attribute of YES.

o グループには、DEFAULT属性がYESの複数のメンバーを含めることはできません。

o Each EXT-X-MEDIA tag with an AUTOSELECT=YES attribute SHOULD have a combination of LANGUAGE [RFC5646], ASSOC-LANGUAGE, FORCED, and CHARACTERISTICS attributes that is distinct from those of other AUTOSELECT=YES members of its Group.


A Playlist MAY contain multiple Groups of the same TYPE in order to provide multiple encodings of that media type. If it does so, each Group of the same TYPE MUST have the same set of members, and each corresponding member MUST have identical attributes with the exception of the URI and CHANNELS attributes.


Each member in a Group of Renditions MAY have a different sample format. For example, an English Rendition can be encoded with AC-3 5.1 while a Spanish Rendition is encoded with AAC stereo. However, any EXT-X-STREAM-INF tag (Section or EXT-X-I-FRAME-STREAM-INF tag (Section that references such a Group MUST have a CODECS attribute that lists every sample format present in any Rendition in the Group, or client playback failures can occur. In the example above, the CODECS attribute would include "ac-3,mp4a.40.2".

レンディションのグループの各メンバーは、異なるサンプル形式を持つ場合があります。たとえば、英語のレンディションはAC-3 5.1でエンコードされ、スペイン語のレンディションはAACステレオでエンコードされます。ただし、そのようなグループを参照するEXT-X-STREAM-INFタグ(セクション4.3.4.2)またはEXT-XI-FRAME-STREAM-INFタグ(セクション4.3.4.3)には、存在するすべてのサンプル形式をリストするCODECS属性が必要です。グループ内のどのレンディションでも、クライアントの再生エラーが発生する可能性があります。上記の例では、CODECS属性に「ac-3、mp4a.40.2」が含まれます。 EXT-X-STREAM-INF EXT-X-STREAM-INF

The EXT-X-STREAM-INF tag specifies a Variant Stream, which is a set of Renditions that can be combined to play the presentation. The attributes of the tag provide information about the Variant Stream.


The URI line that follows the EXT-X-STREAM-INF tag specifies a Media Playlist that carries a Rendition of the Variant Stream. The URI line is REQUIRED. Clients that do not support multiple video Renditions SHOULD play this Rendition.

EXT-X-STREAM-INFタグに続くURI行は、バリアントストリームのレンディションを運ぶメディアプレイリストを指定します。 URI行は必須です。複数のビデオレンディションをサポートしていないクライアントは、このレンディションを再生する必要があります。

Its format is:



The following attributes are defined:




The value is a decimal-integer of bits per second. It represents the peak segment bit rate of the Variant Stream.


If all the Media Segments in a Variant Stream have already been created, the BANDWIDTH value MUST be the largest sum of peak segment bit rates that is produced by any playable combination of Renditions. (For a Variant Stream with a single Media Playlist, this is just the peak segment bit rate of that Media Playlist.) An inaccurate value can cause playback stalls or prevent clients from playing the variant.

バリアントストリーム内のすべてのメディアセグメントがすでに作成されている場合、BANDWIDTH値は、レンディションの再生可能な組み合わせによって生成されるピークセグメントビットレートの最大合計でなければなりません。 (単一のメディアプレイリストを持つバリアントストリームの場合、これはそのメディアプレイリストのピークセグメントビットレートにすぎません。)値が不正確な場合、再生が停止したり、クライアントがバリアントを再生できなくなる可能性があります。

If the Master Playlist is to be made available before all Media Segments in the presentation have been encoded, the BANDWIDTH value SHOULD be the BANDWIDTH value of a representative period of similar content, encoded using the same settings.


Every EXT-X-STREAM-INF tag MUST include the BANDWIDTH attribute.




The value is a decimal-integer of bits per second. It represents the average segment bit rate of the Variant Stream.


If all the Media Segments in a Variant Stream have already been created, the AVERAGE-BANDWIDTH value MUST be the largest sum of average segment bit rates that is produced by any playable combination of Renditions. (For a Variant Stream with a single Media Playlist, this is just the average segment bit rate of that Media Playlist.) An inaccurate value can cause playback stalls or prevent clients from playing the variant.

バリアントストリームのすべてのメディアセグメントが既に作成されている場合、AVERAGE-BANDWIDTH値は、レンディションの再生可能な組み合わせによって生成される平均セグメントビットレートの最大合計でなければなりません。 (単一のメディアプレイリストを持つバリアントストリームの場合、これはそのメディアプレイリストの平均セグメントビットレートです。)値が不正確な場合、再生が停止したり、クライアントがバリアントを再生できなくなる可能性があります。

If the Master Playlist is to be made available before all Media Segments in the presentation have been encoded, the AVERAGE-BANDWIDTH value SHOULD be the AVERAGE-BANDWIDTH value of a representative period of similar content, encoded using the same settings.






The value is a quoted-string containing a comma-separated list of formats, where each format specifies a media sample type that is present in one or more Renditions specified by the Variant Stream. Valid format identifiers are those in the ISO Base Media File Format Name Space defined by "The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types" [RFC6381].


For example, a stream containing AAC low complexity (AAC-LC) audio and H.264 Main Profile Level 3.0 video would have a CODECS value of "mp4a.40.2,avc1.4d401e".


Every EXT-X-STREAM-INF tag SHOULD include a CODECS attribute.




The value is a decimal-resolution describing the optimal pixel resolution at which to display all the video in the Variant Stream.


The RESOLUTION attribute is OPTIONAL but is recommended if the Variant Stream includes video.




The value is a decimal-floating-point describing the maximum frame rate for all the video in the Variant Stream, rounded to three decimal places.


The FRAME-RATE attribute is OPTIONAL but is recommended if the Variant Stream includes video. The FRAME-RATE attribute SHOULD be included if any video in a Variant Stream exceeds 30 frames per second.




The value is an enumerated-string; valid strings are TYPE-0 and NONE. This attribute is advisory; a value of TYPE-0 indicates that the Variant Stream could fail to play unless the output is protected by High-bandwidth Digital Content Protection (HDCP) Type 0 [HDCP] or equivalent. A value of NONE indicates that the content does not require output copy protection.

値は列挙された文字列です。有効な文字列はTYPE-0とNONEです。この属性は助言です。 TYPE-0の値は、出力が高帯域幅デジタルコンテンツ保護(HDCP)タイプ0 [HDCP]または同等のものによって保護されていない限り、バリアントストリームの再生に失敗する可能性があることを示します。 NONEの値は、コンテンツが出力コピー保護を必要としないことを示します。

Encrypted Variant Streams with different HDCP levels SHOULD use different media encryption keys.


The HDCP-LEVEL attribute is OPTIONAL. It SHOULD be present if any content in the Variant Stream will fail to play without HDCP. Clients without output copy protection SHOULD NOT load a Variant Stream with an HDCP-LEVEL attribute unless its value is NONE.

HDCP-LEVEL属性はオプションです。バリアントストリームのコンテンツがHDCPなしで再生に失敗する場合は、存在する必要があります。出力コピー保護のないクライアントは、値がNONEでない限り、HDCP-LEVEL属性を持つバリアントストリームをロードしてはなりません(SHOULD NOT)。



The value is a quoted-string. It MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag elsewhere in the Master Playlist whose TYPE attribute is AUDIO. It indicates the set of audio Renditions that SHOULD be used when playing the presentation. See Section

値は引用文字列です。 TYPE属性がAUDIOであるマスタープレイリストの他の場所にあるEXT-X-MEDIAタグのGROUP-ID属性の値と一致する必要があります。プレゼンテーションの再生時に使用する必要があるオーディオレンディションのセットを示します。セクション4.を参照してください。

The AUDIO attribute is OPTIONAL.




The value is a quoted-string. It MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag elsewhere in the Master Playlist whose TYPE attribute is VIDEO. It indicates the set of video Renditions that SHOULD be used when playing the presentation. See Section

値は引用文字列です。 TYPE属性がVIDEOであるマスタープレイリストの他の場所にあるEXT-X-MEDIAタグのGROUP-ID属性の値と一致する必要があります。これは、プレゼンテーションの再生時に使用する必要があるビデオレンディションのセットを示します。セクション4.を参照してください。

The VIDEO attribute is OPTIONAL.




The value is a quoted-string. It MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag elsewhere in the Master Playlist whose TYPE attribute is SUBTITLES. It indicates the set of subtitle Renditions that can be used when playing the presentation. See Section


The SUBTITLES attribute is OPTIONAL.




The value can be either a quoted-string or an enumerated-string with the value NONE. If the value is a quoted-string, it MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag elsewhere in the Playlist whose TYPE attribute is CLOSED-CAPTIONS, and it indicates the set of closed-caption Renditions that can be used when playing the presentation. See Section


If the value is the enumerated-string value NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE, indicating that there are no closed captions in any Variant Stream in the Master Playlist. Having closed captions in one Variant Stream but not another can trigger playback inconsistencies.

値がenumerated-string値NONEである場合、すべてのEXT-X-STREAM-INFタグは、値がNONEのこの属性を持つ必要があります。これは、マスタープレイリストのバリアントストリームにクローズドキャプションがないことを示します。 1つのバリアントストリームにクローズドキャプションが含まれているが、別のバリアントストリームに含まれていない場合、再生の不整合が発生する可能性があります。


CLOSED-CAPTIONS属性はオプションです。 Alternative Renditions 代替レンディション

When an EXT-X-STREAM-INF tag contains an AUDIO, VIDEO, SUBTITLES, or CLOSED-CAPTIONS attribute, it indicates that alternative Renditions of the content are available for playback of that Variant Stream.


When defining alternative Renditions, the following constraints MUST be met to prevent client playback errors:


o All playable combinations of Renditions associated with an EXT-X-STREAM-INF tag MUST have an aggregate bandwidth less than or equal to the BANDWIDTH attribute of the EXT-X-STREAM-INF tag.

o EXT-X-STREAM-INFタグに関連付けられたレンディションのすべての再生可能な組み合わせは、EXT-X-STREAM-INFタグのBANDWIDTH属性以下の総帯域幅を持つ必要があります。

o If an EXT-X-STREAM-INF tag contains a RESOLUTION attribute and a VIDEO attribute, then every alternative video Rendition MUST have an optimal display resolution matching the value of the RESOLUTION attribute.

o EXT-X-STREAM-INFタグにRESOLUTION属性とVIDEO属性が含まれている場合、すべての代替ビデオレンディションは、RESOLUTION属性の値と一致する最適な表示解像度を持つ必要があります。

o Every alternative Rendition associated with an EXT-X-STREAM-INF tag MUST meet the constraints for a Variant Stream described in Section 6.2.4.

o EXT-X-STREAM-INFタグに関連付けられているすべての代替レンディションは、セクション6.2.4で説明されているバリアントストリームの制約を満たす必要があります。

The URI attribute of the EXT-X-MEDIA tag is REQUIRED if the media type is SUBTITLES, but OPTIONAL if the media type is VIDEO or AUDIO. If the media type is VIDEO or AUDIO, a missing URI attribute indicates that the media data for this Rendition is included in the Media Playlist of any EXT-X-STREAM-INF tag referencing this EXT-X-MEDIA tag. If the media TYPE is AUDIO and the URI attribute is missing, clients MUST assume that the audio data for this Rendition is present in every video Rendition specified by the EXT-X-STREAM-INF tag.


The URI attribute of the EXT-X-MEDIA tag MUST NOT be included if the media type is CLOSED-CAPTIONS.


The EXT-X-I-FRAME-STREAM-INF tag identifies a Media Playlist file containing the I-frames of a multimedia presentation. It stands alone, in that it does not apply to a particular URI in the Master Playlist. Its format is:



All attributes defined for the EXT-X-STREAM-INF tag (Section are also defined for the EXT-X-I-FRAME-STREAM-INF tag, except for the FRAME-RATE, AUDIO, SUBTITLES, and CLOSED-CAPTIONS attributes. In addition, the following attribute is defined:




The value is a quoted-string containing a URI that identifies the I-frame Media Playlist file. That Playlist file MUST contain an EXT-X-I-FRAMES-ONLY tag.


Every EXT-X-I-FRAME-STREAM-INF tag MUST include a BANDWIDTH attribute and a URI attribute.


The provisions in Section also apply to EXT-X-I-FRAME-STREAM-INF tags with a VIDEO attribute.


A Master Playlist that specifies alternative VIDEO Renditions and I-frame Playlists SHOULD include an alternative I-frame VIDEO Rendition for each regular VIDEO Rendition, with the same NAME and LANGUAGE attributes.

代替のVIDEOレンディションとIフレームプレイリストを指定するマスタープレイリストには、同じNAME属性とLANGUAGE属性を持つ、通常のVIDEOレンディションごとに代替のIフレームVENDOレンディションを含める必要があります。 EXT-X-SESSION-DATA EXT-X-SESSION-DATA

The EXT-X-SESSION-DATA tag allows arbitrary session data to be carried in a Master Playlist.


Its format is:



The following attributes are defined:




The value of DATA-ID is a quoted-string that identifies a particular data value. The DATA-ID SHOULD conform to a reverse DNS naming convention, such as ""; however, there is no central registration authority, so Playlist authors SHOULD take care to choose a value that is unlikely to collide with others. This attribute is REQUIRED.

DATA-IDの値は、特定のデータ値を識別する引用符付き文字列です。 DATA-IDは、「com.example.movi​​e.title」などの逆DNS命名規則に準拠する必要があります(SHOULD)。ただし、中央の登録機関はないため、プレイリストの作成者は、他のユーザーと衝突する可能性が低い値を選択するように注意する必要があります。この属性は必須です。


VALUE is a quoted-string. It contains the data identified by DATA-ID. If the LANGUAGE is specified, VALUE SHOULD contain a human-readable string written in the specified language.

VALUEは引用文字列です。 DATA-IDで識別されるデータが含まれます。 LANGUAGEが指定されている場合、VALUEには、指定された言語で記述された人間が読める文字列が含まれている必要があります(SHOULD)。



The value is a quoted-string containing a URI. The resource identified by the URI MUST be formatted as JSON [RFC7159]; otherwise, clients may fail to interpret the resource.

値は、URIを含む引用文字列です。 URIで識別されるリソースは、JSON [RFC7159]としてフォーマットする必要があります。そうしないと、クライアントがリソースを解釈できない可能性があります。



The value is a quoted-string containing a language tag [RFC5646] that identifies the language of the VALUE. This attribute is OPTIONAL.


Each EXT-X-SESSION-DATA tag MUST contain either a VALUE or URI attribute, but not both.


A Playlist MAY contain multiple EXT-X-SESSION-DATA tags with the same DATA-ID attribute. A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute.

プレイリストには、同じDATA-ID属性を持つ複数のEXT-X-SESSION-DATAタグが含まれる場合があります。プレイリストには、同じDATA-ID属性と同じLANGUAGE属性を持つ複数のEXT-X-SESSION-DATAタグを含めることはできません。 EXT-X-SESSION-KEY EXT-X-SESSION-KEY

The EXT-X-SESSION-KEY tag allows encryption keys from Media Playlists to be specified in a Master Playlist. This allows the client to preload these keys without having to read the Media Playlist(s) first.


Its format is:



All attributes defined for the EXT-X-KEY tag (Section are also defined for the EXT-X-SESSION-KEY, except that the value of the METHOD attribute MUST NOT be NONE. If an EXT-X-SESSION-KEY is used, the values of the METHOD, KEYFORMAT, and KEYFORMATVERSIONS attributes MUST match any EXT-X-KEY with the same URI value.

EXT-X-KEYタグ(セクション4.3.2.4)に定義されているすべての属性は、EXT-X-SESSION-KEYにも定義されていますが、METHOD属性の値をNONEにすることはできません。 EXT-X-SESSION-KEYを使用する場合、METHOD、KEYFORMAT、およびKEYFORMATVERSIONS属性の値は、同じURI値を持つすべてのEXT-X-KEYと一致する必要があります。

EXT-X-SESSION-KEY tags SHOULD be added if multiple Variant Streams or Renditions use the same encryption keys and formats. An EXT-X-SESSION-KEY tag is not associated with any particular Media Playlist.

複数のバリアントストリームまたはレンディションが同じ暗号化キーとフォーマットを使用する場合は、EXT-X-SESSION-KEYタグを追加する必要があります。 EXT-X-SESSION-KEYタグは、特定のメディアプレイリストに関連付けられていません。

A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values.


The EXT-X-SESSION-KEY tag is optional.


4.3.5. Media or Master Playlist Tags
4.3.5. メディアまたはマスタープレイリストタグ

The tags in this section can appear in either Master Playlists or Media Playlists. If one of these tags appears in a Master Playlist, it SHOULD NOT appear in any Media Playlist referenced by that Master Playlist. A tag that appears in both MUST have the same value; otherwise, clients SHOULD ignore the value in the Media Playlist(s).


These tags MUST NOT appear more than once in a Playlist. If a tag appears more than once, clients MUST fail to parse the Playlist.

これらのタグは、プレイリストに複数回出現してはなりません。タグが複数回出現する場合、クライアントはプレイリストの解析に失敗する必要があります。 EXT-X-INDEPENDENT-SEGMENTS EXT-X-INDEPENDENT-SEGMENTS

The EXT-X-INDEPENDENT-SEGMENTS tag indicates that all media samples in a Media Segment can be decoded without information from other segments. It applies to every Media Segment in the Playlist.


Its format is:


#EXT-X-INDEPENDENT-SEGMENTS If the EXT-X-INDEPENDENT-SEGMENTS tag appears in a Master Playlist, it applies to every Media Segment in every Media Playlist in the Master Playlist.

#EXT-X-INDEPENDENT-SEGMENTS EXT-X-INDEPENDENT-SEGMENTSタグがマスタープレイリストにある場合、マスタープレイリストのすべてのメディアプレイリストのすべてのメディアセグメントに適用されます。 EXT-X-START EXT-X-START

The EXT-X-START tag indicates a preferred point at which to start playing a Playlist. By default, clients SHOULD start playback at this point when beginning a playback session. This tag is OPTIONAL.


Its format is:



The following attributes are defined:




The value of TIME-OFFSET is a signed-decimal-floating-point number of seconds. A positive number indicates a time offset from the beginning of the Playlist. A negative number indicates a negative time offset from the end of the last Media Segment in the Playlist. This attribute is REQUIRED.


The absolute value of TIME-OFFSET SHOULD NOT be larger than the Playlist duration. If the absolute value of TIME-OFFSET exceeds the duration of the Playlist, it indicates either the end of the Playlist (if positive) or the beginning of the Playlist (if negative).

TIME-OFFSETの絶対値は、プレイリストの継続時間より長くすべきではありません。 TIME-OFFSETの絶対値がプレイリストの継続時間を超える場合、それはプレイリストの終わり(正の場合)またはプレイリストの始まり(負の場合)を示します。

If the Playlist does not contain the EXT-X-ENDLIST tag, the TIME-OFFSET SHOULD NOT be within three target durations of the end of the Playlist file.

プレイリストにEXT-X-ENDLISTタグが含まれていない場合、TIME-OFFSETは、プレイリストファイルの最後の3つのターゲット期間内であってはなりません(SHOULD NOT)。



The value is an enumerated-string; valid strings are YES and NO. If the value is YES, clients SHOULD start playback at the Media Segment containing the TIME-OFFSET, but SHOULD NOT render media samples in that segment whose presentation times are prior to the TIME-OFFSET. If the value is NO, clients SHOULD attempt to render every media sample in that segment. This attribute is OPTIONAL. If it is missing, its value should be treated as NO.

値は列挙された文字列です。有効な文字列はYESとNOです。値がYESの場合、クライアントはTIME-OFFSETを含むメディアセグメントで再生を開始する必要があります(SHOULD)が、プレゼンテーションタイムがTIME-OFFSETより前のセグメントのメディアサンプルはレンダリングしないでください(SHOULD NOT)。値がNOの場合、クライアントはそのセグメントのすべてのメディアサンプルをレンダリングする必要があります(SHOULD)。この属性はオプションです。欠落している場合、その値はNOとして扱われる必要があります。

5. Key Files
5. 主要ファイル
5.1. Structure of Key Files
5.1. キーファイルの構造

An EXT-X-KEY tag with a URI attribute identifies a Key file. A Key file contains a cipher key that can decrypt Media Segments in the Playlist.


[AES_128] encryption uses 16-octet keys. If the KEYFORMAT of an EXT-X-KEY tag is "identity", the Key file is a single packed array of 16 octets in binary format.

[AES_128]暗号化は16オクテットキーを使用します。 EXT-X-KEYタグのKEYFORMATが「identity」の場合、キーファイルは、バイナリ形式の16オクテットの単一のパックされた配列です。

5.2. IV for AES-128
5.2. AES-128のIV

[AES_128] REQUIRES the same 16-octet IV to be supplied when encrypting and decrypting. Varying this IV increases the strength of the cipher.


An IV attribute on an EXT-X-KEY tag with a KEYFORMAT of "identity" specifies an IV that can be used when decrypting Media Segments encrypted with that Key file. IV values for AES-128 are 128-bit numbers.

「ID」のKEYFORMATを持つEXT-X-KEYタグのIV属性は、そのキーファイルで暗号化されたメディアセグメントを復号化するときに使用できるIVを指定します。 AES-128のIV値は128ビットの数値です。

An EXT-X-KEY tag with a KEYFORMAT of "identity" that does not have an IV attribute indicates that the Media Sequence Number is to be used as the IV when decrypting a Media Segment, by putting its big-endian binary representation into a 16-octet (128-bit) buffer and padding (on the left) with zeros.

IV属性を持たないKEYFORMATが「identity」のEXT-X-KEYタグは、ビッグエンディアンバイナリ表現をaに入れて、メディアセグメントを復号化するときにメディアシーケンス番号がIVとして使用されることを示します。 16オクテット(128ビット)のバッファーとゼロによるパディング(左側)。

6. Client/Server Responsibilities
6. クライアント/サーバーの責任
6.1. Introduction
6.1. はじめに

This section describes how the server generates the Playlist and Media Segments and how the client should download them for playback.


6.2. Server Responsibilities
6.2. サーバーの責任
6.2.1. General Server Responsibilities
6.2.1. 一般的なサーバーの責任

The production of the source media is outside the scope of this document, which simply presumes a source of continuous encoded media containing the presentation.


The server MUST divide the source media into individual Media Segments whose duration is less than or equal to a constant target duration. Segments that are longer than the planned target duration can trigger playback stalls and other errors.


The server SHOULD attempt to divide the source media at points that support effective decode of individual Media Segments, e.g., on packet and key frame boundaries.


The server MUST create a URI for every Media Segment that enables its clients to obtain the segment data. If a server supports partial loading of resources (e.g., via HTTP Range requests), it MAY specify segments as sub-ranges of larger resources using the EXT-X-BYTERANGE tag.


Any Media Segment that is specified in a Playlist loaded by a client MUST be available for immediate download, or playback errors can occur. Once download starts, its transfer rate SHOULD NOT be constrained by the segment production process.


HTTP servers SHOULD transfer text files -- such as Playlists and WebVTT segments -- using the "gzip" Content-Encoding if the client indicates that it is prepared to accept it.


The server must create a Media Playlist file (Section 4) that contains a URI for each Media Segment that the server wishes to make available, in the order in which they are to be played.


The value of the EXT-X-VERSION tag (Section SHOULD NOT be greater than what is required for the tags and attributes in the Playlist (see Section 7).

EXT-X-VERSIONタグの値(セクション4.3.1.2)は、プレイリストのタグと属性に必要な値(セクション7を参照)を超えてはなりません(SHOULD NOT)。

Changes to the Playlist file MUST be made atomically from the point of view of the clients, or playback errors MAY occur.


The server MUST NOT change the Media Playlist file, except to:

サーバーは、以下を除いて、メディアプレイリストファイルを変更してはなりません(MUST NOT)。

o Append lines to it (Section 6.2.1).

o 行を追加します(セクション6.2.1)。

o Remove Media Segment URIs from the Playlist in the order that they appear, along with any tags that apply only to those segments (Section 6.2.2).

o メディアセグメントURIを表示順にプレイリストから削除し、それらのセグメントにのみ適用されるタグを追加します(セクション6.2.2)。

o Increment the value of the EXT-X-MEDIA-SEQUENCE or EXT-X-DISCONTINUITY-SEQUENCE tags (Section 6.2.2).


o Add an EXT-X-ENDLIST tag to the Playlist (Section 6.2.1).

o EXT-X-ENDLISTタグをプレイリストに追加します(セクション6.2.1)。

A Media Playlist has further constraints on its updates if it contains an EXT-X-PLAYLIST-TYPE tag. An EXT-X-PLAYLIST-TYPE tag with a value of VOD indicates that the Playlist file MUST NOT change. An EXT-X-PLAYLIST-TYPE tag with a value of EVENT indicates that the server MUST NOT change or delete any part of the Playlist file; it MAY append lines to it.


The value of the EXT-X-TARGETDURATION tag in the Media Playlist MUST NOT change. A typical target duration is 10 seconds.


Playlist changes other than those allowed here can trigger playback errors and inconsistent client behavior.


Each Media Segment in a Media Playlist has an integer Discontinuity Sequence Number. The Discontinuity Sequence Number can be used in addition to the timestamps within the media to synchronize Media Segments across different Renditions.


A segment's Discontinuity Sequence Number is the value of the EXT-X-DISCONTINUITY-SEQUENCE tag (or zero if none) plus the number of EXT-X-DISCONTINUITY tags in the Playlist preceding the URI line of the segment.


The server MAY associate an absolute date and time with a Media Segment by applying an EXT-X-PROGRAM-DATE-TIME tag to it. This defines an informative mapping of the (wall-clock) date and time specified by the tag to the first media timestamp in the segment, which may be used as a basis for seeking, for display, or for other purposes. If a server provides this mapping, it SHOULD apply an EXT-X-PROGRAM-DATE-TIME tag to every segment that has an EXT-X-DISCONTINUITY tag applied to it.


The Server MUST NOT add any EXT-X-PROGRAM-DATE-TIME tag to a Playlist that would cause the mapping between program date and Media Segment to become ambiguous.

サーバーは、プログラムの日付とメディアセグメントの間のマッピングがあいまいになるプレイリストにEXT-X-PROGRAM-DATE-TIMEタグを追加してはなりません(MUST NOT)。

The server MUST NOT remove an EXT-X-DATERANGE tag from a Playlist if any date in the range maps to a Media Segment in the Playlist.

範囲内の日付がプレイリストのメディアセグメントにマッピングされている場合、サーバーはEXT-X-DATERANGEタグをプレイリストから削除してはなりません(MUST NOT)。

The server MUST NOT reuse the ID attribute value of an EXT-X-DATERANGE tag for any new Date Range in the same Playlist.

サーバーは、同じプレイリスト内の新しい日付範囲にEXT-X-DATERANGEタグのID属性値を再利用してはなりません(MUST NOT)。

Once the Following Range of a Date Range with an END-ON-NEXT=YES attribute is added to a Playlist, the Server MUST NOT subsequently add a Date Range with the same CLASS attribute whose START-DATE is between that of the END-ON-NEXT=YES range and its Following Range.

END-ON-NEXT = YES属性を持つ日付範囲の次の範囲がプレイリストに追加されると、サーバーは、その後、START-DATEがEND-ONのものと同じである同じCLASS属性を持つ日付範囲を追加してはなりません(MUST NOT) -NEXT = YESの範囲とそのフォロー範囲。

For Date Ranges with a PLANNED-DURATION attribute, the Server SHOULD signal the actual end of the range once it has been established. It can do so by adding another EXT-X-DATERANGE tag with the same ID attribute value and either a DURATION or an END-DATE attribute or, if the Date Range has an END-ON-NEXT=YES attribute, by adding a Following Range.

PLANNED-DURATION属性を持つ日付範囲の場合、サーバーは、それが確立されると、範囲の実際の終了を通知する必要があります(SHOULD)。これは、同じID属性値とDURATIONまたはEND-DATE属性のいずれかを持つ別のEXT-X-DATERANGEタグを追加するか、日付範囲にEND-ON-NEXT = YES属性がある場合は、範囲。

If the Media Playlist contains the final Media Segment of the presentation, then the Playlist file MUST contain the EXT-X-ENDLIST tag; this allows clients to minimize unproductive Playlist reloads.


If a Media Playlist does not contain the EXT-X-ENDLIST tag, the server MUST make a new version of the Playlist file available that contains at least one new Media Segment. It MUST be made available relative to the time that the previous version of the Playlist file was made available: no earlier than one-half the target duration after that time, and no later than 1.5 times the target duration after that time. This allows clients to utilize the network efficiently.


If the server wishes to remove an entire presentation, it SHOULD provide a clear indication to clients that the Playlist file is no longer available (e.g., with an HTTP 404 or 410 response). It MUST ensure that all Media Segments in the Playlist file remain available to clients for at least the duration of the Playlist file at the time of removal to prevent interruption of in-progress playback.

サーバーがプレゼンテーション全体を削除したい場合は、プレイリストファイルが使用できなくなったことをクライアントに明確に示す必要があります(たとえば、HTTP 404または410応答を使用)。プレイリストファイル内のすべてのメディアセグメントは、進行中の再生の中断を防ぐために、少なくとも削除時のプレイリストファイルの期間中、クライアントが利用できるようにする必要があります。

6.2.2. Live Playlists
6.2.2. ライブプレイリスト

The server MAY limit the availability of Media Segments by removing Media Segments from the Playlist file (Section 6.2.1). If Media Segments are to be removed, the Playlist file MUST contain an EXT-X-MEDIA-SEQUENCE tag. Its value MUST be incremented by 1 for every Media Segment that is removed from the Playlist file; it MUST NOT decrease or wrap. Clients can malfunction if each Media Segment does not have a consistent, unique Media Sequence Number.


Media Segments MUST be removed from the Playlist file in the order that they appear in the Playlist; otherwise, client playback can malfunction.


The server MUST NOT remove a Media Segment from a Playlist file without an EXT-X-ENDLIST tag if that would produce a Playlist whose duration is less than three times the target duration. Doing so can trigger playback stalls.


When the server removes a Media Segment URI from the Playlist, the corresponding Media Segment MUST remain available to clients for a period of time equal to the duration of the segment plus the duration of the longest Playlist file distributed by the server containing that segment. Removing a Media Segment earlier than that can interrupt in-progress playback.


If the server wishes to remove segments from a Media Playlist containing an EXT-X-DISCONTINUITY tag, the Media Playlist MUST contain an EXT-X-DISCONTINUITY-SEQUENCE tag. Without the EXT-X-DISCONTINUITY-SEQUENCE tag, it can be impossible for a client to locate corresponding segments between Renditions.

サーバーがEXT-X-DISCONTINUITYタグを含むメディアプレイリストからセグメントを削除する場合は、メディアプレイリストにEXT-X-DISCONTINUITY-SEQUENCEタグを含める必要があります。 EXT-X-DISCONTINUITY-SEQUENCEタグがないと、クライアントがレンディション間の対応するセグメントを見つけることができない場合があります。

If the server removes an EXT-X-DISCONTINUITY tag from the Media Playlist, it MUST increment the value of the EXT-X-DISCONTINUITY-SEQUENCE tag so that the Discontinuity Sequence Numbers of the segments still in the Media Playlist remain unchanged. The value of the EXT-X-DISCONTINUITY-SEQUENCE tag MUST NOT decrease or wrap. Clients can malfunction if each Media Segment does not have a consistent Discontinuity Sequence Number.

サーバーがメディアプレイリストからEXT-X-DISCONTINUITYタグを削除する場合は、EXT-X-DISCONTINUITY-SEQUENCEタグの値をインクリメントして、メディアプレイリストにまだ残っているセグメントの不連続シーケンス番号が変更されないようにする必要があります。 EXT-X-DISCONTINUITY-SEQUENCEタグの値は、減少またはラップしてはなりません。各メディアセグメントに一貫性のある不連続シーケンス番号がない場合、クライアントは誤動作する可能性があります。

If a server plans to remove a Media Segment after it is delivered to clients over HTTP, it SHOULD ensure that the HTTP response contains an Expires header that reflects the planned time-to-live.


A Live Playlist MUST NOT contain the EXT-X-PLAYLIST-TYPE tag, as no value of that tag allows Media Segments to be removed.


6.2.3. Encrypting Media Segments
6.2.3. メディアセグメントの暗号化

Media Segments MAY be encrypted. Every encrypted Media Segment MUST have an EXT-X-KEY tag (Section applied to it with a URI that the client can use to obtain a Key file (Section 5) containing the decryption key.


A Media Segment can only be encrypted with one encryption METHOD, using one encryption key and IV. However, a server MAY offer multiple ways to retrieve that key by providing multiple EXT-X-KEY tags, each with a different KEYFORMAT attribute value.


The server MAY set the HTTP Expires header in the key response to indicate the duration for which the key can be cached.

サーバーは、キーをキャッシュできる期間を示すために、キー応答にHTTP Expiresヘッダーを設定する場合があります。

Any unencrypted Media Segment in a Playlist that is preceded by an encrypted Media Segment MUST have an EXT-X-KEY tag applied to it with a METHOD attribute of NONE. Otherwise, the client will misinterpret those segments as encrypted.


If the encryption METHOD is AES-128 and the Playlist does not contain the EXT-X-I-FRAMES-ONLY tag, AES encryption as described in Section SHALL be applied to individual Media Segments.


If the encryption METHOD is AES-128 and the Playlist contains an EXT-X-I-FRAMES-ONLY tag, the entire resource MUST be encrypted using AES-128 CBC with PKCS7 padding [RFC5652]. Encryption MAY be restarted on 16-byte block boundaries, unless the first block contains an I-frame. The IV used for encryption MUST be either the Media Sequence Number of the Media Segment or the value of the IV attribute of the EXT-X-KEY tag, as described in Section 5.2. These constraints allow a client to load and decrypt individual I-frames specified as sub-ranges of regular encrypted Media Segments, and their Media Initialization Sections.

暗号化の方法がAES-128で、プレイリストにEXT-X-I-FRAMES-ONLYタグが含まれている場合、リソース全体をPKCS7パディングを備えたAES-128 CBC [RFC5652]を使用して暗号化する必要があります。最初のブロックにIフレームが含まれていない限り、暗号化は16バイトのブロック境界で再開できます。セクション5.2で説明されているように、暗号化に使用されるIVは、メディアセグメントのメディアシーケンス番号またはEXT-X-KEYタグのIV属性の値のいずれかである必要があります。これらの制約により、クライアントは、通常の暗号化されたメディアセグメントのサブ範囲として指定された個々のIフレームと、それらのメディア初期化セクションをロードして復号化できます。

If the encryption METHOD is SAMPLE-AES, media samples MAY be encrypted prior to encapsulation in a Media Segment.


The server MUST NOT remove an EXT-X-KEY tag from the Playlist file if it applies to any Media Segment in the Playlist file, or clients who subsequently load that Playlist will be unable to decrypt those Media Segments.


6.2.4. Providing Variant Streams
6.2.4. バリアントストリームの提供

A server MAY offer multiple Media Playlist files to provide different encodings of the same presentation. If it does so, it SHOULD provide a Master Playlist file that lists each Variant Stream to allow clients to switch between encodings dynamically.


Master Playlists describe regular Variant Streams with EXT-X-STREAM-INF tags and I-frame Variant Streams with EXT-X-I-FRAME-STREAM-INF tags.


If an EXT-X-STREAM-INF tag or EXT-X-I-FRAME-STREAM-INF tag contains the CODECS attribute, the attribute value MUST include every media format [RFC6381] present in any Media Segment in any of the Renditions specified by the Variant Stream.


The server MUST meet the following constraints when producing Variant Streams in order to allow clients to switch between them seamlessly:


o Each Variant Stream MUST present the same content.

o 各バリアントストリームは同じコンテンツを提示する必要があります。

o Matching content in Variant Streams MUST have matching timestamps. This allows clients to synchronize the media.

o バリアントストリームの一致するコンテンツには、一致するタイムスタンプが必要です。これにより、クライアントはメディアを同期できます。

o Matching content in Variant Streams MUST have matching Discontinuity Sequence Numbers (see Section

o バリアントストリームの一致するコンテンツには、一致する不連続シーケンス番号が必要です(セクション4.3.3.3を参照)。

o Each Media Playlist in each Variant Stream MUST have the same target duration. The only exceptions are SUBTITLES Renditions and Media Playlists containing an EXT-X-I-FRAMES-ONLY tag, which MAY have different target durations if they have an EXT-X-PLAYLIST-TYPE of VOD.

o 各バリアントストリームの各メディアプレイリストは、同じターゲット期間を持つ必要があります。唯一の例外は、EXT-X-I-FRAMES-ONLYタグを含むSUBTITLESレンディションとメディアプレイリストです。これらのタグには、EXT-X-PLAYLIST-TYPEがVODの場合、ターゲットの継続時間が異なる場合があります。

o Content that appears in a Media Playlist of one Variant Stream but not in another MUST appear either at the beginning or at the end of the Media Playlist file and MUST NOT be longer than the target duration.

o 1つのバリアントストリームのメディアプレイリストに表示され、別のストリームには表示されないコンテンツは、メディアプレイリストファイルの最初または最後のいずれかに表示する必要があり、ターゲットの長さを超えてはなりません。

o If any Media Playlists have an EXT-X-PLAYLIST-TYPE tag, all Media Playlists MUST have an EXT-X-PLAYLIST-TYPE tag with the same value.

o メディアプレイリストにEXT-X-PLAYLIST-TYPEタグがある場合、すべてのメディアプレイリストに同じ値のEXT-X-PLAYLIST-TYPEタグが必要です。

o If the Playlist contains an EXT-X-PLAYLIST-TYPE tag with the value of VOD, the first segment of every Media Playlist in every Variant Stream MUST start at the same media timestamp.

o プレイリストにVODの値を持つEXT-X-PLAYLIST-TYPEタグが含まれている場合、すべてのバリアントストリームのすべてのメディアプレイリストの最初のセグメントは、同じメディアタイムスタンプで開始する必要があります。

o If any Media Playlist in a Master Playlist contains an EXT-X-PROGRAM-DATE-TIME tag, then all Media Playlists in that Master Playlist MUST contain EXT-X-PROGRAM-DATE-TIME tags with consistent mappings of date and time to media timestamps.

o マスタープレイリスト内のメディアプレイリストにEXT-X-PROGRAM-DATE-TIMEタグが含まれている場合、そのマスタープレイリスト内のすべてのメディアプレイリストには、日付と時刻がメディアに一貫してマッピングされたEXT-X-PROGRAM-DATE-TIMEタグが含まれている必要があります。タイムスタンプ。

o Each Variant Stream MUST contain the same set of Date Ranges, each one identified by an EXT-X-DATERANGE tag(s) with the same ID attribute value and containing the same set of attribute/value pairs.

o 各バリアントストリームには同じ日付範囲のセットが含まれている必要があり、それぞれが同じID属性値を持つEXT-X-DATERANGEタグで識別され、同じ属性/値ペアのセットが含まれています。

In addition, for broadest compatibility, Variant Streams SHOULD contain the same encoded audio bitstream. This allows clients to switch between Variant Streams without audible glitching.


The rules for Variant Streams also apply to alternative Renditions (see Section


6.3. Client Responsibilities
6.3. クライアントの責任
6.3.1. General Client Responsibilities
6.3.1. 一般的なクライアントの責任

How the client obtains the URI to the Playlist file is outside the scope of this document; it is presumed to have done so.


The client obtains the Playlist file from the URI. If the Playlist file so obtained is a Master Playlist, the client can select a Variant Stream to load from the Master Playlist.


Clients MUST ensure that loaded Playlists comply with Section 4 and that the EXT-X-VERSION tag, if present, specifies a protocol version supported by the client; if either check fails, the client MUST NOT attempt to use the Playlist, or unintended behavior could occur.


If any URI element in a Playlist contains an URI scheme that the client cannot handle, the client MUST stop playback. All clients MUST support HTTP schemes.


To support forward compatibility, when parsing Playlists, clients MUST:


o ignore any unrecognized tags.

o 認識されないタグは無視してください。

o ignore any attribute/value pair with an unrecognized AttributeName.

o 認識されないAttributeNameを持つ属性/値のペアは無視してください。

o ignore any tag containing an attribute/value pair of type enumerated-string whose AttributeName is recognized but whose AttributeValue is not recognized, unless the definition of the attribute says otherwise.

o AttributeNameは認識されているが、AttributeValueは認識されていない、列挙型文字列の属性/値のペアを含むタグは、属性の定義で別の指示がない限り無視してください。

Algorithms used by the client to switch between Variant Streams are beyond the scope of this document.


6.3.2. Loading the Media Playlist File
6.3.2. メディアプレイリストファイルの読み込み

Every time a Media Playlist is loaded or reloaded from a Playlist URI, the client MUST determine the next Media Segment to load, as described in Section 6.3.5, if it intends to play the presentation normally (i.e., in Playlist order at the nominal playback rate).


If the Media Playlist contains the EXT-X-MEDIA-SEQUENCE tag, the client SHOULD assume that each Media Segment in it will become unavailable at the time that the Playlist file was loaded plus the duration of the Playlist file.


A client MAY use the segment Media Sequence Number to track the location of a Media Segment within a Playlist when the Playlist is reloaded.


A client MUST NOT assume that segments with the same Media Sequence Number in different Variant Streams or Renditions have the same position in the presentation; Playlists MAY have independent Media Sequence Numbers. Instead, a client MUST use the relative position of each segment on the Playlist timeline and its Discontinuity Sequence Number to locate corresponding segments.

クライアントは、異なるバリアントストリームまたはレンディションで同じメディアシーケンス番号を持つセグメントが、プレゼンテーション内で同じ位置にあると想定してはなりません(MUST NOT)。プレイリストは、独立したメディアシーケンス番号を持つ場合があります。代わりに、クライアントは、対応するセグメントを見つけるために、プレイリストタイムライン上の各セグメントの相対位置とその不連続シーケンス番号を使用する必要があります。

A client MUST load the Media Playlist file of every Rendition selected for playback in order to locate the media specific to that Rendition. But, to prevent unnecessary load on the server, it SHOULD NOT load the Playlist file of any other Rendition.


For some Variant Streams, it is possible to select Renditions that do not include the Rendition specified by the EXT-X-STREAM-INF tag. As noted above, the client SHOULD NOT load that Rendition in those cases.

一部のバリアントストリームでは、EXT-X-STREAM-INFタグで指定されたレンディションを含まないレンディションを選択することができます。上記のように、これらの場合、クライアントはそのレンディションをロードすべきではありません(SHOULD NOT)。

6.3.3. Playing the Media Playlist File
6.3.3. メディアプレイリストファイルの再生

The client SHALL choose which Media Segment to play first from the Media Playlist when playback starts. If the EXT-X-ENDLIST tag is not present and the client intends to play the media normally, the client SHOULD NOT choose a segment that starts less than three target durations from the end of the Playlist file. Doing so can trigger playback stalls.

クライアントは、再生の開始時にメディアプレイリストから最初に再生するメディアセグメントを選択する必要があります(SHALL)。 EXT-X-ENDLISTタグが存在せず、クライアントがメディアを正常に再生する予定の場合、クライアントは、プレイリストファイルの最後から3つ未満のターゲット期間で始まるセグメントを選択してはなりません(SHOULD NOT)。これを行うと、再生が停止する可能性があります。

Normal playback can be achieved by playing the Media Segments in the order that they appear in the Playlist. The client MAY present the available media in any way it wishes, including normal playback, random access, and trick modes.


The encoding parameters for samples in a Media Segment and across multiple Media Segments in a Media Playlist SHOULD remain consistent. However, clients SHOULD deal with encoding changes as they are encountered, for example, by scaling video content to accommodate a resolution change. If the Variant Stream includes a RESOLUTION attribute, clients SHOULD display all video within a rectangle with the same proportions as that resolution.


Clients SHOULD be prepared to handle multiple tracks of a particular type (e.g., audio or video). A client with no other preference SHOULD choose the track with the lowest numerical track identifier that it can play.


Clients SHOULD ignore private streams inside Transport Streams that they do not recognize. Private streams can be used to support different devices with the same stream, although stream authors SHOULD be sensitive to the additional network load that this imposes.


The client MUST be prepared to reset its parser(s) and decoder(s) before playing a Media Segment that has an EXT-X-DISCONTINUITY tag applied to it; otherwise, playback errors can occur.


The client SHOULD attempt to load Media Segments in advance of when they will be required for uninterrupted playback to compensate for temporary variations in latency and throughput.


The client MAY use the value of the EXT-X-PROGRAM-DATE-TIME tag to display the program origination time to the user. If the value includes time zone information, the client SHALL take it into account; if it does not, the client MAY assume the time to be local.


Note that dates in Playlists can refer to when the content was produced (or to other times), which have no relation to the time of playback.


If the first EXT-X-PROGRAM-DATE-TIME tag in a Playlist appears after one or more Media Segment URIs, the client SHOULD extrapolate backward from that tag (using EXTINF durations and/or media timestamps) to associate dates with those segments. To associate a date with any other Media Segment that does not have an EXT-X-PROGRAM-DATE-TIME tag applied to it directly, the client SHOULD extrapolate forward from the last EXT-X-PROGRAM-DATE-TIME tag appearing before that segment in the Playlist.

再生リストの最初のEXT-X-PROGRAM-DATE-TIMEタグが1つ以上のメディアセグメントURIの後にある場合、クライアントはそのタグから後方に外挿して(EXTINF期間またはメディアタイムスタンプを使用して)、これらのセグメントに日付を関連付ける必要があります。 EXT-X-PROGRAM-DATE-TIMEタグが直接適用されていない他のメディアセグメントに日付を関連付けるには、クライアントは、その前に表示される最後のEXT-X-PROGRAM-DATE-TIMEタグから前方に外挿する必要があります(SHOULD)。プレイリストのセグメント。

6.3.4. Reloading the Media Playlist File
6.3.4. メディアプレイリストファイルのリロード

The client MUST periodically reload a Media Playlist file to learn what media is currently available, unless it contains an EXT-X-PLAYLIST-TYPE tag with a value of VOD, or a value of EVENT and the EXT-X-ENDLIST tag is also present.


However, the client MUST NOT attempt to reload the Playlist file more frequently than specified by this section, in order to limit the collective load on the server.


When a client loads a Playlist file for the first time or reloads a Playlist file and finds that it has changed since the last time it was loaded, the client MUST wait for at least the target duration before attempting to reload the Playlist file again, measured from the last time the client began loading the Playlist file.


If the client reloads a Playlist file and finds that it has not changed, then it MUST wait for a period of one-half the target duration before retrying.


After reloading a Media Playlist, the client SHOULD verify that each Media Segment in it has the same URI (and byte range, if specified) as the Media Segment with the same Media Sequence Number in the previous Media Playlist. It SHOULD halt playback if it does not, as this normally indicates a server error.


In order to reduce server load, the client SHOULD NOT reload the Playlist files of Variant Streams or alternate Renditions that are not currently being played. If it decides to switch playback to a different Variant Stream, it SHOULD stop reloading the Playlist of the old Variant Stream and begin loading the Playlist of the new Variant Stream. It can use the EXTINF durations and the constraints in Section 6.2.4 to determine the approximate location of corresponding media. Once media from the new Variant Stream has been loaded, the timestamps in the Media Segments can be used to synchronize the old and new timelines precisely.

サーバーの負荷を減らすために、クライアントは、現在再生されていないバリアントストリームまたは代替レンディションのプレイリストファイルをリロードしないでください。再生を別のバリアントストリームに切り替える場合は、古いバリアントストリームのプレイリストのリロードを停止し、新しいバリアントストリームのプレイリストのロードを開始する必要があります。 6.2.4項のEXTINF期間と制約を使用して、対応するメディアのおおよその場所を決定できます。新しいバリアントストリームのメディアが読み込まれると、メディアセグメントのタイムスタンプを使用して、新旧のタイムラインを正確に同期できます。

A client MUST NOT attempt to use the Media Sequence Number to synchronize between streams (see Section 6.3.2).


6.3.5. Determining the Next Segment to Load
6.3.5. ロードする次のセグメントの決定

The client MUST examine the Media Playlist file every time it is loaded or reloaded to determine the next Media Segment to load, as the set of available media MAY have changed.


The first segment to load is generally the segment that the client has chosen to play first (see Section 6.3.3).


In order to play the presentation normally, the next Media Segment to load is the one with the lowest Media Sequence Number that is greater than the Media Sequence Number of the last Media Segment loaded.


6.3.6. Decrypting Encrypted Media Segments
6.3.6. 暗号化されたメディアセグメントの復号化

If a Media Playlist file contains an EXT-X-KEY tag that specifies a Key file URI, the client can obtain that Key file and use the key inside it to decrypt all Media Segments to which that EXT-X-KEY tag applies.


A client MUST ignore any EXT-X-KEY tag with an unsupported or unrecognized KEYFORMAT attribute, to allow for cross-device addressability. If the Playlist contains a Media Segment to which only EXT-X-KEY tags with unrecognized or unsupported KEYFORMAT attributes are applied, playback SHOULD fail.


A client MUST NOT attempt to decrypt any segments whose EXT-X-KEY tag has a METHOD attribute that it does not recognize.

クライアントは、EXT-X-KEYタグが認識できないMETHOD属性を持つセグメントの復号化を試みてはなりません(MUST NOT)。

If the encryption METHOD is AES-128, AES-128 CBC decryption SHALL be applied to individual Media Segments, whose encryption format is described in Section

暗号化の方法がAES-128の場合、AES-128 CBC復号化は個々のメディアセグメントに適用されるものとします(SHOULD 4.3)。

If the encryption METHOD is AES-128 and the Media Segment is part of an I-frame Playlist (Section and it has an EXT-X-BYTERANGE tag applied to it, special care needs to be taken in loading and decrypting the segment, because the resource identified by the URI is encrypted in 16-byte blocks from the start of the resource.


The decrypted I-frame can be recovered by first widening its byte range, as specified by the EXT-X-BYTERANGE tag, so that it starts and ends on 16-byte boundaries from the start of the resource.


Next, the byte range is widened further to include a 16-byte block at the beginning of the range. This 16-byte block allows the correct IV for the following block to be calculated.


The widened byte range can then be loaded and decrypted with AES-128 CBC using an arbitrary IV. The number of bytes added to the beginning and the end of the original byte range are discarded from the decrypted bytes; what remains is the decrypted I-frame.

拡大されたバイト範囲は、任意のIVを使用してAES-128 CBCでロードおよび復号化できます。元のバイト範囲の最初と最後に追加されたバイト数は、復号化されたバイトから破棄されます。残っているのは、復号化されたIフレームです。

If the encryption METHOD is SAMPLE-AES, AES-128 decryption SHALL be applied to encrypted media samples within the Media Segment.


An EXT-X-KEY tag with a METHOD of NONE indicates that the Media Segments it applies to are not encrypted.


7. Protocol Version Compatibility
7. プロトコルバージョンの互換性

Protocol compatibility is specified by the EXT-X-VERSION tag. A Playlist that contains tags or attributes that are not compatible with protocol version 1 MUST include an EXT-X-VERSION tag.


A client MUST NOT attempt playback if it does not support the protocol version specified by the EXT-X-VERSION tag, or unintended behavior could occur.


A Media Playlist MUST indicate an EXT-X-VERSION of 2 or higher if it contains:


o The IV attribute of the EXT-X-KEY tag.

o EXT-X-KEYタグのIV属性。

A Media Playlist MUST indicate an EXT-X-VERSION of 3 or higher if it contains:


o Floating-point EXTINF duration values.

o 浮動小数点EXTINF期間の値。

A Media Playlist MUST indicate an EXT-X-VERSION of 4 or higher if it contains:

メディアプレイリストには、次のものが含まれている場合、EXT-X-VERSION 4以上を指定する必要があります。





A Media Playlist MUST indicate an EXT-X-VERSION of 5 or higher if it contains:

メディアプレイリストには、次のものが含まれている場合、EXT-X-VERSION 5以上を指定する必要があります。

o The KEYFORMAT and KEYFORMATVERSIONS attributes of the EXT-X-KEY tag.


o The EXT-X-MAP tag.

o EXT-X-MAPタグ。

A Media Playlist MUST indicate an EXT-X-VERSION of 6 or higher if it contains:


o The EXT-X-MAP tag in a Media Playlist that does not contain EXT-X-I-FRAMES-ONLY.

o EXT-X-I-FRAMES-ONLYを含まないメディアプレイリストのEXT-X-MAPタグ。

A Master Playlist MUST indicate an EXT-X-VERSION of 7 or higher if it contains:

マスタープレイリストには、以下が含まれている場合、EXT-X-VERSION 7以上を指定する必要があります。

o "SERVICE" values for the INSTREAM-ID attribute of the EXT-X-MEDIA tag.


The EXT-X-MEDIA tag and the AUDIO, VIDEO, and SUBTITLES attributes of the EXT-X-STREAM-INF tag are backward compatible to protocol version 1, but playback on older clients may not be desirable. A server MAY consider indicating an EXT-X-VERSION of 4 or higher in the Master Playlist but is not required to do so.


The PROGRAM-ID attribute of the EXT-X-STREAM-INF and the EXT-X-I-FRAME-STREAM-INF tags was removed in protocol version 6.


The EXT-X-ALLOW-CACHE tag was removed in protocol version 7.


8. Playlist Examples
8. プレイリストの例
8.1. Simple Media Playlist
8.1. シンプルメディアプレイリスト
8.2. Live Media Playlist Using HTTPS
8.2. HTTPSを使用したライブメディアプレイリスト
8.3. Playlist with Encrypted Media Segments
8.3. 暗号化されたメディアセグメントを含むプレイリスト
8.4. Master Playlist
8.4. マスタープレイリスト
8.5. Master Playlist with I-Frames
8.5. Iフレームを使用したマスタープレイリスト
8.6. Master Playlist with Alternative Audio
8.6. 代替オーディオを使用したマスタープレイリスト

In this example, the CODECS attributes have been condensed for space. A '\' is used to indicate that the tag continues on the following line with whitespace removed:

この例では、CODECS属性がスペースのために圧縮されています。 '\'は、空白が削除された次の行にタグが続くことを示すために使用されます。

   #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="Commentary", \
8.7. Master Playlist with Alternative Video
8.7. 代替ビデオ付きのマスタープレイリスト

This example shows three different video Renditions (Main, Centerfield, and Dugout) and three different Variant Streams (low, mid, and high). In this example, clients that did not support the EXT-X-MEDIA tag and the VIDEO attribute of the EXT-X-STREAM-INF tag would only be able to play the video Rendition "Main".


Since the EXT-X-STREAM-INF tag has no AUDIO attribute, all video Renditions would be required to contain the audio.


In this example, the CODECS attributes have been condensed for space. A '\' is used to indicate that the tag continues on the following line with whitespace removed:

この例では、CODECS属性がスペースのために圧縮されています。 '\'は、タグが空白を削除して次の行に続くことを示すために使用されます。

   #EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="low",NAME="Centerfield", \
   #EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="mid",NAME="Centerfield", \
   #EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="hi",NAME="Centerfield", \
8.8. Session Data in a Master Playlist
8.8. マスタープレイリストのセッションデータ

In this example, only the EXT-X-SESSION-DATA is shown:


   #EXT-X-SESSION-DATA:DATA-ID="com.example.title",LANGUAGE="en", \
           VALUE="This is an example"
   #EXT-X-SESSION-DATA:DATA-ID="com.example.title",LANGUAGE="es", \
           VALUE="Este es un ejemplo"
8.9. CHARACTERISTICS Attribute Containing Multiple Characteristics
8.9. 複数の特性を含むCHARACTERISTICS属性

Certain characteristics are valid in combination, as in:


CHARACTERISTICS= "public.accessibility.transcribes-spoken-dialog,public.easy-to-read"

CHARACTERISTICS = "public.accessibility.transcribes-spoken-dialog、public.easy-to-read"

8.10. EXT-X-DATERANGE Carrying SCTE-35 Tags
8.10. EXT-X-DATERANGE SCTE-35タグを搭載

This example shows two EXT-X-DATERANGE tags that describe a single Date Range, with an SCTE-35 "out" splice_insert() command that is subsequently updated with an SCTE-35 "in" splice_insert() command.



... Media Segment declarations for 60s worth of media

... 60年代相当のメディアのメディアセグメント宣言

#EXT-X-DATERANGE:ID="splice-6FFFFFF0",DURATION=59.993,SCTE35-IN= 0xFC002A0000000000FF00000F056FFFFFF000401162802E6100000000000A00 08029896F50000008700000000 ...

#EXT-X-DATERANGE:ID = "splice-6FFFFFF0"、DURATION = 59.993、SCTE35-IN = 0xFC002A0000000000FF00000F056FFFFFF000401162802E6100000000000A00 08029896F50000008700000000 ...

9. IANA Considerations
9. IANAに関する考慮事項

IANA has registered the following media type [RFC2046]:


Type name: application


Subtype name:


Required parameters: none


Optional parameters: none


Encoding considerations: encoded as UTF-8, which is 8-bit text. This media type may require encoding on transports not capable of handling 8-bit text. See Section 4 for more information.


Security considerations: See Section 10.


Compression: this media type does not employ compression.


Interoperability considerations: There are no byte-ordering issues, since files are 8-bit text. Applications could encounter unrecognized tags, which SHOULD be ignored.


Published specification: see Section 4.


Applications that use this media type: Multimedia applications such as the iPhone media player in iOS 3.0 and later and QuickTime Player in Mac OS X version 10.6 and later.

このメディアタイプを使用するアプリケーション:iOS 3.0以降のiPhoneメディアプレーヤーやMac OS Xバージョン10.6以降のQuickTime Playerなどのマルチメディアアプリケーション。

Fragment identifier considerations: no Fragment Identifiers are defined for this media type.


Additional information:


      Deprecated alias names for this type: none
      Magic number(s): #EXTM3U
      File extension(s): .m3u8, .m3u (see Section 4)
      Macintosh file type code(s): none

Person & email address to contact for further information: David Singer,

詳細について連絡する人とメールアドレス:David Singer、singer @。

Intended usage: LIMITED USE


Restrictions on usage: none


Author: Roger Pantos


Change Controller: David Singer

変更コントローラー:David Singer

10. Security Considerations
10. セキュリティに関する考慮事項

Since the protocol generally uses HTTP to transfer data, most of the same security considerations apply. See Section 15 of HTTP [RFC7230].

通常、プロトコルはHTTPを使用してデータを転送するため、同じセキュリティ上の考慮事項のほとんどが適用されます。 HTTP [RFC7230]のセクション15を参照してください。

Media file parsers are typically subject to "fuzzing" attacks. Implementors SHOULD pay particular attention to code that will parse data received from a server and ensure that all possible inputs are handled correctly.


Playlist files contain URIs, which clients will use to make network requests of arbitrary entities. Clients SHOULD range-check responses to prevent buffer overflows. See also the Security Considerations section of "Uniform Resource Identifier (URI): Generic Syntax" [RFC3986].

プレイリストファイルには、クライアントが任意のエンティティのネットワークリクエストを作成するために使用するURIが含まれています。クライアントは、バッファオーバーフローを防ぐために範囲チェック応答をすべきです(SHOULD)。 「Uniform Resource Identifier(URI):Generic Syntax」[RFC3986]のセキュリティに関する考慮事項のセクションも参照してください。

Apart from URL resolution, this format does not employ any form of active content.


Clients SHOULD limit each playback session to a reasonable number of concurrent downloads (e.g., four) to avoid contributing to denial-of-service attacks.


HTTP requests often include session state ("cookies"), which may contain private user data. Implementations MUST follow cookie restriction and expiry rules specified by "HTTP State Management Mechanism" [RFC6265] to protect themselves from attack. See also the Security Considerations section of that document, and "Use of HTTP State Management" [RFC2964].


Encryption keys are specified by URI. The delivery of these keys SHOULD be secured by a mechanism such as HTTP Over TLS [RFC2818] (formerly SSL) in conjunction with a secure realm or a session token.

暗号化キーはURIで指定されます。これらのキーの配信は、セキュアなレルムまたはセッショントークンとともに、HTTP over TLS [RFC2818](以前のSSL)などのメカニズムによって保護する必要があります(SHOULD)。

11. References
11. 参考文献
11.1. Normative References
11.1. 引用文献

[AC_3] Advanced Television Systems Committee, "Digital Audio Compression (AC-3) (E-AC-3) Standard", ATSC Standard A/52:2010, November 2010, < wp-content/uploads/2015/03/A52-201212-17.pdf>.

[AC_3] Advanced Television Systems Committee、 "Digital Audio Compression(AC-3)(E-AC-3)Standard"、ATSC Standard A / 52:2010、November 2010、< wp-content /uploads/2015/03/A52-201212-17.pdf>。

[AES_128] National Institute of Standards and Technology, "Advanced Encryption Standard (AES)", FIPS PUB 197, DOI 10.6028/NIST.FIPS.197, November 2001, <>.

[AES_128]米国国立標準技術研究所、「Advanced Encryption Standard(AES)」、FIPS PUB 197、DOI 10.6028 / NIST.FIPS.197、2001年11月、< NIST.FIPS.197.pdf>。

[CEA608] Consumer Electronics Association, "ANSI/CEA 608-E: Line 21 Data Services", April 2008.

[CEA608]家電協会、「ANSI / CEA 608-E:Line 21 Data Services」、2008年4月。

[CEA708] Consumer Technology Association, "Digital Television (DTV) Closed Captioning", ANSI/CTA Standard CEA-708-E, August 2013, < ANSI-CTA-708-E-Preview.pdf>.

[CEA708]消費者技術協会、「デジタルテレビ(DTV)クローズドキャプション」、ANSI / CTA標準CEA-708-E、2013年8月、< ANSI-CTA-708 -E-Preview.pdf>。

[COMMON_ENC] International Organization for Standardization, "Information technology -- MPEG systems technologies -- Part 7: Common encryption in ISO base media file format files", ISO/IEC 23001-7:2016, February 2016, < catalogue_detail.htm?csnumber=68042>.

[COMMON_ENC]国際標準化機構、「情報技術-MPEGシステム技術-パート7:ISOベースのメディアファイル形式ファイルでの一般的な暗号化」、ISO / IEC 23001-7:2016、2016年2月、<http:// www / iso / catalogue_detail.htm?csnumber = 68042>。

[H_264] International Telecommunications Union, "Advanced video coding for generic audiovisual services", January 2012, <>.

[H_264] International Telecommunications Union、「Advanced audio encoding for generic audiovisual services」、2012年1月、<>。

[HDCP] Digital Content Protection LLC, "High-bandwidth Digital Content Protection System - Mapping HDCP to HDMI", February 2013, < sites/default/files/specifications/ HDCP%20on%20HDMI%20Specification%20Rev2_2_Final1.pdf>.

[HDCP] Digital Content Protection LLC、「High-bandwidth Digital Content Protection System-Mapping HDCP to HDMI」、2013年2月、< %20HDMI%20Specification%20Rev2_2_Final1.pdf>。

[ISO_13818] International Organization for Standardization, "Generic coding of moving pictures and associated audio information", ISO/IEC International Standard 13818, October 2007, <>.

[ISO_13818]国際標準化機構、「動画および関連するオーディオ情報の一般的なコーディング」、ISO / IEC国際標準13818、2007年10月、<>。

[ISO_13818_3] International Organization for Standardization, "ISO/IEC International Standard 13818-3:1998; Generic coding of moving pictures and associated audio information - Part 3: Audio", April 1998, < catalogue_detail.htm?csnumber=26797>.

[ISO_13818_3]国際標準化機構、「ISO / IEC国際標準13818-3:1998、動画および関連するオーディオ情報の一般的なコーディング-パート3:オーディオ」、1998年4月、< iso / home / store / catalogue_tc / catalogue_detail.htm?csnumber = 26797>。

[ISO_13818_7] International Organization for Standardization, "Generic coding of moving pictures and associated audio information - Part 7: Advanced Audio Coding (AAC)", ISO/IEC International Standard 13818-3:2006, January 2006, < catalogue_detail.htm?csnumber=43345>.

[ISO_13818_7]国際標準化機構、「動画および関連するオーディオ情報の一般的なコーディング-パート7:Advanced Audio Coding(AAC)」、ISO / IEC国際規格13818-3:2006、2006年1月、<http:// www / iso / home / store / catalogue_tc / catalogue_detail.htm?csnumber = 43345>。

[ISO_14496] International Organization for Standardization, "Information technology -- Coding of audio-visual objects -- Part 3: Audio", ISO/IEC 14496-3:2009, 2009, <>.

[ISO_14496]国際標準化機構、「情報技術-オーディオビジュアルオブジェクトのコーディング-パート3:オーディオ」、ISO / IEC 14496-3:2009、2009、< / catalogue_detail?csnumber = 53943>。

[ISO_8601] International Organization for Standardization, "Data elements and interchange formats -- Information interchange -- Representation of dates and times", ISO/IEC International Standard 8601:2004, December 2004, <>.

[ISO_8601]国際標準化機構、「データ要素と交換フォーマット-情報交換-日付と時刻の表現」、ISO / IEC国際標準8601:2004、2004年12月、< iso / catalogue_detail?csnumber = 40874>。

[ISOBMFF] International Organization for Standardization, "Information technology -- Coding of audio-visual objects -- Part 12: ISO base media file format", ISO/IEC 14496-12:2015, December 2015, < catalogue_detail.htm?csnumber=68960>.

[ISOBMFF]国際標準化機構、「情報技術-視聴覚オブジェクトのコーディング-パート12:ISOベースのメディアファイル形式」、ISO / IEC 14496-12:2015、2015年12月、<http:// www。 catalogue_detail.htm?csnumber = 68960>。

[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, DOI 10.17487/RFC2046, November 1996, <>.

[RFC2046] Freed、N。およびN. Borenstein、「Multipurpose Internet Mail Extensions(MIME)Part Two:Media Types」、RFC 2046、DOI 10.17487 / RFC2046、1996年11月、< / info / rfc2046>。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <>.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、< rfc2119>。

[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, DOI 10.17487/RFC2818, May 2000, <>.

[RFC2818] Rescorla、E。、「HTTP Over TLS」、RFC 2818、DOI 10.17487 / RFC2818、2000年5月、<>。

[RFC2964] Moore, K. and N. Freed, "Use of HTTP State Management", BCP 44, RFC 2964, DOI 10.17487/RFC2964, October 2000, <>.

[RFC2964] Moore、K.、N。Freed、「Use of HTTP State Management」、BCP 44、RFC 2964、DOI 10.17487 / RFC2964、2000年10月、< >。

[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November 2003, <>.

[RFC3629] Yergeau、F。、「UTF-8、ISO 10646の変換フォーマット」、STD 63、RFC 3629、DOI 10.17487 / RFC3629、2003年11月、< rfc3629>。

[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, <>.

[RFC3986] Berners-Lee、T.、Fielding、R。、およびL. Masinter、「Uniform Resource Identifier(URI):Generic Syntax」、STD 66、RFC 3986、DOI 10.17487 / RFC3986、2005年1月、<https:/ />。

[RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, September 2009, <>.

[RFC5646]フィリップス、A。、エド。 M.デイビス編、「言語を識別するためのタグ」、BCP 47、RFC 5646、DOI 10.17487 / RFC5646、2009年9月、<>。

[RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, RFC 5652, DOI 10.17487/RFC5652, September 2009, <>.

[RFC5652] Housley、R。、「Cryptographic Message Syntax(CMS)」、STD 70、RFC 5652、DOI 10.17487 / RFC5652、2009年9月、<>。

[RFC6265] Barth, A., "HTTP State Management Mechanism", RFC 6265, DOI 10.17487/RFC6265, April 2011, <>.

[RFC6265] Barth、A。、「HTTP State Management Mechanism」、RFC 6265、DOI 10.17487 / RFC6265、2011年4月、<>。

[RFC6381] Gellens, R., Singer, D., and P. Frojdh, "The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types", RFC 6381, DOI 10.17487/RFC6381, August 2011, <>.

[RFC6381] Gellens、R.、Singer、D。、およびP. Frojdh、「「コーデック」および「プロファイル」パラメータの「バケット」メディアタイプ」、RFC 6381、DOI 10.17487 / RFC6381、2011年8月、<https: //>。

[RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March 2014, <>.

[RFC7159]ブレイ、T。、編、「JavaScriptオブジェクト表記(JSON)データ交換フォーマット」、RFC 7159、DOI 10.17487 / RFC7159、2014年3月、< rfc7159>。

[RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, DOI 10.17487/RFC7230, June 2014, <>.

[RFC7230]フィールディング、R。、エド。およびJ. Reschke編、「Hypertext Transfer Protocol(HTTP / 1.1):Message Syntax and Routing」、RFC 7230、DOI 10.17487 / RFC7230、2014年6月、< rfc7230>。

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <>.

[RFC8174] Leiba、B。、「RFC 2119キーワードの大文字と小文字のあいまいさ」、BCP 14、RFC 8174、DOI 10.17487 / RFC8174、2017年5月、< rfc8174>。

[SCTE35] Society of Cable Telecommunications Engineers, "Digital Program Insertion Cueing Message for Cable", ANSI/SCTE 35, August 2014, < ANSI_SCTE%2035%202014.pdf>.

[SCTE35] Society of Cable Telecommunications Engineers、「Digital Program Insertion Cueing Message for Cable」、ANSI / SCTE 35、2014年8月、< ANSI_SCTE%2035%202014。 pdf>。

[US_ASCII] American National Standard for Information Systems, "Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)", ANSI X3.4, December 1986.

[US_ASCII]情報システムの米国規格、「コード化文字セット-情報交換用7ビット米国規格コード(7ビットASCII)」、ANSI X3.4、1986年12月。

[WebVTT] World Wide Web Consortium (W3C), "WebVTT: The Web Video Text Tracks Format", Draft Community Group Report, June 2017, <>.

[WebVTT] World Wide Web Consortium(W3C)、「WebVTT:The Web Video Text Tracks Format」、ドラフトコミュニティグループレポート、2017年6月、<>。

11.2. Informative References
11.2. 参考引用

[CMAF] International Organization for Standardization, "Information technology -- Multimedia application format (MPEG-A) -- Part 19: Common media application format (CMAF) for segmented media", ISO/IEC FDIS 23000-19, <>.

[CMAF]国際標準化機構、「情報技術-マルチメディアアプリケーションフォーマット(MPEG-A)-パート19:セグメント化されたメディアの共通メディアアプリケーションフォーマット(CMAF)」、ISO / IEC FDIS 23000-19、<https:/ />。

[ID3], "The ID3 audio file data tagging format", <>.


[M3U] Nullsoft, Inc., "The M3U Playlist format, originally invented for the Winamp media player", < index.php?title=M3U7amp;oldid=786631666>.

[M3U] Nullsoft、Inc.、「元々はWinampメディアプレーヤー用に発明されたM3Uプレイリストフォーマット」、< index.php?title = M3U7amp; oldid = 786631666>。

[SampleEnc] Apple Inc., "MPEG-2 Stream Encryption Format for HTTP Live Streaming", < AudioVideo/Conceptual/HLS_Sample_Encryption/>.

[SampleEnc] Apple Inc。、「MPEG-2 Stream Encryption Format for HTTP Live Streaming」、< AudioVideo / Conceptual / HLS_Sample_Encryption />。

[UNICODE] The Unicode Consortium, "The Unicode Standard", <>.

[UNICODE] Unicodeコンソーシアム、「The Unicode Standard」、<>。

[UTI] Apple Inc., "Uniform Type Identifier", < general/conceptual/DevPedia-CocoaCore/ UniformTypeIdentifier.html>.

[UTI] Apple Inc。、「Uniform Type Identifier」、< general / conceptual / DevPedia-CocoaCore / UniformTypeIdentifier.html>。



Significant contributions to the design of this protocol were made by Jim Batson, David Biderman, Bill May, Roger Pantos, Alan Tseng, and Eryk Vershen. Stuart Cheshire helped edit the specification.

このプロトコルの設計に多大な貢献をしたのは、ジムバットソン、デビッドビダーマン、ビルメイ、ロジャーパントス、アランツェン、およびエリックヴァーシェンです。 Stuart Cheshireが仕様の編集を手伝いました。

Authors' Addresses


Roger Pantos (editor) Apple, Inc. Cupertino, California United States of America



William May, Jr. Major League Baseball Advanced Media New York, New York United States of America