HTTP Live Streaming protocol is designed by Apple. It can send live and on‐demand audio or video to any device with HTTP Live Streaming (HLS) technology. By using this technology, Content Delivery Networks are used to host these types of contents by separating ordinary web servers from CPU consuming transactions. HTTP live streaming performance test is essential for its quality.
HLS is an adaptive bitrate technology for different bandwidths and resolutions. HLS files are divided into small files encoded using the mpg2_ts codec. The streams are mapped to the client in real time using a .m3u8 index file based on screen size and available bandwidth.
Let’s see how to do a load test on an HLS platform. HLS files have a .m3u8 extension and it’s important for you to understand its structure and responses.
Example:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=688301
http://url/1010qwoeiuryfg/0640_vod.m3u8
By using this specific regular expression, we capture the numeric expression located in the responses like “0640_vod.m3u8”.
You may receive thousands of chucks, so you need to make a request to each one of them.
We are ready to make a request to the captured chunks but one step is missing. That is; keeping the streaming alive.
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
0640/06400.ts
#EXTINF:10,
0640/06401.ts
#EXTINF:10,
0640/06402.ts
HTTP Live Streaming Performance
Please feel free to ask questions if you have any.
Happy load testing!