Qu’est-ce que le streaming OTT ?

Le streaming OTT (Over-The-Top) délivre du contenu vidéo directement aux spectateurs via internet, en contournant la distribution broadcast et câble traditionnelle. Netflix, Disney+ et YouTube sont des plateformes OTT. Mais l’OTT ne se limite pas aux géants — les ligues sportives, les entreprises médias, les institutions éducatives, les lieux de culte et les organisateurs d’événements construisent de plus en plus leurs propres plateformes OTT pour atteindre leurs audiences directement.

Le défi d’infrastructure pour l’OTT est différent de la contribution et de la production. Les workflows de production déplacent un flux entre deux points. La distribution OTT déplace un flux vers des milliers ou des millions de spectateurs simultanément, chacun avec des conditions réseau et des capacités d’appareil différentes. Cela nécessite du streaming adaptatif (ABR), l’intégration CDN et une infrastructure d’origine évolutive.

Architecture OTT avec Vajra Cast

Vajra Cast sert de serveur d’origine dans une architecture OTT — le système qui reçoit les flux bruts, les traite et génère la sortie adaptive bitrate que les CDN distribuent aux spectateurs.

Sources                  Origine                   Diffusion
--------                 ------                    --------
Encodeur A --> SRT  -|                          |-- CDN Edge (US) --> Spectateurs
Encodeur B --> SRT  -|--> Vajra Cast --> HLS ---|-- CDN Edge (EU) --> Spectateurs
Encodeur C --> RTMP -|                          |-- CDN Edge (Asie) --> Spectateurs

Les trois étapes

  1. Ingest : Recevoir les flux via SRT (préféré pour la fiabilité) ou RTMP (pour la compatibilité legacy)
  2. Traitement : Transcodage accéléré par GPU pour générer les renditions adaptive bitrate
  3. Distribution : Sortie HLS servie aux serveurs edge CDN pour la diffusion mondiale

Transcodage Adaptive Bitrate

Les spectateurs OTT regardent sur tout, des téléviseurs 65 pouces sur fibre gigabit aux téléphones sur des connexions cellulaires dans le métro. Le streaming adaptive bitrate (ABR) résout ce problème en encodant plusieurs niveaux de qualité et en laissant le lecteur choisir :

Exemple d’échelle ABR

Source : 1080p60 @ 12 Mbps (ingest SRT)

Transcodage Vajra Cast (Intel QSV) :
  --> 1080p @ 6 000 kbps (H.264 High)
  --> 720p  @ 3 000 kbps (H.264 Main)
  --> 480p  @ 1 500 kbps (H.264 Main)
  --> 360p  @ 800 kbps   (H.264 Baseline)
  --> Audio seul @ 128 kbps (AAC)

Sortie : Playlist master HLS référençant toutes les renditions

Vajra Cast génère toutes les renditions en utilisant l’accélération matérielle Intel QSV ou VAAPI. C’est crucial pour l’OTT — encoder cinq renditions en logiciel nécessiterait des ressources CPU significatives, tandis que l’accélération matérielle le gère pour une fraction de la puissance et du coût.

Considérations sur les codecs

CodecEfficacitéSupport navigateurRecommandé pour
H.264Base de référenceUniverselCompatibilité maximale
HEVC/H.265~50 % meilleur que H.264Safari, certains AndroidApps natives, smart TV
AV1~30 % meilleur que HEVCChrome, Firefox, EdgeVision future, VOD

Pour l’OTT live en 2026, H.264 reste le choix sûr pour une portée maximale. Utilisez HEVC pour les environnements d’apps dédiées où vous contrôlez le lecteur.

Intégration CDN

Le CDN est la pièce critique qui fait passer votre flux d’une origine à des millions de spectateurs. Vajra Cast génère le HLS à l’origine ; le CDN cache et distribue.

Configuration Origin Pull

La plupart des CDN fonctionnent en mode « origin pull » : les serveurs edge récupèrent les segments depuis votre origine (Vajra Cast) à la première requête, puis les mettent en cache pour les spectateurs suivants.

Le spectateur demande : https://cdn.example.com/live/channel-1/index.m3u8
  --> Le CDN edge vérifie le cache
  --> Si absent : récupère depuis l'origine Vajra Cast
  --> Met en cache le segment pour la durée du TTL
  --> Sert au spectateur (et tous les spectateurs suivants sur ce edge)

