Pipeline YouTube con relay, overlay e publisher sync lato backend; fix GL pauseGlDuringRotation su Android per evitare crash in rotazione durante lo streaming Flutter. Co-authored-by: Cursor <cursoragent@cursor.com>
57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
# YouTube Live — verificato ✅ (5 giu 2026)
|
||
|
||
## Test completato automaticamente
|
||
|
||
Pipeline end-to-end **funzionante** sul server di produzione:
|
||
|
||
| Step | Esito |
|
||
|------|--------|
|
||
| Setup broadcast + stream_key | ✅ |
|
||
| Overlay ffmpeg con tee RTMPS YouTube | ✅ |
|
||
| Copertina / tabellone su YouTube | ✅ |
|
||
| RTMP simulato (test pattern) | ✅ |
|
||
| Broadcast `lifecycle=live` | ✅ |
|
||
|
||
**Prova visiva:** https://www.youtube.com/watch?v=0WmCsW_Luik
|
||
(Titolo: *Tigers Volley vs Avversario prova* — sessione di test, ora terminata)
|
||
|
||
## APK da installare sul telefono
|
||
|
||
```bash
|
||
# Sul PC (già compilato):
|
||
mobile/build/app/outputs/flutter-apk/app-release.apk
|
||
# Versione: 1.2.10+13 — API https://www.matchlivetv.it
|
||
```
|
||
|
||
Installa sul Redmi (sostituisce versioni precedenti).
|
||
|
||
## Avvio diretta dall’app (2 minuti)
|
||
|
||
1. Partita → **YouTube Live** → wizard → **Camera**
|
||
2. Attendi sul passo rete che compaia il link YouTube (poll automatico, fino a 3 min)
|
||
3. Avvia: entro ~90s su YouTube compare **copertina**, poi video con tabellone quando il telefono pubblica RTMP
|
||
|
||
## Test server senza telefono
|
||
|
||
```bash
|
||
ssh eminux@192.168.1.146
|
||
docker exec infra-rails-1 bin/rails youtube:e2e
|
||
docker exec infra-sidekiq-1 pgrep -a ffmpeg # deve contenere rtmps://...youtube.com/live2
|
||
```
|
||
|
||
## Se qualcosa non va
|
||
|
||
| Sintomo | Cosa fare |
|
||
|---------|-----------|
|
||
| «YouTube temporaneamente occupato» | Attendi 15–20 min (rate limit Google). **Non** creare molte sessioni di fila. |
|
||
| Pagina YouTube vuota | `docker logs infra-sidekiq-1 \| grep OverlayRelay` — manca `stream_key` o tee RTMPS |
|
||
| App errore avvio diretta | APK 1.2.10+13; controlla rete verso matchlivetv.it |
|
||
|
||
## Fix deployati (server)
|
||
|
||
- Retry setup broadcast su rate limit (fino a 15 tentativi)
|
||
- Un solo job setup per sessione (lock Redis)
|
||
- Throttle API YouTube globale
|
||
- Riavvio overlay quando arriva `stream_key` dopo start senza tee
|
||
- Activate solo con overlay attivo + broadcast pronta
|