WebRTC cho phép ESP32 stream video trực tiếp về browser với latency dưới 300ms — không cần server video, không cần app, không cần cloud proxy. Series này hướng dẫn toàn bộ từ lý thuyết đến sản phẩm thực tế.
Series Này Dành Cho Ai?
- Bạn đã biết lập trình ESP32 với ESP-IDF (ít nhất level cơ bản)
- Muốn thêm tính năng video/audio real-time vào dự án IoT
- Đang xây camera giám sát, video doorbell, hoặc voice assistant embedded
- Muốn hiểu WebRTC thực sự hoạt động như thế nào — không chỉ copy-paste
Bạn Sẽ Xây Được Gì
Sau khi hoàn thành series:
- Video Doorbell hoàn chỉnh: camera + mic + nút bấm, nhận cuộc gọi trên browser
- Two-Way Intercom: 2 chiều audio+video giữa ESP32 và browser
- USB Camera Bridge: biến USB webcam thành IP camera không cần PC
- AI Voice Assistant: ESP32 nói chuyện với GPT-4o qua OpenAI Realtime API
- Cloud Camera: stream video ESP32 lên AWS Kinesis Video Streams
Hardware Cần Chuẩn Bị
Bắt buộc (1 trong 2):
- ESP32-P4 EV Board — nếu cần video HD, H.264 hardware encode
- ESP32-S3 Korvo-1 — nếu ưu tiên audio chất lượng cao hoặc giá thấp hơn
Phụ kiện:
- Camera module DVP (OV2640 hoặc tương tự)
- Microphone I2S (INMP441) — nếu dùng ESP32-P4 (Korvo-1 đã có mic)
- Speaker 8Ω/1W
- VPS để deploy MediaMTX và coturn (bài 07-08) — ~$5/tháng
Lộ Trình 5 Phase
Phase 1 — Nền Tảng
| Bài | Chủ Đề |
|---|---|
| Bài 01 | WebRTC Là Gì? ICE, STUN, TURN Giải Thích Bằng Hình |
| Bài 02 | Cài SDK và Build Demo Đầu Tiên Trên ESP32-P4 |
| Bài 03 | ESP32-P4 vs ESP32-S3 Korvo — Chọn Board Nào Cho WebRTC? |
Phase 2 — Audio & Video
| Bài | Chủ Đề |
|---|---|
| Bài 04 | Opus vs G.711 — Chọn Codec Âm Thanh Phù Hợp Cho ESP32 |
| Bài 05 | Video H.264 Hardware Encode Trên ESP32-P4 — Hiệu Năng Thực Tế |
| Bài 06 | Kết Nối Camera DVP và Micro — Pipeline Từ Capture Đến Transmit |
Phase 3 — Signaling & Network
| Bài | Chủ Đề |
|---|---|
| Bài 07 | Signaling Server WHIP — Tự Deploy Trong 30 Phút |
| Bài 08 | NAT Traversal Thực Tế — STUN TURN Cho ESP32 Sau Router |
Phase 4 — Dự Án Thực
| Bài | Chủ Đề |
|---|---|
| Bài 09 | Dự Án Video Doorbell — Chuông Cửa Video Với ESP32-P4 |
| Bài 10 | Dự Án Two-Way Intercom — Gọi Video Hai Chiều ESP32 và Browser |
| Bài 11 | Dự Án USB Camera Bridge — Biến ESP32 Thành WebCam Online |
Phase 5 — Cloud & Advanced
| Bài | Chủ Đề |
|---|---|
| Bài 12 | Tích Hợp OpenAI Realtime API — ESP32 Nói Chuyện Với GPT-4o |
| Bài 13 | Tích Hợp Amazon KVS — Stream Video ESP32 Lên AWS Cloud |
Cách Học Series Hiệu Quả
- Đọc bài 01 trước — lý thuyết WebRTC giải thích tại sao mọi thứ hoạt động như vậy. Không bỏ qua.
- Build bài 02 song song với bài đọc — compile và flash demo ngay.
- Chọn board theo bài 03 — không cần mua cả hai.
- Bài 07-08 quan trọng — signaling và NAT traversal là điểm thường bị stuck nhất.
- Bắt đầu dự án từ bài 09 — doorbell là dự án đơn giản nhất, xây nền cho bài 10-11.
SDK và Tài Nguyên
- esp-webrtc-solution:
github.com/espressif/esp-webrtc-solution - ESP-IDF: ESP-IDF v5.3+ (bắt buộc)
- MediaMTX (WHIP server):
github.com/bluenviron/mediamtx - coturn (TURN server):
github.com/coturn/coturn - OpenAI Realtime API docs:
platform.openai.com/docs/guides/realtime - Amazon KVS WebRTC:
docs.aws.amazon.com/kinesisvideostreams-webrtc
Bắt đầu từ Bài 01: WebRTC Là Gì?


