Skip to content

Latest commit

 

History

History
83 lines (56 loc) · 2.69 KB

File metadata and controls

83 lines (56 loc) · 2.69 KB

Zoom Webinars Examples

Real-time media streaming from Zoom Webinars.

Overview

The RTMS SDK provides the same API for accessing real-time media streams from Zoom Webinars. The key difference is in how you obtain the webhook payload and join parameters from Zoom's Webinar RTMS webhooks.

Audio Configuration: This SDK uses different default audio parameters than the raw RTMS WebSocket protocol. See Audio Configuration in the Meetings documentation for details on SDK defaults vs WebSocket defaults.

Quick Start

Node.js

The API is identical to Meetings. See the Meetings Node.js Quick Start for full examples.

Key differences:

  • Webhook event: webinar.rtms_started instead of meeting.rtms_started
  • Join parameters come from Webinar webhook payload
import rtms from "@zoom/rtms";

rtms.onWebhookEvent(({event, payload}) => {
    if (event !== "webinar.rtms_started") return;

    const client = new rtms.Client();

    client.onAudioData((data, timestamp, metadata) => {
        console.log(`Webinar audio from ${metadata.userName}`);
    });

    client.join(payload);
});

Python

The API is identical to Meetings. See the Meetings Python Quick Start for full examples.

Key differences:

  • Webhook event: webinar.rtms_started instead of meeting.rtms_started
import rtms

client = rtms.Client()

@client.on_webhook_event()
def handle_webhook(payload):
    if payload.get('event') == 'webinar.rtms_started':
        rtms_payload = payload.get('payload', {})
        client.join(
            meeting_uuid=rtms_payload.get('meeting_uuid'),
            rtms_stream_id=rtms_payload.get('rtms_stream_id'),
            server_urls=rtms_payload.get('server_urls')
        )

@client.onAudioData
def on_audio(data, size, timestamp, metadata):
    print(f'Webinar audio from {metadata.userName}: {size} bytes')

Use Cases

Common use cases for Webinar RTMS:

  • Live transcription - Provide real-time captions for large audiences
  • Content moderation - Monitor webinar content in real-time
  • Analytics - Track engagement and participation patterns
  • Archival - Record and process webinar content
  • Integration - Connect webinar streams to other systems

Related Documentation

Resources