Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/CeeblueTV/wrts-client/llms.txt

Use this file to discover all available pages before exploring further.

The Ceeblue WebRTS Client is an open-source TypeScript library that brings low-latency live video streaming to any web application. Built on the WebRTS (Web Real-Time Streaming) framework, it uses HTTP/2 multiplexing for seamless CDN integration—no WebRTC signaling servers required. Drop it into your project, point it at a Ceeblue stream endpoint, and get playback in minutes.

Quickstart

Get a live stream playing in your browser in under five minutes.

Installation

Install via npm, use the browser bundle, or build locally from source.

Playback Guide

Control tracks, pause, seek to live, and handle player events.

API Reference

Explore every class, method, and type in the public API.

Why WebRTS?

WebRTS is a transport-agnostic streaming framework designed for live delivery with minimal latency. The client library handles the hard parts—adaptive bitrate switching, buffer management, frame skipping at the live edge, and DRM key negotiation—so your application code stays simple.

Sub-Second Latency

Configurable buffer thresholds as low as 150 ms for near-real-time delivery over HTTP/2.

Adaptive Bitrate

Automatic track selection based on network bandwidth with smooth up/down switching.

DRM Ready

Widevine, PlayReady, and FairPlay support via the W3C Encrypted Media Extensions API.

CMCD Metrics

Report client-side playback quality to your CDN or origin with Common Media Client Data.

Extensible Sources

Implement a custom Source subclass and register it for any protocol with a decorator.

TypeScript-First

Full type definitions included. Works with ES modules, CommonJS, and browser bundles.

Get Started

1

Install the library

Add the package to your project with npm (or your preferred package manager).
npm install @ceeblue/wrts-client
2

Create a Ceeblue account and stream

Sign up at ceeblue.net and create a stream on the Ceeblue Dashboard. Copy the WRTS endpoint URL from the stream’s output settings.
3

Add a video element and start the player

import { Player } from '@ceeblue/wrts-client';

const video = document.getElementById('video');
const player = new Player(video);

player.onStart = () => console.log('Playback started');
player.onStop = (error) => console.log('Stopped', error ?? '');

player.start({
  endPoint: 'https://<hostname>/wrts/out+<stream-id>/index.json'
});
4

Explore the guides

Key Concepts

WebRTS Protocol

Understand the transport-agnostic framework that powers low-latency delivery.

Buffer Management

How the player tracks buffer state and adapts playback to stay at the live edge.

RTS Container Format

The lightweight binary container format used for efficient frame delivery.

Custom Sources

Extend the library with your own transport by subclassing Source.

Build docs developers (and LLMs) love