Introduction
Welcome to the Stream Video ESP32 SDK — an embedded SDK written in C that lets you add real-time video, audio, and signaling to ESP32 applications using Stream's SFU (Selective Forwarding Unit). You can publish H.264 video and Opus audio to a Stream call. The SDK currently supports publishing only; subscribing to remote participants' audio/video is not yet supported. Our goal is to bring video calling and livestreaming to resource-constrained embedded devices with an API that fits the ESP-IDF ecosystem.
Supported hardware
- ESP32-S3 WROOM — Supported (example provided, default board).
- XIAO ESP32-S3 Sense — Supported (selectable in menuconfig).
Requirements
- ESP-IDF v5.4 or higher.
- WiFi connectivity for signaling and media.
Documentation
| Document | Description |
|---|---|
| Installation | Add the SDK via Component Manager, dependencies, ESP-IDF setup |
| Quickstart | Application flow, minimal example, build and run |
| API Reference | Init, join/leave, error handling, types |
| Example configuration | Token service URL, call type/call ID, flow in main.c |
| SDK configuration | All SDK Kconfig options (core, ICE, board, video, audio, debug) |
| Client auth | App fetches token, SDK accepts auth_data; token service format |
If you feel like anything is missing or could be improved, please contact us. We're happy to help.