Décision provisoire (lot 3a) : en attendant le banc, les attentes documentées ci-dessous sont codées comme règles
experimentaldans les profils, et ces règles décident par défaut (PROTOFLIX_PLAYBACK_EXPERIMENTAL=true). Chaque plan l'indique (support: experimental). Un administrateur prudent peut les désactiver, mais plus rien ne sera lu en direct.
État au 2026-11-05 : aucune case n'est testée. Le banc de compatibilité n'existe pas encore (voir stratégie de tests et corpus). Le moteur de décision n'utilisera que des capacités
validated; tant que ce tableau est vide, seul le profil prudentconservative@1pourra servir, et seulement après validation de ses propres cases.
1. Règles de lecture
- Résultat mesuré (colonnes navigateurs) : rempli uniquement par le banc de test, avec la version du navigateur, l'OS, le matériel, la date et le lien vers le rapport d'exécution. Valeurs possibles :
non testé;validated(passe sur toutes les fixtures du scénario) ;experimental(passe partiellement ou sur un seul environnement) ;unsupported(échoue).
- Attente documentée : ce que la documentation publique laisse prévoir. Elle sert à prioriser les tests, jamais à décider une lecture. Chaque attente porte une source et la mention « à vérifier » tant que le banc ne l'a pas confirmée.
- Une ligne couvre un format avec ses variantes précisées (profil, profondeur, conteneur). « HEVC supporté » sans profil ni conteneur n'est pas une ligne acceptable.
- Le support dépend souvent de l'OS et du matériel (décodage matériel requis pour certains codecs). Chaque résultat mesuré indique donc l'environnement.
- Clients natifs (mobile, TV) : colonnes « à définir » ; leurs profils seront créés quand ces clients existeront.
Sources de référence pour les attentes (à consulter à chaque mise à jour, date de consultation à noter) :
- [S1] MDN, Media container formats et Web video codec guide / Web audio codec guide ;
- [S2] documentation de
MediaSource.isTypeSupported()etMediaCapabilities.decodingInfo()(MDN, W3C) ; - [S3] notes de version et documentation développeur de chaque navigateur (Chrome Platform Status, Firefox release notes, Microsoft Edge docs, WebKit / Safari release notes) ;
- [S4] spécification HLS (RFC 8216) et HLS authoring specification for Apple devices.
Le client web lira en HLS via MSE (hls.js) sur Chrome, Firefox et Edge, et en HLS natif sur Safari (ADR 0011). Le chemin réel pourra changer selon les mesures ; chaque résultat indique le chemin de lecture utilisé (progressive, mse-hls, native-hls).
2. Livraison et conteneurs
| Format livré | Attente documentée (à vérifier) | Source | Chrome | Firefox | Edge | Safari | Natifs |
|---|---|---|---|---|---|---|---|
| MP4 progressif (HTTP Range) | Lu par les quatre navigateurs avec codecs compatibles | S1 | non testé | non testé | non testé | non testé | à définir |
| WebM progressif | Chrome, Firefox, Edge ; Safari : partiel selon version | S1, S3 | non testé | non testé | non testé | non testé | à définir |
| Matroska (MKV) progressif | Pas un format web officiellement supporté ; considéré non livrable tel quel | S1 | non testé | non testé | non testé | non testé | à définir |
| HLS fMP4 via MSE (hls.js) | Chrome, Firefox, Edge via MSE | S2, S4 | non testé | non testé | non testé | — | à définir |
| HLS fMP4 natif | Safari | S4 | — | — | — | non testé | à définir |
Sous-titres WebVTT (<track> ou lecteur) | Les quatre navigateurs | S1 | non testé | non testé | non testé | non testé | à définir |
3. Vidéo
| Codec et variante | Conteneur | Attente documentée (à vérifier) | Source | Chrome | Firefox | Edge | Safari | Natifs |
|---|---|---|---|---|---|---|---|---|
| H.264 High, ≤ 4.1, 8 bits, 4:2:0, ≤ 1080p | MP4, fMP4 | Large support | S1 | non testé | non testé | non testé | non testé | à définir |
| H.264 High, 5.1, 8 bits, 2160p | MP4, fMP4 | Dépend du décodeur ou du matériel | S1, S3 | non testé | non testé | non testé | non testé | à définir |
| H.264 High 10 (10 bits) | MP4 | Support web faible ou absent | S1 | non testé | non testé | non testé | non testé | à définir |
| HEVC Main, 8 bits | MP4, fMP4 | Safari oui ; Chrome et Edge selon OS et matériel ; Firefox limité | S3 | non testé | non testé | non testé | non testé | à définir |
| HEVC Main10, SDR | MP4, fMP4 | Idem, dépend du matériel | S3 | non testé | non testé | non testé | non testé | à définir |
| HEVC Main10, HDR10 | fMP4 | Dépend du matériel, de l'OS et de l'écran ; rendu HDR non garanti | S3 | non testé | non testé | non testé | non testé | à définir |
| HEVC Main10, HLG | fMP4 | Idem | S3 | non testé | non testé | non testé | non testé | à définir |
| Dolby Vision profil 5 | fMP4 | Navigateurs : principalement Safari sur matériel Apple, à vérifier | S3, S4 | non testé | non testé | non testé | non testé | à définir |
| Dolby Vision profil 8.1 (couche de base HDR10) | fMP4 | Lecture de la couche de base si DV non géré, à vérifier | S3, S4 | non testé | non testé | non testé | non testé | à définir |
| VP9 profil 0, 8 bits | WebM, fMP4 | Chrome, Firefox, Edge ; Safari selon version | S1 | non testé | non testé | non testé | non testé | à définir |
| VP9 profil 2, 10 bits HDR | WebM | Dépend du matériel | S1, S3 | non testé | non testé | non testé | non testé | à définir |
| AV1 Main, 8 bits | MP4, WebM, fMP4 | Chrome, Firefox, Edge ; Safari si décodage matériel | S1, S3 | non testé | non testé | non testé | non testé | à définir |
| AV1 Main, 10 bits HDR10 | MP4, fMP4 | Dépend du matériel | S1, S3 | non testé | non testé | non testé | non testé | à définir |
| MPEG-2, VC-1, MPEG-4 Part 2 | — | Non supportés par les navigateurs : transcodage attendu | S1 | non testé | non testé | non testé | non testé | à définir |
| Entrelacé (toute variante) | — | Désentrelacement serveur attendu | — | non testé | non testé | non testé | non testé | à définir |
4. Audio
| Codec et variante | Attente documentée (à vérifier) | Source | Chrome | Firefox | Edge | Safari | Natifs |
|---|---|---|---|---|---|---|---|
| AAC-LC stéréo | Large support | S1 | non testé | non testé | non testé | non testé | à définir |
| AAC-LC 5.1 | Décodage probable ; sortie multicanal dépend de l'OS et du périphérique | S1 | non testé | non testé | non testé | non testé | à définir |
| HE-AAC v1/v2 | Variable | S1 | non testé | non testé | non testé | non testé | à définir |
| Opus stéréo / multicanal | Chrome, Firefox, Edge ; Safari selon conteneur et version | S1 | non testé | non testé | non testé | non testé | à définir |
| FLAC | Variable selon conteneur | S1 | non testé | non testé | non testé | non testé | à définir |
| MP3 | Large support | S1 | non testé | non testé | non testé | non testé | à définir |
| AC-3 / E-AC-3 (décodage) | Safari et parfois Edge selon OS ; Chrome et Firefox généralement non | S3 | non testé | non testé | non testé | non testé | à définir |
| E-AC-3 + Atmos (JOC) | Pas de garantie de rendu objet depuis un navigateur | S3 | non testé | non testé | non testé | non testé | à définir |
| DTS, DTS-HD MA, TrueHD | Non supportés par les navigateurs : transcodage attendu | S1 | non testé | non testé | non testé | non testé | à définir |
| Passthrough bitstream (tous formats) | Non promis depuis un navigateur | — | non testé | non testé | non testé | non testé | à définir |
5. Sous-titres
| Format source | Traitement prévu | Attente documentée (à vérifier) | Chrome | Firefox | Edge | Safari | Natifs |
|---|---|---|---|---|---|---|---|
| SubRip (SRT) interne ou externe | Conversion WebVTT | WebVTT rendu partout | non testé | non testé | non testé | non testé | à définir |
| WebVTT | Copie | Idem | non testé | non testé | non testé | non testé | à définir |
| ASS/SSA | WebVTT avec perte de style, ou incrustation | Pas de rendu ASS natif | non testé | non testé | non testé | non testé | à définir |
| PGS (Blu-ray), VobSub, DVB | Incrustation | Pas de rendu bitmap natif | non testé | non testé | non testé | non testé | à définir |
| Sous-titres CEA-608/708 intégrés | À étudier | À vérifier | non testé | non testé | non testé | non testé | à définir |
6. Accélération matérielle serveur
Matrice distincte, remplie par les tests matériels (phase 5). Les colonnes sont des couples (API, pilote, GPU) précis. Les lignes sont décodage, encodage, scaling et tone mapping par codec et format.
| Chaîne | Logiciel (CPU) | VA-API Intel | QSV Intel | NVENC/NVDEC | AMD |
|---|---|---|---|---|---|
| Toutes | non testé | non testé | non testé | non testé | non testé |
Une détection de périphérique seule ne remplit aucune case (niveau detected, voir Transcoding Engine §4).
7. Mise à jour
- Une case ne change que par un commit qui ajoute ou référence le rapport du banc.
- Le profil client versionné (
web-chromium@N…) est incrémenté dans le même changement. - Un résultat
validatedqui régresse sur une nouvelle version de navigateur repasse enexperimentalavec une note. On ne masque pas la régression.
Source : docs/media/compatibility-matrix.md, dans le dépôt de ProtoFlix.