Files
xtremflow/server/Cargo.toml
T
MichaelandClaude Opus 5.5 f291b66087 Enregistrements : auto-enregistrement des matchs NBA en direct sur beIN Sports FR
Le calendrier NBA (API ESPN, 21 jours) annonce les matchs à l'avance ;
l'EPG des beIN Sports françaises confirme la chaîne ~48 h avant. Seule la
diffusion qui démarre avec le coup d'envoi est retenue : les rediffusions
sont ignorées, sans dépendre des titres. Le CDN nba.com refuse les
requêtes serveur (403), d'où ESPN.

- Serveur : tables auto_rules / nba_games (migration v3 : source_rule_id),
  réconciliation toutes les 30 min, marges, filtre d'équipes, conflits de
  créneaux, rétention, API /api/auto-rules (oui/non par match).
- Détection des beIN FR (hors MENA, TR, ES…), meilleure qualité par chaîne.
- XMLTV : sous-titre, catégories, drapeaux live/new/premiere/
  previously-shown, horizon EPG_HORIZON_HOURS.
- Plex/Jellyfin : vignette et affiche avec logos des équipes, .nfo,
  pochette intégrée au MKV, nom de fichier lisible.
- UI : onglet « Auto NBA » et pastille sur les enregistrements.
- Docker : fonts-dejavu-core (texte des vignettes) et tzdata.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 11:31:23 +02:00

38 lines
1.0 KiB
TOML

[package]
name = "xtremflow-server"
version = "0.1.0"
edition = "2024"
description = "Serveur XtremFlow : API, proxy Xtream, streaming FFmpeg, enregistrements TV"
publish = false
[dependencies]
ab_glyph = "0.2.32"
async-stream = "0.3.6"
axum = "0.8.9"
base64 = "0.22"
bcrypt = "0.19.3"
bytes = "1.12.1"
chrono = "0.4.45"
flate2 = "1.1.10"
futures = "0.3.34"
image = { version = "0.25.10", default-features = false, features = ["png", "jpeg"] }
libc = "0.2.190"
md-5 = "0.10"
mime_guess = "2.0.5"
percent-encoding = "2.3.2"
quick-xml = "0.37"
regex = "1.13.1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream"] }
rusqlite = { version = "0.40.2", features = ["bundled"] }
serde = { version = "1.0.229", features = ["derive"] }
serde_json = { version = "1.0.154", features = ["preserve_order"] }
sha2 = "0.10"
tokio = { version = "1.53.2", features = ["full"] }
tokio-util = { version = "0.7.20", features = ["io"] }
url = "2.5.8"
uuid = { version = "1.28.0", features = ["v4"] }
[profile.release]
lto = "thin"
strip = true