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.
- Range Request Support: The API sends a
Range: bytes=0-header to verify if the server supports partial content requests (HTTP 206). - Moov Atom Placement: For MP4 files, true streaming requires the
moovatom to be located at the beginning of the file (before themdatatom).
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.