Skip to content

Initial attempt at MoQ playback#764

Open
kixelated wants to merge 6 commits intovideojs:mainfrom
kixelated:moq-media
Open

Initial attempt at MoQ playback#764
kixelated wants to merge 6 commits intovideojs:mainfrom
kixelated:moq-media

Conversation

@kixelated
Copy link

@kixelated kixelated commented Mar 6, 2026

WebCodecs backend:

<moq-canvas id="wc" src="https://cdn.moq.dev/demo?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb290IjoiZGVtbyIsImdldCI6WyIiXSwiZXhwIjpudWxsLCJpYXQiOm51bGx9.6EoN-Y1Ouj35_qV5FokcdcdderrE2navNbYQjJyR2Ac" name="bbb" muted></moq-canvas>

MSE backend is experimental:

<moq-video id="mse" src="https://cdn.moq.dev/demo?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb290IjoiZGVtbyIsImdldCI6WyIiXSwiZXhwIjpudWxsLCJpYXQiOm51bGx9.6EoN-Y1Ouj35_qV5FokcdcdderrE2navNbYQjJyR2Ac" name="bbb" muted></moq-video>

And note that these JWT keys are not secret. I'm working on revamping the auth so paths can be read only unless authenticated.

kixelated and others added 2 commits March 6, 2026 13:21
Add MoQ (Media over QUIC) playback via @moq/watch with two backends:
- `<moq-video>` — MSE backend using native <video> element
- `<moq-canvas>` — WebCodecs backend rendering to <canvas>

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts:
#	packages/core/tsdown.config.ts
@netlify
Copy link

netlify bot commented Mar 6, 2026

👷 Deploy request for vjs10-site pending review.

Visit the deploys page to approve it

Name Link
🔨 Latest commit 163236a

Move MoQ streaming logic from html to core following the HLS pattern:
- MoqMseDelegateBase (MediaDelegate) with MSE compositions for HTML/React
- MoqCanvas (WebCodecs) moved to core with SSR-safe document access
- HTML wrappers simplified to thin extensions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Mar 7, 2026

@kixelated is attempting to deploy a commit to the Mux Team on Vercel.

A member of the Team first needs to authorize it.

kixelated and others added 2 commits March 10, 2026 13:46
# Conflicts:
#	packages/core/tsdown.config.ts
#	packages/html/package.json
#	packages/html/src/store/container-mixin.ts
#	pnpm-lock.yaml
Remove non-null assertions (`!`) by reordering initialization before
cleanup registration. Use `document` directly instead of guarded
`globalThis.document?.`. Simplify createTimeRanges with `.at()` and
move it below the class. Restore explanatory comments from the
original commit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kixelated kixelated marked this pull request as ready for review March 10, 2026 21:39
@kixelated
Copy link
Author

@luwes what do you think?

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant