Стрімінг відео на Лілку через WiFi за допомогою MJPEG.
Stream your computer screen to Lilka device over WiFi using MJPEG.
┌─────────────┐ GStreamer ┌──────────────┐ TCP/MJPEG ┌─────────────┐
│ Screen │ ──────────────► │ stream.sh │ ──────────────► │ Lilka │
│ Capture │ JPEG encode │ (280x240) │ WiFi │ (ESP32-S3) │
└─────────────┘ └──────────────┘ └─────────────┘
- GStreamer захоплює екран, масштабує до 280x240, кодує як MJPEG
- TCP stream надсилає JPEG-кадри на Лілку через WiFi
- TJpgDec бібліотека на ESP32-S3 декодує JPEG в реальному часі
- Arduino_GFX рендерить кадри на ST7789 дисплей
- Плата: Lilka v2 (на базі ESP32-S3)
- Дисплей: 1.69" ST7789 TFT LCD (280x240 пікселів)
- Операційна система: KeiraOS (для налаштування WiFi)
- Пам'ять: PSRAM (для буфера JPEG)
- Linux (X11 або PipeWire) або macOS
- GStreamer 1.0 з плагінами
Linux (Debian/Ubuntu):
sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-baseLinux (Fedora):
sudo dnf install gstreamer1 gstreamer1-plugins-good gstreamer1-plugins-basemacOS:
brew install gstreamer gst-plugins-good gst-plugins-base gst-plugins-badWiFi потрібно налаштувати в KeiraOS перед використанням цієї прошивки:
- Завантажте Лілку в KeiraOS
- Перейдіть до Налаштування → WiFi
- Виберіть вашу WiFi мережу та введіть пароль
- Облікові дані зберігаються автоматично
# Клонуйте репозиторій
git clone https://github.com/lilka-dev/mpeg_stream_player
cd mpeg_stream_player
# Зберіть прошивку
pio run
# Завантажте на Лілку (підключіть через USB)
pio run --target uploadАбо завантажте з SD-карти:
- Скопіюйте
.pio/build/lilka_v2/firmware.binна SD-карту - У файловому менеджері KeiraOS відкрийте файл
.binдля завантаження
Після завантаження прошивки та підключення до WiFi, на дисплеї з'явиться:
MJPEG Receiver
IP Address:
192.168.x.x
Port: 8090
Waiting for stream...
./stream.sh <LILKA_IP># Стрімінг на Лілку з налаштуваннями за замовчуванням (15 FPS, якість 50)
./stream.sh 192.168.88.239
# Власні налаштування
./stream.sh <IP> [PORT] [FPS] [QUALITY]
# Висока якість, нижчий FPS
./stream.sh 192.168.88.239 8090 10 80
# Швидкий стрімінг, нижча якість
./stream.sh 192.168.88.239 8090 25 30Типова продуктивність на ESP32-S3:
| Якість | FPS | Пропускна здатність | Час декодування |
|---|---|---|---|
| 30 | 20-25 | ~200 kbps | ~15ms |
| 50 | 15-20 | ~350 kbps | ~20ms |
| 80 | 10-15 | ~600 kbps | ~30ms |
MIT License