# Installation

## Prerequisites

1. **ESP-IDF v5.4 or higher** — Install from [Espressif's documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/).

2. **ESP32-S3 device** — This SDK is tested on this chip.

3. **Stream account** — Sign up at [getstream.io](https://getstream.io/).

## Installation

Add the SDK as a git dependency in your project's `idf_component.yml`:

```yaml
dependencies:
  stream-video:
    git: "https://github.com/GetStream/stream-video-esp32.git"
    path: "components/stream-video"
    version: "v0.1.0"
```

Then add `stream-video` to `REQUIRES` in your main component's `CMakeLists.txt`.

## Component dependencies

The SDK pulls in the following components automatically:

| Component                        | Purpose                       |
| -------------------------------- | ----------------------------- |
| `espressif/esp_peer`             | WebRTC                        |
| `espressif/esp_capture`          | Camera and microphone capture |
| `espressif/esp_video_codec`      | H.264 video encoder           |
| `espressif/esp_audio_codec`      | Opus audio encoder            |
| `espressif/esp_websocket_client` | Signaling over WebSocket      |
| `espressif/cjson`                | JSON parsing                  |
| `livekit/nanopb`                 | Protobuf (signaling messages) |

You do not need to add these manually.

## Next steps

- [Quickstart](https://getstream.io/video/docs/esp32/basics/quickstart/) — Application flow and minimal example.
- [Client auth](https://getstream.io/video/docs/esp32/guides/client-auth/) — Set up tokens and authentication.

---

For the most recent version of this documentation, visit [https://getstream.io/video/docs/esp32/basics/installation/](https://getstream.io/video/docs/esp32/basics/installation/).