Apple recommends a chunk size of a minimum of 7 seconds.
Player | Version | Video codec | fragmented MP4 |
WebVTT subtitle | SMPTE-TT subtitle | Audio in groups | Remarks | Date | ||
---|---|---|---|---|---|---|---|---|---|---|
H.264 | HEVC | Text profile | Image profile | |||||||
iOS Safari player | 8.4.1 | X | X | X | X | X | X | N/A | 2017/08/01 | |
MacOS Quick Time Player | 10.13 | X | X | X | X | X | X | N/A | 2017/08/01 | |
jwplayer | 7.12.6 | X | X | X | X | N/A | 2017/08/01 | |||
bitdash | 7.3.5 | X | X | X | X | N/A | 2017/08/01 | |||
VLC | 2.2.6 | X | X | N/A | 2017/06/01 |
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-PROGRAM-DATE-TIME:2014-03-24T13:39:31,215Z #EXTINF:10.000, 17ac6a93b43d99bfe4e3d6016074a383_1.ts #EXT-X-PROGRAM-DATE-TIME:2014-03-24T13:39:41,215Z #EXTINF:10.000, 17ac6a93b43d99bfe4e3d6016074a383_2.ts #EXT-X-PROGRAM-DATE-TIME:2014-03-24T13:39:51,215Z #EXTINF:10.000, 17ac6a93b43d99bfe4e3d6016074a383_3.ts #EXT-X-PROGRAM-DATE-TIME:2014-03-24T13:40:01,215Z #EXTINF:10.000, 17ac6a93b43d99bfe4e3d6016074a383_4.ts
Video codecs | Audio codecs | Subtitles | Ad insertion |
---|---|---|---|
H.264 HEVC |
Pass-through MPEG-1 Layer II AAC-LC (ADTS) HE-AAC v1/v2 Dolby Digital/Dolby Digital Plus |
Teletext passthrough Teletext to WebVTT DVB-Subtitle passthrough Closed caption EIA-608 to WebVTT Closed Caption 608/708 passthrough |
SCTE35 |
Resolution | Framerate | H264 Profile/Level | iPod Touch Gens 2,3,4 | iPod Touch Gens 5 | iPhone 3G, 3GS, 4 | iPhone 4S, 5, 5C, 5S | iPad 1,2 | iPad 3,4,5 | Apple TV Gen 2 | Apple TV Gen 3 |
---|---|---|---|---|---|---|---|---|---|---|
416x234 | 12 | Baseline 3.0 | x | x | x | x | x | x | x | x |
480x270 | 15 | Baseline 3.0 | x | x | x | x | x | x | x | x |
640x360 | 25/29,97 | Baseline 3.0 | x | x | x | x | x | x | x | x |
640x360 | 25/29,97 | Baseline 3.1 | x | x | x | x | x | x | ||
690x540 | 25/29,97 | Main 3.1 | x | x | x | x | x | x | ||
1280x720 | 25/29,97 | Main 3.1 | x | x | x | x | x | x | ||
1920x1080 | 25/29,97 | High 4.0 | x | x | x | x |
iDevices are not able to deinterlace interlaced content.
MPEG1-LayerII, Dolby Digital and Dolby Digital Plus codecs are not supported by iDevices.
Local publication information are available from Origin Server configuration documentation.
Supported publication servers: see Interoperability table
#EXTM3U #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",BANDWIDTH=467028 http://example-i.akamaihd.net/hls/live/stream_id/event_name/55bd91e21bb547298757220b0922e47a/1/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",BANDWIDTH=467028 http://example-i.akamaihd.net/hls/live/stream_id-b/event_name/55bd91e21bb547298757220b0922e47a/1/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",BANDWIDTH=671376 http://example-i.akamaihd.net/hls/live/stream_id/event_name/55bd91e21bb547298757220b0922e47a/2/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",BANDWIDTH=671376 http://example-i.akamaihd.net/hls/live/stream_id-b/event_name/55bd91e21bb547298757220b0922e47a/2/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",BANDWIDTH=773550 http://example-i.akamaihd.net/hls/live/stream_id/event_name/55bd91e21bb547298757220b0922e47a/3/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.640029,mp4a.40.2",BANDWIDTH=773550 http://example-i.akamaihd.net/hls/live/stream_id-b/event_name/55bd91e21bb547298757220b0922e47a/3/playlist.m3u8
URLs highlighted in red are backup URLs.
#EXTM3U #EXT-X-STREAM-INF:CODECS="avc1.640015,mp4a.40.2",BANDWIDTH=467028 profile1/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001e,mp4a.40.2",BANDWIDTH=977898 profile2/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001f,mp4a.40.2",BANDWIDTH=2203985 profile3/playlist.m3u8
Multi-audio is supported since iOS 6 only.
In "Output" > "Packaging" > "Multiplexing" panel, enable "Audio in audio Groups".#EXTM3U #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1",NAME="audio-eng",LANGUAGE="eng",DEFAULT=YES,URI="profile4/playlist.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1",NAME="audio-deu",LANGUAGE="deu",URI="profile5/playlist.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1",NAME="audio-fra",LANGUAGE="fra",URI="profile6/playlist.m3u8" #EXT-X-STREAM-INF:CODECS="avc1.640015,mp4a.40.2",BANDWIDTH=459263,AUDIO="A1.1+A2.1+A3.1" profile1/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001e,mp4a.40.2",BANDWIDTH=970132,AUDIO="A1.1+A2.1+A3.1" profile2/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001f,mp4a.40.2",BANDWIDTH=2196219,AUDIO="A1.1+A2.1+A3.1" profile3/playlist.m3u8
#EXTM3U #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1",NAME="audio-eng",LANGUAGE="eng",DEFAULT=YES,URI="profile4/playlist.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.2",NAME="audio-eng",LANGUAGE="eng",DEFAULT=YES,URI="profile5/playlist.m3u8" #EXT-X-STREAM-INF:CODECS="mp4a.40.2",BANDWIDTH=64000,AUDIO="A1.2" profile4/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.640015,mp4a.40.2",BANDWIDTH=459263,AUDIO="A1.1" profile1/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001e,mp4a.40.2",BANDWIDTH=970132,AUDIO="A1.1" profile2/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001f",BANDWIDTH=2068219 profile3/playlist.m3u8
#EXTM3U
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1",NAME="audio-eng",LANGUAGE="eng",DEFAULT=YES,URI="profile4/playlist.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1",NAME="audio-deu",LANGUAGE="deu",URI="profile5/playlist.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="T1",NAME="sub-deu",LANGUAGE="deu",DEFAULT=YES,AUTOSELECT=YES,URI="profile6/playlist.m3u8"
#EXT-X-STREAM-INF:CODECS="avc1.640015,mp4a.40.2",BANDWIDTH=555263,AUDIO="A1.1+A2.1",SUBTITLES="T1"
profile1/playlist.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.64001e,mp4a.40.2",BANDWIDTH=1066132,AUDIO="A1.1+A2.1",SUBTITLES="T1"
profile2/playlist.m3u8
#EXT-X-STREAM-INF:CODECS="avc1.64001f,mp4a.40.2",BANDWIDTH=2292219,AUDIO="A1.1+A2.1",SUBTITLES="T1"
profile3/playlist.m3u8
iDevices natively supports Closed Caption EIA-608/708 decoding.
DRM Provider | Protection Sheme | Protection System | Encryption Algorithm | Key Rotation |
---|---|---|---|---|
Manual | AES-128 + Pantos Standard Signaling | N/A | AES-CBC 128 | No |
AutoGen | AES-128 + Pantos Standard Signaling | N/A | AES-CBC 128 | Yes |
Verimatrix | AES-128 + Pantos Standard Signaling | N/A | AES-CBC 128 | Yes |
Secure Media | AES-128 + Pantos Standard Signaling | N/A | AES-CBC 128 | Yes |
Inside Secure | AES-128 + Inside Secure Krypton | PlayReady | AES-CTR 128 | Yes |
Irdeto | AES-128 + Irdeto Specific Signaling | PlayReady Scalable Licenses | AES-CTR 128 | Yes |
splice_info_section() { table_id: 0xFC section_syntax_indicator: 0x00 private_indicator: 0x00 section_length: 0x25 protocol_version: 0x00 encrypted_packet: 0x00 encryption_algorithm: 0x00 pts_adjustement: 0x0 cw_index: 0x00 splice_command_length: 0xFFF splice_command_type: 0x05 splice_insert() { splice_event_id: 0x64 splice_event_cancel_indicator:0x00 out_of_network_indicator: 0x01 program_splice_flag: 0x01 duration_flag: 0x01 splice_immediate_flag: 0x00 splice_time() { time_specified_flag: 0x01 pts_time: 0x1C9B4CC58 } break_duration() { auto_return: 0x00 duration: 0x5265C0 } unique_program_id: 0x00 avail_num: 0x00 avails_expected: 0x00 } descriptor_loop_length: 0x0 splice_descriptor() { splice_descriptor_tag: 0x9a descriptor_length: 0x27 identifier: 0x74fdffff private_bytes: ff, ff, ff } }
#EXT-X-PROGRAM-DATE-TIME:2014-02-21T13:17:28Z
#EXTINF:2.102,
chunk4.ts
#EXT-X-CUE-OUT:DURATION=60,ID=100
#EXT-X-DISCONTINUITY
#EXT-X-PROGRAM-DATE-TIME:2014-02-21T13:17:30Z
#EXTINF:7.908,
chunk5.ts
splice_info_section() { table_id: 0xFC section_syntax_indicator: 0x00 private_indicator: 0x00 section_length: 0x25 protocol_version: 0x00 encrypted_packet: 0x00 encryption_algorithm: 0x00 pts_adjustement: 0x0 cw_index: 0x00 splice_command_length: 0xFFF splice_command_type: 0x05 splice_insert() { splice_event_id: 0x64 splice_event_cancel_indicator:0x00 out_of_network_indicator: 0x00 program_splice_flag: 0x01 duration_flag: 0x00 splice_immediate_flag: 0x00 splice_time() { time_specified_flag: 0x01 pts_time: 0x1C9B4CC58 } unique_program_id: 0x00 avail_num: 0x00 avails_expected: 0x00 } descriptor_loop_length: 0x0 splice_descriptor() { splice_descriptor_tag: 0x9a descriptor_length: 0x27 identifier: 0x74fdffff private_bytes: ff, ff, ff } }
#EXT-X-PROGRAM-DATE-TIME:2014-02-21T13:18:28Z
#EXTINF:1.969,
chunk11.ts
#EXT-X-CUE-IN:ID=100
#EXT-X-DISCONTINUITY
#EXT-X-PROGRAM-DATE-TIME:2014-02-21T13:18:30Z
#EXTINF:8.041,
chunk12.ts
#EXTM3U #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1",NAME="audio-eng",LANGUAGE="eng",DEFAULT=YES,URI="profile4/playlist.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.2",NAME="audio-eng",LANGUAGE="eng",DEFAULT=YES,URI="profile5/playlist.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="T1",NAME="sub-deu",LANGUAGE="deu",DEFAULT=YES,AUTOSELECT=YES,URI="profile6/playlist.m3u8" #EXT-X-STREAM-INF:CODECS="avc1.640015,mp4a.40.2",BANDWIDTH=555263,AUDIO="A1.1",SUBTITLES="T1" profile1/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001e,mp4a.40.2",BANDWIDTH=1066132,AUDIO="A1.1",SUBTITLES="T1" profile2/playlist.m3u8 #EXT-X-STREAM-INF:CODECS="avc1.64001f,mp4a.40.2",BANDWIDTH=2228219,AUDIO="A1.2",SUBTITLES="T1" profile3/playlist.m3u8
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:24,000Z #EXTINF:10.000, chunk1.ts #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:34,000Z #EXTINF:10.000, chunk2.ts
#EXTM3U
#EXT-X-FORMAT:ts
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:24,000Z
#EXTINF:10.000,
chunk1.ts
#EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:34,000Z
#EXTINF:10.000,
chunk2.ts
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:24,050Z #EXTINF:10.000, chunk1.ts #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:34,050Z #EXTINF:10.000, chunk2.ts
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:24Z #EXTINF:10.000, chunk1.ts #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:34Z #EXTINF:10.000, chunk2.ts
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:1 #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:24,000Z #EXTINF:10.000, chunk1.ts #EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:34,000Z #EXTINF:10.000, chunk2.ts
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-SESSION: a218022a0559010e7ddad2b0c15546ff
#EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:24,000Z
#EXTINF:10.000,
chunk1.ts
#EXT-X-PROGRAM-DATE-TIME:2015-05-05T13:38:34,000Z
#EXTINF:10.000,
chunk2.ts
#EXTM3U #EXT-X-AL-MEZZANINE #EXT-X-TARGETDURATION:1 #EXT-X-MEDIA-SEQUENCE:2 #EXT-X-AL-TEMPLATE: SEQU=2, REPEAT=5031, #EXT-X-PROGRAM-DATE-TIME:2015-05-06T11:53:11,060Z #EXTINF:2.000, segment<$NUMBER>.ts