IoTLabs

Nghiên cứu, Sáng tạo và Thử nghiệm

Series ESP-WebRTC: Video Call & Streaming Thời Gian Thực Với ESP32 — Tổng Quan

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àiChủ Đề
Bài 01WebRTC Là Gì? ICE, STUN, TURN Giải Thích Bằng Hình
Bài 02Cài SDK và Build Demo Đầu Tiên Trên ESP32-P4
Bài 03ESP32-P4 vs ESP32-S3 Korvo — Chọn Board Nào Cho WebRTC?

Phase 2 — Audio & Video

BàiChủ Đề
Bài 04Opus vs G.711 — Chọn Codec Âm Thanh Phù Hợp Cho ESP32
Bài 05Video H.264 Hardware Encode Trên ESP32-P4 — Hiệu Năng Thực Tế
Bài 06Kết Nối Camera DVP và Micro — Pipeline Từ Capture Đến Transmit

Phase 3 — Signaling & Network

BàiChủ Đề
Bài 07Signaling Server WHIP — Tự Deploy Trong 30 Phút
Bài 08NAT Traversal Thực Tế — STUN TURN Cho ESP32 Sau Router

Phase 4 — Dự Án Thực

BàiChủ Đề
Bài 09Dự Án Video Doorbell — Chuông Cửa Video Với ESP32-P4
Bài 10Dự Án Two-Way Intercom — Gọi Video Hai Chiều ESP32 và Browser
Bài 11Dự Án USB Camera Bridge — Biến ESP32 Thành WebCam Online

Phase 5 — Cloud & Advanced

BàiChủ Đề
Bài 12Tích Hợp OpenAI Realtime API — ESP32 Nói Chuyện Với GPT-4o
Bài 13Tích Hợp Amazon KVS — Stream Video ESP32 Lên AWS Cloud

Cách Học Series Hiệu Quả

  1. Đọ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.
  2. Build bài 02 song song với bài đọc — compile và flash demo ngay.
  3. Chọn board theo bài 03 — không cần mua cả hai.
  4. Bài 07-08 quan trọng — signaling và NAT traversal là điểm thường bị stuck nhất.
  5. 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ì?