← All demos

Broadcast

One broadcaster sends text messages to many viewers over WebRTC data channels, and each viewer can reply to the broadcaster. No audio or video is sent.

  1. Start broadcasting in the Broadcaster panel.
  2. Connect viewers below, or open the share link on another device and connect a viewer there.
  3. Send a message and watch it arrive on every connected viewer.

Broadcaster

Not broadcasting

Viewer 1

Not connected

Viewer 2

Not connected

Viewer 3

Not connected
Key SDK calls in this demo
// Broadcaster: data-only, no camera or microphone
const host = new VDONinjaSDK();
await host.connect();
await host.joinRoom({ room });
await host.announce({ streamID, label: 'Main Broadcaster' });
host.sendData({ type: 'broadcast', message: 'Hello everyone' });   // every viewer
host.sendData({ type: 'requestLabel' }, viewerUUID);               // one viewer

// Each viewer
const viewer = new VDONinjaSDK();
viewer.addEventListener('dataReceived', (e) => console.log(e.detail.data));
await viewer.connect();
await viewer.joinRoom({ room });
await viewer.view(streamID, { audio: false, video: false });
viewer.sendData({ type: 'message', message: 'Hi from a viewer' }); // to the broadcaster