Bonnes pratiques de configuration CDN

  • TTL des segments : correspondre à la durée de vos segments HLS (ex. segments de 4 s = TTL de cache de 4 s)
  • TTL du manifeste : plus court que le TTL des segments (1-2 secondes) pour que les spectateurs découvrent les nouveaux segments rapidement
  • Origin shield : activer si disponible — réduit la charge sur l’origine en ajoutant une couche de cache intermédiaire
  • HTTP/2 : activer pour améliorer le téléchargement parallèle des segments
  • En-têtes CORS : configurer si vous servez du HLS à des lecteurs web sur des domaines différents

Optimisation des coûts

La bande passante CDN est généralement le coût le plus élevé du streaming OTT. Stratégies pour la réduire :

  1. Échelle ABR efficace : ne proposez pas des résolutions que les spectateurs ne sélectionnent jamais
  2. HEVC quand supporté : même qualité à la moitié du débit
  3. Durée de segment appropriée : des segments plus longs = légèrement meilleure efficacité de compression
  4. Routage géographique : servir depuis le edge le plus proche pour réduire les coûts de transit
  5. Analytics spectateurs : comprendre quelles renditions sont réellement consommées et adapter l’échelle en conséquence

Routage multi-locataires

Si vous exploitez une plateforme OTT avec plusieurs chaînes ou fournisseurs de contenu, Vajra Cast peut router plusieurs flux indépendants à travers une seule instance :

Chaîne A : Encodeur --> SRT (Port 9001) --> Route A --> HLS /hls/channel-a/
Chaîne B : Encodeur --> SRT (Port 9002) --> Route B --> HLS /hls/channel-b/
Chaîne C : Encodeur --> RTMP (clé : ch-c) --> Route C --> HLS /hls/channel-c/

Chaque chaîne a sa propre route avec des paramètres indépendants :

  • Paramètres d’ingest (protocole, chiffrement, latence)
  • Profil de transcodage (échelle de résolutions, débits cibles)
  • Configuration de sortie (durée de segment HLS, longueur de playlist)
  • Chaîne de failover (sources de secours par chaîne)
  • Métriques de supervision

L’API REST de Vajra Cast permet le provisionnement automatisé des chaînes. Quand un nouveau fournisseur de contenu s’inscrit, le backend de votre plateforme appelle l’API pour créer la route, configurer l’ingest et provisionner la sortie HLS — sans intervention manuelle.

Gestion des chaînes pilotée par API

POST /api/routes
{
  "name": "Channel D",
  "inputs": [{
    "protocol": "srt",
    "mode": "listener",
    "port": 9004,
    "encryption": "aes-256",
    "passphrase": "generated-passphrase"
  }],
  "outputs": [{
    "protocol": "hls",
    "segmentDuration": 4,
    "playlistLength": 10
  }]
}

Supervision des spectateurs en direct

Le serveur HLS intégré de Vajra Cast suit les connexions de spectateurs actifs :

  • Compteur de spectateurs par chaîne : voir combien de spectateurs sont connectés à chaque flux HLS
  • Statistiques agrégées : total des spectateurs sur toutes les chaînes
  • Export Prometheus : vajracast_hls_viewers{channel="channel-a"} pour les tableaux de bord Grafana

Quand vous utilisez un CDN, les compteurs de spectateurs à l’origine représentent les requêtes pull des edges CDN plutôt que les spectateurs individuels. Pour des comptages précis d’utilisateurs finaux, corrélez les métriques d’origine Vajra Cast avec les analytics CDN.

Fiabilité pour une exploitation 24/7

Les plateformes OTT fonctionnent en continu. Vajra Cast est conçu pour une exploitation sans surveillance :

  • Reprise sur crash : l’adoption automatique de processus reconstruit toutes les routes depuis les processus en cours en moins de 5 secondes
  • Failover : le basculement automatique d’entrée maintient les chaînes à l’antenne même quand les sources tombent
  • Gestion à chaud : ajoutez, supprimez ou modifiez les chaînes sans affecter les autres flux
  • Supervision : métriques Prometheus et alertes Grafana détectent les problèmes avant qu’ils n’affectent les spectateurs
  • Docker/Kubernetes : orchestration de conteneurs avec health checks et politiques de redémarrage automatique

Scaling au-delà d’une seule instance

Pour les grandes plateformes OTT, Vajra Cast supporte le déploiement multi-instances :

Load Balancer
  --> Instance Vajra Cast 1 (Chaînes A-D)
  --> Instance Vajra Cast 2 (Chaînes E-H)
  --> Instance Vajra Cast 3 (Chaînes I-L)

Avec PostgreSQL comme backend d’état partagé, plusieurs instances Vajra Cast coordonnent le routage et la configuration. L’orchestration Kubernetes gère le scaling, le failover et la gestion des ressources.

Prochaines étapes