Skip to content
Novus Examples
m4s19.2 KB

DASH VOD — Media Segment (chunk-stream0-00002.m4s)

A one-second DASH media segment, addressed by the manifest's $Number$ template. The same underlying CMAF structure as the HLS segments in the sibling package — which is the whole point of CMAF, and something a fixture set should let you verify rather than take on trust.

Rendered preview of DASH VOD — Media Segment (chunk-stream0-00002.m4s)

Rendered preview of the m4s file (19.2 KB). Download above for the original.

Specifications

Protocol
MPEG-DASH
Profile
isoff-live
Addressing
SegmentTemplate with $Number$
Segment Duration
1s
Ladder
320x180 at 300 kbps, 480x270 at 700 kbps, 640x360 at 1400 kbps
Generated By
ffmpeg dash muxer
Served Inline
yes — /files/stream/
Cors
Access-Control-Allow-Origin: *

What is a .m4s file?

M4S is a CMAF/fragmented-MP4 media segment: a moof header plus an mdat payload covering a few seconds of one rendition. It is not a complete file — the codec configuration lives in a separate initialisation segment, so an .m4s on its own cannot be decoded and most players will refuse it outright.

How to use this file

Use example .m4s segments to test adaptive-streaming clients, segment fetchers and CMAF parsers. Load the matching init segment first, then append segments in order; a client that can play a segment without its init is not doing CMAF correctly.

How to use this file for testing

“DASH VOD — Media Segment (chunk-stream0-00002.m4s)” is a deterministic Novus Examples fixture for Streaming manifests, Video codecs, Video QA. HLS playlists and DASH MPDs covering multi-bitrate ladders, byte-range addressing, and segment templates. Served inline with permissive CORS under /files/stream/, so a player can load them from any origin without re-hosting.

Documented properties for this file: M4S · 19,650 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Media fixtures are short and synthetic by design. Prefer waveform or transcript ground truth in the same group when measuring ASR, trim, upscale, or sync tools; do not assume broadcast-quality masters.

Generated by generation/video_streaming_wave.py. Free for any use, no attribution required — license.