Documentation Index
Fetch the complete documentation index at: https://mintlify.com/moqtail/moqtail/llms.txt
Use this file to discover all available pages before exploring further.
What is Moqtail?
Moqtail is a Draft 14-compliant TypeScript client library for Media over QUIC Transport (MOQT) protocol, designed for seamless integration with WebTransport and MoQ relay servers. It enables efficient streaming of live and on-demand media content over modern QUIC connections.Moqtail is under active development and the API is subject to change. Please use with caution in production environments.
Key Features
Type-Safe Development
Built with TypeScript for complete type safety and excellent IDE support
WebTransport Support
Leverages next-generation WebTransport protocol for high-performance media delivery
Dual-Mode Operation
Act as both publisher (content creator) and subscriber (content consumer)
Flexible Content Delivery
Support for live streaming, on-demand content, and hybrid modes
What is MOQT?
MOQT (Media over QUIC Transport) is a protocol for media delivery over QUIC connections, enabling efficient streaming of live and on-demand content. The protocol supports:- Low-latency streaming: Real-time media delivery with minimal buffering
- Reliable transport: Built on QUIC’s reliable stream and datagram mechanisms
- Scalable distribution: Efficient relay-based architecture for content distribution
- Flexible delivery modes: Support for both push (subscribe) and pull (fetch) patterns
Architecture Overview
Moqtail operates in a client-relay architecture:Client Roles
Publisher (Original Publisher)
Creates and announces tracks, making content available to subscribers. Publishers package media data as
MoqtObject instances and serve them through live streams or cached content.Core Concepts
Tracks
A track is a logical stream of media or data identified by:- Namespace: Hierarchical path segments (e.g.,
["live", "conference"]) - Track Name: Unique identifier within the namespace (e.g.,
"video")
Objects
Content is packaged as MoqtObject instances, which represent atomic units of data:- Location: Identified by
groupIdandobjectId(e.g., video frames within GOPs) - Payload: The actual media data or content
- Metadata: Publisher priority, forwarding preferences, and extension headers
- Status: Normal data, end-of-group markers, or error conditions
Content Sources
Moqtail provides three content delivery patterns:Use Cases
Moqtail is ideal for:- Live video conferencing: Low-latency real-time communication
- Live streaming: Broadcasting events with minimal delay
- Video on demand: Efficient delivery of archived content
- Gaming: Real-time game state synchronization
- IoT data streams: Sensor data distribution with guaranteed delivery
- File transfers: Reliable large file distribution
Protocol Compliance
Moqtail implements MOQT Draft 14 specification, ensuring compatibility with:- Standard MOQT relay servers
- Other Draft 14-compliant clients
- WebTransport-enabled browsers (Chrome, Edge, etc.)
System Requirements
Browser Compatibility
WebTransport support is required. Currently supported in:
- Chrome 97+
- Edge 97+
- Opera 83+
Next Steps
Installation
Install Moqtail in your project
Quick Start
Build your first MOQT application