Emiliano Frascaro f3ff657fc2 Sposta overlay video sull'app Android e rimuove ffmpeg server-side.
Il tabellone stile SportCam e il watermark Match Live TV sono bruciati in GPU via RootEncoder; sul backend spariscono OverlayRelay, job Sidekiq e volume stream_overlays.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 18:12:35 +02:00
2026-05-26 15:30:42 +00:00

Match Live TV

Piattaforma mobile-first per streaming di partite sportive giovanili — MVP su Match Live TV (HLS sul nostro sito); YouTube/Facebook/Twitch come integrazioni premium.

Slogan: Ogni partita, ogni evento, per i tuoi tifosi.

Struttura monorepo

├── backend/        # Rails 7.2 API + Action Cable + Sidekiq
├── native/android/ # App Android nativa (Kotlin + Compose)
├── infra/          # Docker Compose, MediaMTX, Nginx, Kamal
└── docs/           # Documentazione

Deploy produzione (server 192.168.1.146)

Vedi docs/infrastructure/SERVER_DEPLOYMENT.md per porte router, NPM e procedura completa.

Porte da aprire sul router: 1935/TCP (RTMP). Opzionale 8888/TCP (HLS). HTTPS via Nginx Proxy Manager verso http://192.168.1.146:3000.

Sul server (una tantum, con sudo):

sudo bash ~/matchlivetv/scripts/deploy/server_bootstrap.sh
bash ~/matchlivetv/scripts/deploy/post_bootstrap_deploy.sh

Avvio rapido (locale)

cd infra
cp .env.example .env
docker compose up -d --build

Seed utente demo

email: coach@matchlivetv.test
password: password123

App Android nativa

./scripts/build_native_android_apk_prod.sh
adb install -r native/android/app/build/outputs/apk/release/app-release.apk

API produzione: https://www.matchlivetv.it (override con -PAPI_BASE_URL=... in Gradle).

Vedi native/android/README.md.

Architettura

  • Video (MVP): Phone → MediaMTX (RTMP) → HLS su matchlivetv.* (pagina /live/:session_id)
  • Video (premium): stesso ingest + relay ffmpeg verso YouTube
  • Controllo: Phone ↔ Action Cable ↔ Rails ↔ PostgreSQL
  • Disconnessioni: MediaMTX alwaysAvailable slate + timeout 5 min (Sidekiq)

App Android produzione

./scripts/build_native_android_apk_prod.sh
# API: https://www.matchlivetv.it
Description
Piattaforma di live streaming per sport dilettantistico con regia remota, gestione squadre, streaming mobile e archivio partite.
Readme GPL-3.0 37 MiB
Languages
Ruby 34.3%
Kotlin 21.9%
Swift 19.5%
HTML 13.6%
CSS 4%
Other 6.7%