Files
v10/packages/spf
Christian PillsburyandClaude Opus 4.8 cf8aaca45b feat(spf): add mp4 box parser and decode-time origin extraction
Minimal ISO-BMFF box walker (media/mp4/box.ts) plus decode-time origin
extraction (timestamp-origin.ts) for the non-zero-PTS timestampOffset
relocation spike. Relocating a source by tfdt.baseMediaDecodeTime (a DTS)
over mdhd.timescale keeps the earliest DTS >= 0, so a Chromium
negative-DTS append failure is impossible by construction.

Two variants share the box walker and leaf field-readers:

- Presumptive (readFirstMediaTimescale / readFirstBaseMediaDecodeTime):
  the first mdhd timescale + first tfdt baseMediaDecodeTime, no track_id,
  no iteration. For single-media-track sources.
- Track-selected (findMediaTrack by hdlr handler / readBaseMediaDecodeTime
  by tfhd track_id): the track_id joins one track's timescale to the same
  track's baseMediaDecodeTime -- required when a source muxes CEA-608/708
  captions into the same moov/moof (each track carries its own timescale
  and baseMediaDecodeTime).

Split into separate exports so caption-free platforms tree-shake the
matching machinery away (~37% smaller minified than the track-selected
pair).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 09:34:24 -07:00
..
2026-05-19 12:48:40 -07:00

@videojs/spf

package-badge

⚠️ Beta Experimental adoption in real projects.

Overview

@videojs/spf is a lightweight, bundle-size-optimized streaming engine for Video.js 10. It provides HLS playback with adaptive bitrate switching, WebVTT captions, and MSE support.

Community

If you need help with anything related to Video.js 10, or if you'd like to casually chat with other members:

License

Apache-2.0