Language: JavaScript/TypeScript Organization: video-dev Maintainer: Mike English (@englishm), community GitHub: video-dev/moq-js Slack: moq-js (C09BZ7KH0BZ) Discord: video-dev Discord

Overview

IETF-aligned JavaScript/browser implementation of MoQ Transport, enabling browser-based publishing and subscribing via WebTransport. Client-side only — requires a MoQ relay such as moq-rs for operation.

History

Created 2024-10-15, the same day as moq-rs (cloudflare/moq-rs). Both were born out of the period when luke-curley was not going to support the IETF WG specs in his original kixelated/moq-js. The video-dev version started from Luke’s codebase but diverged to follow the IETF MoQ working group specifications. Luke’s original kixelated/moq-js was archived in June 2025 and its functionality was absorbed into moq-dev as the Hang player (a total rewrite).

Much of the post-fork development came from the Montevideo Tech Summer Camp 2025 “MoQ Player Implementation” project, with Mike English as technical sponsor and contributors from the Qualabs community. The repo was moved from englishm/moq-js to video-dev/moq-js to reflect its status as a community project. The 2026 Summer Camp continued MoQ work with both Mike English and Luke Curley as co-technical sponsors, this time focused on moq-dev/moq.

The two JS projects are now separate implementations — video-dev/moq-js follows IETF WG specs, while moq-dev/moq’s JS packages implement Luke’s moq-lite/Hang protocol.

Draft Support

  • Main branch: draft-14 (IETF WG spec)
  • PR #64: draft-14 implementation with publisher and player (merged 2026-02-17)

Use Cases

  • Browser-based media publishing
  • Browser-based media consumption
  • Provides <video-moq> web component and Player class for custom UIs

Top Contributors

kixelated (historical), englishm, JoaquinBCh, itzmanish, Manuel-Barrabino

Related

  • moq-rs - IETF-aligned Rust companion (cloudflare/moq-rs)
  • moq-dev - Luke Curley’s project with Hang player (moq-dev/moq, different JS codebase)
  • interop-runner - Testing framework