Aller au contenu principal

HLS pour les Flux H.265, WebRTC pour le reste

Complète l'ADR 0001, dont MediaMTX reste le seul pont vers le navigateur, mais plus « WebRTC uniquement ». Les navigateurs ne lisent de façon fiable que le H.264 en WebRTC ; pour montrer les Caméras H.265 (0.5.0) sans réencodage, le front les lit en LL-HLS fMP4 servi par MediaMTX, qui remballe les images telles quelles : c'est la puce vidéo du poste qui décode. Le transport est choisi d'après le codec retenu sur la Caméra (relevé à l'essai, rafraîchi par la sonde) : H265 → HLS ; tout autre codec, ou inconnu → WebRTC.

Considered Options​

  • Réencoder en H.264 côté serveur : marche dans tous les navigateurs, mais consomme du CPU en continu pour chaque Caméra H.265. Gardé comme secours à la demande (0.5.1).
  • H.265 en WebRTC (MediaMTX 1.21 le sait) : un seul transport, mais support navigateur plus étroit que HLS (Safari récent, Chrome seulement avec décodage matériel et version récente).
  • HLS pour tous les Flux : un seul lecteur, mais les Caméras H.264 perdraient leur latence sous la demi-seconde.
  • Essayer WebRTC puis replier sur HLS : sans état côté Site, mais lent à démarrer et fragile à distinguer d'une panne.

Consequences​

  • Deux lecteurs dans le front (WHEP, hls.js) ; le Site doit tenir le codec de chaque Caméra à jour.
  • Les Caméras H.265 ont 1 à 3 s de retard dans le Live.
  • Un navigateur sans décodage HEVC (Firefox, machine sans décodeur matériel) affiche un message au lieu de l'image, jusqu'au réencodage à la demande.
  • Les chemins HLS sont, comme WHEP, lisibles sans authentification sur le réseau local (docs/securite.md).