Christian PillsburyandClaude Opus 4.8 2733cba052 feat(spf): relocate non-zero-PTS sources to a 0-based timeline
Assets whose A/V encode starts at a non-zero native PTS (Mux instant clips,
Apple bipbop @10s) are relocated onto a 0-based presentation timeline via
`SourceBuffer.timestampOffset`, so buffer / model / `currentTime` / `seekable`
stay 0-based and the adapter is untouched.

- `establishStartMediaTime` reactor establishes each track's media-timeline
  origin once per source (the DOM-free half), running an injected
  `deriveStartMediaTime` seam over discovered container data.
- Default `deriveSharedMinStartMediaTime`: relocate every track by the `min`
  across selected A/V origins — preserves real A/V skew and keeps every DTS >= 0.
  Origins below NEAR_ZERO_ORIGIN_THRESHOLD (1s) are left native (ordinary
  ~0-PTS VOD isn't perturbed).
- `relocation-steps` message pipelines discover the origin (mdhd/tfdt head-peek)
  and stamp `timestampOffset`; text cues rebase by X-TIMESTAMP-MAP − origin.
- Wired into both the default and audio-only HLS engines.

See internal/design/spf/presentation-timeline-model.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 12:00:15 -07:00
2026-07-10 12:58:47 +10:00
2026-07-10 12:58:47 +10:00
2026-07-10 12:58:47 +10:00
2026-03-13 12:09:24 -07:00
2026-07-10 12:58:47 +10:00
2026-07-10 12:58:47 +10:00
2026-07-07 13:08:22 -05:00
2026-07-10 12:58:47 +10:00
2026-04-15 15:28:38 -07:00

Video.js v10

package-badge discord-badge pnpm

Modern, modular, and composable media player framework for Web and React.

🚧 Beta - close to stable. Experimental adoption in real projects. 🚧

Video.js v10 is close to stable. Try it out in real projects and share your feedback 🙏.

Timeline

  • Technical Preview (Complete): Initial showcase for Demuxed.
  • Alpha (Complete): See milestone
  • Beta (Complete): See milestone
  • GA (Mid 2026): See milestone ← WIP
  • Video.js (End of 2026): Video.js core/contrib parity and supported plugins migrated.

Documentation

If you'd like to get started and learn more, you can find our documentation on our website:

Community

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

Contributing

We'd love for you to join our community channels above and give us feedback! Feedback on any of the following would help us:

  • Player skin designs
  • Component structures and APIs
  • Package structure and exports
  • Repo, workspace, contributor guides

Please see our contributing guide for getting set up locally and making code or docs changes.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

S
Description
[Beta] Video.js v10 - open source media player framework for Web and React.
Readme
57 MiB
Languages
TypeScript 81.9%
MDX 10.9%
CSS 2.6%
Astro 2.5%
JavaScript 1.2%
Other 0.8%