Skip to content

HLS network lab

See how a video player survives a bad network.

Pick a stream and a network, press Run, and watch hls.js fight it in real time: the bandwidth it gets, the quality it picks, the buffer, every stall. Then read a report with the numbers viewers feel.

90 seconds. Runs in your browser; nothing is uploaded.

Set up a run

Stream

Public test streams, hosted by others

Five qualities from 240p to 1080p, fMP4, 4 s segments, English subtitles.

Network

6 Mbps, then weaker in the tunnel, 12 s with no signal at all, and a climb back to 6 Mbps. 1:30 · RTT 80 ms

Player

hls.js

hls.js out of the box.

Run

Plays in real time for 1:30. Charts update live, and the result appears at the end.

How it works

  1. A real player

    hls.js plays the stream in this page with the settings you chose. Nothing about its logic is faked.

  2. A simulated network

    Segment bytes reach the player on the schedule your network curve allows, shared between parallel downloads.

  3. Honest numbers

    The same setup gives the same result. If your real connection was the bottleneck, the report says so.

Sample film: Tears of Steel, (CC) Blender Foundation | mango.blender.org, CC BY 3.0, re-encoded for streaming.

Built by Azamat Jorayev