<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en">RFC 8216 - HTTP Live Streaming</cite> (<time>2018-04-11 20:05:57 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8216#section-2">https://tools.ietf.org/html/rfc8216#section-2</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <strong><cite xml:lang="en">RFC 8216 - HTTP Live Streaming</cite> (<time>2018-04-22 20:10:35 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8216#section-4">https://tools.ietf.org/html/rfc8216#section-4</anchor-external></strong></li></ul></refs></section><section><h1>構成</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HLS</anchor> の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プレイリスト<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Playlist</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体プレイリスト</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マスタープレイリスト</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プレイリスト<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HLSプレイリスト</title></anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> と<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記述的タグ<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">descriptive tag</rt></rubyb>を含んだ
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">テキストファイル</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 8216</anchor> 第4章の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プレイリスト<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HLSプレイリスト</title></anchor>の規定における <MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MUST</MUST>
要件は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合法</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プレイリスト<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HLSプレイリスト</title></anchor>の構文と構造の規則を定めるものであり、
違反は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非妥当</anchor>であります。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析</anchor>に<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失敗<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">fail</rt></rubyb>しなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src></p></section><section><h1>MIME型と拡張子</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プレイリスト<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HLSプレイリスト</title></anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL path</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">拡張子</title></anchor> <dfn><code>.m3u8</code></dfn> または <dfn><code>.m3u</code></dfn>
により、または
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor> <code class="MIME" xml:lang="en">application/vnd.apple.mpegurl</code> または
<code class="MIME" xml:lang="en">audio/mpegurl</code> により識別しなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プレイリスト<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">HLSプレイリスト</title></anchor>であると識別されていないものの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析</anchor>を拒む<SHOULD xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです</SHOULD>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
現実にはこの他に</p><ul><li><code>audio/x-mpegurl</code></li><li><code>application/x-mpegurl</code></li><li><code>video/x-mpegurl</code></li><li><code>video/x-mpegurl</code></li></ul><p>が使われることがあります。</p></section><section><h1>メモ</h1></section></body></html>