HLS, or HTTP Live Streaming, is an HTTP-based video streaming protocol implemented by Apple. Eurofins Digital Testing has created a set of test resources here to test an HLS player's support for various features within HLS. Our HLS test streams are available on a trial basis for 30 days, free of charge.

Our HLS Test Suite covers some of the latest changes in the HLS specification (and some other areas that can cause interoperability challenges) to ensure that they work properly, and is intended for testing support for HLS features on consumer devices, especially non-iOS devices such as TVs and STBs.

  • Fragmented MPEG-4 (fMP4) Segments — a relatively recent addition to HLS which has traditionally used Transport Stream (TS) based segments. fMP4 segment support was introduced to HLS as a step towards easier coexistence with DASH.
  • Failover — simulates a content server failure and tests the player's support for switching to an alternative backup content server.
  • Various segment lengths to see how the player deals with adapting to network conditions with segments that are shorter or longer than the Apple-recommended default of 6s.
  • Byterange-based media playlists as an alternative to individual segments.

Each test includes audio and video at a range of bitrates, and a text overlay to make it simple to see what variant is being played.

Full instructions and detailed notes on using the test streams is provided when you register below.

The tests

Click on a test for more information.

This is a basic test using fMP4 segments, with all segments having a nominal duration of 2 seconds. This is shorter than the recommended segment duration of 6 seconds but all compatible players should play this content without issue. In some network conditions short segment lengths may allow a player to perform better, for example adapting more quickly to changes in network availability.

This is a basic test using TS segments, with all segments having a nominal duration of 2 seconds. This is shorter than the recommended segment duration of 6 seconds but all compatible players should play this content without issue. In some network conditions short segment lengths may allow a player to perform better, for example adapting more quickly to changes in network availability.

This is a basic test using fMP4 segments, with all segments having a nominal duration of 10 seconds. This segment duration is longer than the current recommended length of 6 seconds, but all compatible players are expected to play this content without issue.

This is a basic test using TS segments, with all segments having a nominal duration of 10 seconds. This segment duration is longer than the recommended length of 6 seconds, but all compatible players are expected to play the content without issue.

This test has fMP4 segments and uses the EXT-X-BYTERANGE tag in the media manifest files to indicate that media segments can be obtained by fetching a sub-range of the resource identified by the URI.

This test has TS media segments and uses the EXT-X-BYTERANGE tag in the media manifest files to indicate that media segments can be obtained by fetching a sub-range of the resource identified by the URI.

This test has two variants (both using fMP4 segments), one with video at 50 frames per second and one at 25 frmaes per second. This test can be used to check that a player can play 50fps content, and switch seamlessly between 50fps and 25fps content.

This test can be used to check that a player can switch to an alternative (backup) server for the same content if one server becomes unavailable.

The master playlist lists two servers serving the same content. Part-way through playback, after 60s, we arrange for the main server to "fail" (respond with HTTP 500), which should cause a player to attempt to fetch the same content from the backup server and continue playback with no visible errors (assuming suitable network conditions).

This test checks that a player can switch seamlessly between "advert" content at the start of a presentation, and "main programme" content. The master playlist specifies two different videos, simulating an advert to be played before the main programme.

This test checks that a player correctly handles HTTP Redirect responses to media requests. This is one method that a system could use to defer decisions on what content (such as what adverts) to play until playback time (rather than encode time, or when the master playlist is fetched, say).

Register for 30 days free access

To get 30 days free access to the test suite please complete this form.

We will send you an email with full instructions for accessing and using the tests with your HLS player.