Introduction

The Stream Video ESP32 SDK is an embedded SDK written in C that adds real-time video, audio and signaling to ESP32 applications through 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 and video is not yet supported. The API is designed to fit the ESP-IDF ecosystem on resource-constrained devices.

This SDK is the client half of your integration. Call types, recording, transcription, webhooks and SIP are configured from your backend with a server-side SDK or the REST API, and the token your device connects with has to be signed there too. See the server-side documentation for what to build there, starting with users and tokens.

Build with Stream CLI and Agent Skills

The Stream CLI and Agent Skills give AI coding agents the tools and knowledge to work with Stream. There is no dedicated skill pack for ESP32 yet, but the default skills still help with live documentation and CLI-driven API work.

Install the CLI and the default skills:

curl -fsSL https://getstream.io/cli.sh | bash
getstream skills

Once installed, invoke /stream from your agent. It routes documentation lookups and API operations for you.

Stream Agent Skills can also be installed from skills.sh.

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

If something is missing or could be improved, contact us.