User Tools

Site Tools


HLS (Apple HTTP Live Streaming)

Dynamic cutting of HLS-chunks is supported for mp4 format and codecs h264 / 265 and aac / mp3. Those in cdn it is enough to load the whole mp4 and add the parameter / media = hls / - the link will download the .m3u8 playlist with links to .ts chunks. Filling individual chunks in cdn is not necessary and, generally speaking, impossible - CDN may not have time to allocate them to nodes, it is designed to work with large files.

In HLS the default is to cut into 10s chunks without being bound to keyframes. If this causes problems when playing - you can activate the binding to keyframes, you need to specify / media = hlsA / instead of / media = hls /. In this case, the interval between keyframes should be no more than 10s (ideally - exactly 10s, 3-5c is also good), otherwise, there may be empty chunks, which for sure will cause problems for the player.

If everything works fine in / media = hls / mode - it's better to leave it, so there will be less load on the server.

The following options are possible:

  • /media=hls/ - segment size is 10 seconds, without keyframe alignment
  • /media=hls2/ - segment size is 2 seconds, without keyframe alignment
  • /media=hls5/ - segment size is 5 seconds, without keyframe alignment
  • /media=hlsA/ - segment size is 10 seconds, keyframe alignment enabled.

The actual segment size will vary, if there are more than ten seconds between keyframes - there may be empty segments.


There is a feature of getting HLS multibitrate playlist “on-the-fly” : HLS multibitrate playlist

en/feature_hls.txt · Last modified: 2021/02/15 15:38 by psv