100ms Documentation

website·Indexed 35 days ago

https://www.100ms.live/docs

Platform for building real-time audio, video, and interactive live experiences using hosted cloud infrastructure. Includes guidance on authentication, compliance, Prebuilt drop-in UI components, Client SDKs, server-side APIs, webhooks, and quickstarts for React Native and Expo.

Tokens
1.5K
Snippets
0
Records
16
Agent score
71%

What's inside 100ms

  1. Overview of 100ms Platform Components

    100ms is a cloud-hosted infrastructure platform for building real-time audio, video, and interactive live experiences. It consists of the following primary components:

    • 100ms Cloud: Orchestrates real-time communication via WebRTC, managed via the 100ms Dashboard.
    • Client SDKs: Used for building custom UIs. Available for JavaScript/Web, Android, iOS, React Native, and Flutter.
    • Prebuilt UI: A hosted, embeddable conferencing and live streaming UI for rapid integration across Web, Android, iOS, React Native, and Flutter.
    • Server-side APIs & SDK: REST APIs and a Node.js server SDK for managing rooms, recordings, templates, and peer operations.
    • Integration Services: Includes HLS live streaming (for scale), recording (SFU and browser composite), transcription, SIP interconnect for telephony, and webhooks for event-driven workflows.
  2. Understand 100ms Integration Paths and Core Concepts

    When implementing 100ms, keep the following architectural distinctions in mind:

    • Integration Paths: Choose between Prebuilt (drop-in UI components for fast deployment) and SDK-based (custom UI for full control). These paths use different APIs and have different trade-offs.
    • Authentication: Distinguish between client-side auth tokens (used by users to join rooms) and backend management tokens (used for server-to-server API calls). Management tokens must never be exposed to the client side.
    • Permissions: Room behavior and user permissions are governed by Templates and roles. Check the template configuration to determine if a specific feature is enabled.
    • Streaming & Interaction:
      • HLS live streaming and WebRTC conferencing are distinct modes with different latency and scale characteristics.
      • Recording supports multiple modes: SFU individual, SFU composite, browser composite, and live stream recording.
      • Transcription is split into two separate features: live transcription and post-call transcription.
  3. Configure a HIPAA Compliant Workspace

    For healthcare and applications handling sensitive data, 100ms provides the ability to configure a HIPAA-compliant workspace to meet regulatory security and privacy requirements.
  4. Enable Live Transcription and Captions

    v2

    100ms provides real-time transcription for different scenarios:

    • WebRTC Conferencing: Speaker-labelled closed captions (English only) that can be toggled at runtime per room.
    • HLS Live Streams: Auto-generated English captions with ~500ms–1s latency. This is a paid feature with 300 free minutes per month.
    • Post-Call: Automatic transcription and AI summarization of recorded sessions can be enabled via the 'Transcribe Recordings' toggle in the template configuration.
  5. Choose between Prebuilt UI and Client SDKs

    When deciding how to integrate 100ms into an application, choose based on the required level of control:

    • Use Prebuilt UI when speed of integration is the priority and deep UI customization is not required. It provides a hosted, embeddable interface with minimal code.
    • Use Client SDKs when the application requires full control over the User Experience (UX) and specific media behavior.
  6. Configure Session Recording

    v2

    100ms supports multiple recording modes:

    • SFU Recording: Server-side recording (individual or composite). Processing takes approximately 1.5x the call duration after the call ends.
    • Composite Recordings: Browser-based composite recording of the room.
    • Chat Recording: Records broadcast and role messages (direct messages are not recorded).

    Recordings can be controlled via server-side APIs and stored in custom locations such as an S3 bucket.

  7. Manage Rooms and Participants via API

    v2

    The server-side API allows for programmatic control of rooms and peers:

    • Room Management: Create rooms via API or the dashboard.
    • Peer Management: List peers in an active room or update specific peer properties.
    • Room Codes: Generate join links by creating room codes for all roles or specific roles in a room.