Steam trailers are HLS: the MP4 is stitched in your browser
A Steam trailer is not a file you can grab — it is a playlist of fragments. The downloader reads the playlist's qualities, and your browser assembles them into one MP4.
Steam used to publish trailers as plain MP4 and WebM files, and those fields still exist in its store API. They are now always empty. What Steam publishes instead is an HLS master playlist: a small text file that describes the trailer's renditions and points at fragments of a few seconds each.
Playlist first, fragments second
The resolver's job ends early here. It reads the store page's metadata, takes the trailer's master playlist URL, parses it, and returns one row per rendition with its resolution, bitrate and frame rate. It never fetches video fragments and never assembles anything — that would mean moving the whole video through a server for no reason.
| What the resolver reads | What the browser then does |
|---|---|
| Master playlist: renditions, resolutions, bitrates, audio group | Picks the rendition you chose |
| The segment template inside the playlist | Fetches that rendition's fragments from Steam's CDN and joins them |
| The audio group the master names | Merges the video and the AAC audio track into one MP4 |
The stitching happens in the tab that is already open, from Steam's own CDN (video.akamai.steamstatic.com). A two-minute trailer is roughly ninety fragments, so the progress bar fills within a few seconds on a normal connection.
Reading the quality list
- Each row is one rendition the trailer actually carries, highest resolution first.
- Rows show the resolution and the bitrate, because two renditions can share a resolution and differ in how much data backs it.
- Steam's trailers often reach 1920×1080, but a small indie trailer may top out far lower.
- Trailers and gameplay clips are listed together; each one carries a poster image so you can tell them apart before downloading.
The fragments are copied byte for byte into the finished MP4. The picture and the sound are exactly what Steam's own client plays at that resolution — the join is a container change, not a re-encode, so nothing is softened on the way.
What can go wrong
Two things, both about the network rather than the video. If Steam's store metadata does not answer, the resolver retries once before reporting a failure. If the playlist itself cannot be parsed, the same retry applies — and if it still fails, the page says so instead of offering a download that would not finish.
A game page with no videos returns no_video. That includes pages where the only media is a screenshot gallery, which is common for unreleased titles.
The short version
- Steam no longer serves plain trailer files; HLS is the only route.
- The resolver reads the playlist; your browser fetches the fragments and merges them.
- The finished MP4 is a copy of the stream, not a re-encode.
- Nothing passes through this site, and nothing is stored.
Questions
Is the downloaded trailer lower quality than the one Steam plays?
No. The fragments are copied into the MP4 byte for byte, so the picture and audio match the rendition you picked — the same stream Steam's own client plays at that resolution.
Why does a Steam download show a progress bar when Pinterest's does not?
Because Steam's CDN allows the browser to read the fragments, so the page really is downloading the file and can report progress. Pinterest's CDN does not, so that download has to be a plain navigation.
A game page shows no videos — why?
That page has no trailers or gameplay clips attached. Screenshot galleries are not video, and unreleased games often have neither until closer to launch.