Skip to content

Streamability Detection

For video and audio assets, knowing if a file can be progressively streamed before downloading it entirely is essential for performant frontend playback.

How it Works

The API determines streamability using a combination of HTTP server capabilities and container format metadata.

  1. Range Request Support: The API sends a Range: bytes=0- header to verify if the server supports partial content requests (HTTP 206).
  2. Moov Atom Placement: For MP4 files, true streaming requires the moov atom to be located at the beginning of the file (before the mdat atom).

The streamable Flag

The response payload contains a boolean streamable flag.

json
{
  "streamable": true
}

Interpretation

  • true: The server supports range requests, and the file container is optimized for progressive streaming.
  • false: The server does not support partial content, or the file container requires a full download before playback can begin.

Impact on Clients

If streamable: false is returned for a video asset, frontend applications should warn users of potential buffering delays, or backend services should queue the file for transcoding/re-muxing.

Infrastructure Documentation — Behavior-Driven, Schema-Governed