mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
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>
@videojs/spf
⚠️ 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: