Compatibilité Décodeurs SRT : Pourquoi Votre Flux Plante et Comment le Transcodage Résout Ça
Le Problème Caché de la Distribution SRT
SRT garantit une livraison fiable — retransmissions, chiffrement, contrôle de congestion. Mais livraison fiable ne veut pas dire livraison compatible.
Le même flux SRT peut s’afficher parfaitement sur un décodeur et produire un écran noir sur un autre, même avec zéro perte de paquets sur le réseau. Le problème n’est pas le transport. C’est ce qu’il y a dedans : profils H.264, sous-échantillonnage chroma, entrelacé vs progressif, codecs audio. Ces paramètres varient entre encodeurs et décodeurs, et ces incompatibilités causent la majorité des échecs inexpliqués en distribution SRT.
Cet article détaille exactement quels décodeurs supportent quoi, et comment résoudre les problèmes de compatibilité par transcodage.
Pourquoi les Décodeurs Ne Sont Pas D’Accord
H.264 vs H.265 : Des Codecs Totalement Différents
H.264 (AVC) et H.265 (HEVC) sont des codecs complètement différents. Un décodeur qui ne supporte que le H.264 ne peut pas décoder un flux H.265, et inversement.
Le SRT ne négocie pas le codec — il transporte ce que l’encodeur envoie. Si l’encodeur sort du H.265 et le décodeur ne gère que le H.264, la connexion SRT s’établit normalement — les paquets arrivent, les stats sont bonnes — mais le décodeur n’affiche aucune vidéo.
Décodeurs H.264 uniquement (ne peuvent pas recevoir du H.265) : Kiloview DC230, DC220, Matrox Monarch EDGE
H.265 uniquement via SRT (ne peuvent pas recevoir du H.264 via SRT) : Blackmagic Streaming Decoder 4K
La plupart des autres décodeurs gèrent les deux, mais vérifiez. Le Blackmagic est un piège classique — il accepte le H.264 via RTMP mais uniquement le H.265 via SRT.
Profils H.264
H.264 a plusieurs profils qui définissent quelles fonctionnalités l’encodeur peut utiliser :
| Profil | Chroma | Profondeur | Usage typique |
|---|---|---|---|
| Baseline | 4:2:0 | 8-bit | Mobile, appareils anciens |
| Main | 4:2:0 | 8-bit | Streaming, consommateur |
| High | 4:2:0 | 8-bit / 10-bit | Distribution, OTT, CDN |
| High 4:2:2 | 4:2:2 | 8-bit / 10-bit | Contribution (inter-facilities) |
| High 4:4:4 | 4:4:4 | jusqu’à 14-bit | Production, post-production |
Quand un encodeur broadcast sort du H.264 High 4:2:2 profile, il produit un bitstream techniquement valide H.264 — mais beaucoup de décodeurs ne supportent que jusqu’au profil High (4:2:0). Ils n’implémentent pas le profil High 4:2:2 nécessaire pour le décoder.
Ce qui se passe : Le décodeur se connecte au flux SRT, reçoit les paquets, et soit :
- Affiche “pas de signal” ou “format non supporté”
- Affiche une vidéo corrompue avec des artefacts de couleur (décodeurs qui essaient quand même)
- Perd des images de façon intermittente en échouant à décoder certaines unités NAL
Entrelacé vs Progressif
Tous les décodeurs ne gèrent pas correctement le contenu entrelacé :
- Certains décodeurs ne sortent qu’en progressif et nécessitent un désentrelacement, qu’ils font plus ou moins bien
- Certains décodeurs abandonnent la trame basse, produisant une sortie demi-résolution
- Certains décodeurs signalent le flux comme 1080p25 au lieu de 1080i50, causant des problèmes de timing en aval
- Certains (comme Evertz UXP-TRXS-HC) ne supportent le décodage entrelacé qu’en H.265, pas en H.264
L’entrelacé est encore le standard en broadcast européen (EBU), mais le côté IT de l’industrie (décodeurs IP, lecteurs web, ingest CDN) est passé au progressif. Si votre chaîne de distribution inclut des équipements IT, l’entrelacé posera des problèmes.
Incompatibilités Audio
Un autre point de défaillance courant :
| Codec audio | Niveau de support |
|---|---|
| AAC-LC | Quasi universel — le choix le plus sûr pour la compatibilité inter-décodeurs |
| MPEG-1 Layer II (MP2) | Standard broadcast en Europe, mais la plupart des décodeurs prosumer/IT ne le supportent pas. Seuls Ateme (TITAN Edge, DR5000) le décodent de façon fiable. Kiloview D350 et Nimbra 400 listent aussi le support MP2 |
| AC-3 (Dolby Digital) | Nécessite une licence — seuls l’Ateme DR5000 et l’Evertz XPS listent explicitement le support |
| PCM (S302M) | Haut débit, supporté par Matrox et Evertz. La plupart des autres ne l’attendent pas via SRT |
| MPEG-4 AAC-HE | Matrox Monarch EDGE le supporte ; la plupart des autres sont AAC-LC uniquement |
Si un encodeur sort de l’audio MP2 (courant en broadcast européen) et qu’un décodeur n’attend que de l’AAC, vous aurez la vidéo sans audio — ou un audio brouillé si le décodeur essaie d’interpréter le MP2 comme de l’AAC.
Audio Multicanal
L’audio multicanal (5.1, 7.1) peut aussi casser les décodeurs qui ne supportent que le stéréo. Certains décodeurs font un downmix silencieux, d’autres coupent tout l’audio, d’autres jouent uniquement les deux premiers canaux aux mauvais niveaux.
Incompatibilité de Latence SRT
Pas un problème de codec, mais ça produit les mêmes symptômes (images perdues, vidéo saccadée) :
Si le buffer de latence SRT du décodeur est trop petit par rapport au RTT réseau, SRT ne peut pas retransmettre les paquets perdus à temps. Le décodeur reçoit un flux incomplet et perd des images. Ça ressemble à un problème d’encodage mais c’est en réalité un problème de configuration réseau.
Règle d’or : La latence SRT devrait être au moins 3–4× le temps d’aller-retour (RTT) entre encodeur et décodeur. Pour un lien à 50 ms de RTT, réglez la latence à au moins 200 ms. Pour les liaisons intercontinentales (150 ms de RTT), passez à 600 ms+.
Compatibilité Décodeurs en un Coup d’Œil
| Décodeur | H.264 4:2:2 | H.265 | 1080i | Audio MP2 | AAC |
|---|---|---|---|---|---|
| Haivision Makito X4 Dec. | Oui | Oui | HEVC uniquement | Non documenté | Oui |
| Ateme TITAN Edge | Oui | Oui | Oui | Oui | Oui |
| Ateme Kyrion DR5000 | Oui | Oui | Oui | Oui | Oui |
| Matrox Monarch EDGE | Oui | Non | Oui | Non | Oui |
| Teradek Prism Flex Mk II | Non | Oui | Décodage logiciel (H.264) | Non | Oui |
| Evertz XPS | Oui | Oui | Oui | Non vérifié | Oui |
| Kiloview DC230/DC220 | Non | Non | Oui (SDI) | Non | Oui |
| Kiloview D350 | Non | Oui (4:2:0 uniquement) | Oui | Oui | Oui |
| Kiloview N60 | Oui | Oui | Oui | Non | Oui |
| Magewell Pro Convert | Non documenté | Oui | Oui | Non | Oui |
| Blackmagic Streaming Dec. 4K | N/A (H.265 uniquement) | Oui | Oui | Non documenté | Oui |
| Evertz UXP-TRXS-HC | Non documenté | Oui | HEVC uniquement | Non | Oui |
| Net Insight Nimbra 400 | Non documenté | Oui | Oui | Oui | Oui |
Limitations clés : Le Blackmagic Streaming Decoder 4K n’accepte que le H.265 via SRT (H.264 via RTMP uniquement). Le Makito X4 Decoder gère le 1080i nativement en HEVC mais décode le H.264 en progressif uniquement. Le Matrox Monarch EDGE est H.264 uniquement — aucun H.265.
Specs Détaillées par Marque
Kiloview
| Spec | DC230 | DC220 | D350 | N60 |
|---|---|---|---|---|
| H.264 4:2:2 | Non (4:2:0 uniquement) | Non (4:2:0 uniquement) | Non (Baseline/Main/High uniquement) | Oui (profil High 4:2:2) |
| H.265 | Non | Non | Oui (profil Main, 4:2:0 uniquement) | Oui (Main 4:2:2 10) |
| 1080i | Oui (sortie SDI) | Oui (sortie SDI) | Oui | Oui |
| Audio | AAC-LC, G.711 | AAC-LC, G.711 | AAC, G.711, MP2, MPEG-4, Opus, LPCM | AAC-LC, G.711, Opus |
| Résolution max | 1080p60 | 1080p60 | 4Kp60 | 4Kp60 |
Piège : Les DC230 et DC220 sont H.264 uniquement, 4:2:0 uniquement. Le D350 supporte le 4K et le H.265 mais est limité au 4:2:0 8-bit pour le H.264 comme pour le H.265 — il ne peut pas décoder le 4:2:2 malgré son statut de « décodeur 4K ». Le N60 est le seul Kiloview à gérer le H.264 High 4:2:2 et le H.265 Main 4:2:2 10-bit.
Magewell
| Spec | Pro Convert NDI to AIO | Pro Convert H.26x to SDI | Pro Convert H.26x to HDMI |
|---|---|---|---|
| H.264 4:2:2 | Non documenté | Non documenté | Non documenté |
| H.265 | Oui | Oui | Oui |
| 1080i | Oui | Oui | Oui |
| Audio | AAC, MP3 (pas de MP2, pas d’AC-3) | AAC, MP3 (pas de MP2, pas d’AC-3) | AAC, MP3 |
| Résolution max | 1080p60 (H.26x), 4K (NDI) | 1080p60 | 2Kp60 |
Piège : Magewell ne documente pas explicitement le support H.264 4:2:2 sur leur chemin de décodage. Pas de support audio MP2 — si la source envoie de l’audio MPEG-1 Layer II (courant en broadcast européen), vous aurez la vidéo sans audio. Les Ultra Encode et Ultra Stream sont des encodeurs uniquement — ils ne peuvent pas décoder le SRT.
Haivision
| Spec | Makito X4 Decoder |
|---|---|
| H.264 4:2:2 | Oui (8/10-bit) |
| H.265 | Oui |
| 1080i | HEVC entrelacé natif, H.264 progressif uniquement |
| Audio | AAC, embedded (jusqu’à 32 canaux) |
| Résolution max | 4K UHD 2160p60 |
Piège : Le Makito X4 Decoder est le décodeur SRT de référence — il gère quasiment tout. Si un MCR dit “on a du Haivision”, demandez quel produit : le Media Gateway / SRT Gateway est un convertisseur de protocoles (SRT↔RTMP↔UDP), pas un décodeur. Play Pro est une appli de monitoring (iOS/Android), pas un équipement de production.
Ateme
| Spec | TITAN Edge Decoder | Kyrion DR5000 |
|---|---|---|
| H.264 4:2:2 | Oui (jusqu’à 10-bit) | Oui (jusqu’à 10-bit) |
| H.265 | Oui | Oui (via mise à jour logicielle) |
| 1080i | Oui (natif + conversion p-vers-i) | Oui |
| Audio | Complet (MP2, AAC, AC-3, DD+, Dolby E, PCM) | MP2, AAC, AC-3, DD+, Dolby E, PCM |
| Résolution max | 4K UHD | 4K UHD |
Piège : Ateme est broadcast-grade et supporte tout. Mais le Kyrion DR5000 nécessite une licence SRT séparée (DR5000-LIC-SRT). Sans elle, le SRT n’est pas disponible même si le matériel le supporte. Le CM5000 est un encodeur uniquement — pas un décodeur.
Blackmagic Design
| Spec | Streaming Decoder 4K |
|---|---|
| H.264 via SRT | Non — H.265 uniquement via SRT |
| H.265 | Oui |
| 1080i | Oui |
| Audio | Embedded (2 canaux streaming, 16 canaux SDI) |
| Résolution max | 2160p60 |
Piège : Le Streaming Decoder 4K n’accepte que le H.265 via SRT — le H.264 n’est supporté que via RTMP. Si la source est H.264 via SRT, la sortie reste noire. Les Web Presenter HD et 4K sont des encodeurs, pas des décodeurs. Le Teranex Mini SDI to IP utilise le codec propriétaire TICO, pas SRT.
Teradek
| Spec | Prism Flex Mk II |
|---|---|
| H.264 4:2:2 | Non (Baseline/Main/High uniquement — 4:2:2 en HEVC seulement) |
| H.265 | Oui |
| 1080i | Oui (mais H.264 entrelacé = décodage logiciel) |
| Audio | AAC-LC uniquement (pas de MP2, pas d’AC-3) |
| Résolution max | 4K DCI/UHD p60 |
Piège : Le Prism Flex Mk II ne décode pas le H.264 4:2:2 — uniquement les profils Baseline, Main et High (4:2:0). Le 4:2:2 10-bit n’est disponible qu’en HEVC. Le décodage H.264 entrelacé passe en logiciel au lieu du matériel. Les anciens Cube 625/675 sont discontinués (H.264 4:2:0 uniquement, 1080p60 max).
Matrox
| Spec | Monarch EDGE Decoder |
|---|---|
| H.264 4:2:2 | Oui (profil High 4:2:2, 10-bit) |
| H.265 | Non |
| 1080i | Oui (moteur de désentrelacement intégré) |
| Audio | AAC-HE, AAC-LC, PCM S302M (pas de MP2, pas d’AC-3) |
| Résolution max | 4K UHD 2160p60 |
Piège : Un des rares décodeurs qui supporte explicitement le profil H.264 High 4:2:2. Mais c’est H.264 uniquement — aucun décodage HEVC/H.265. Si vous prévoyez de passer en H.265 plus tard, le Monarch EDGE ne pourra pas suivre.
Evertz
| Spec | XPS Series | UXP-TRXS-HC |
|---|---|---|
| H.264 4:2:2 | Oui | Non documenté |
| H.265 | Oui | Oui |
| 1080i | Oui | H.265 entrelacé oui, H.264 entrelacé non |
| Audio | PCM (16 canaux), AAC (12 canaux), AC-3 (8 canaux) | AAC uniquement |
| Résolution max | 4K UHD 2160p60 | 4K UHD 2160p60 |
Piège : Le XPS est full broadcast (JPEG 2000, JPEG-XS, up/down/cross-conversion). Le UXP-TRXS-HC supporte le 4K60 10-bit 4:2:2 mais le H.264 entrelacé n’est pas supporté — les formats entrelacés ne marchent qu’en HEVC. L’audio compressé est AAC uniquement (2.0 et 5.1) ; PCM disponible en non compressé.
Net Insight Nimbra 400
| Spec | Nimbra 400 Series (410 / 412 / 414) |
|---|---|
| H.264 4:2:2 | Non documenté |
| H.265 | Oui |
| 1080i | Oui |
| Audio | AAC-LC, HE-AAC, MP2, AES3 |
| Résolution max | 1080p60 (414 : 4K UHD depuis mise à jour 2024) |
| Protocoles | SRT, RIST, Zixi, RTP |
Piège : Le Nimbra 400 est un vrai encodeur/décodeur — pas juste un routeur de transport. Jusqu’à 4 canaux indépendants par 1U, avec encodage et décodage en parallèle. I/O SDI + ASI. Le support du profil H.264 4:2:2 n’est pas documenté (contacter Net Insight). Solide dans les réseaux broadcast managés (sport, événementiel) où RIST et Zixi sont aussi utilisés.
Ce Que Votre Encodeur Produit
La compatibilité décodeur dépend de ce que votre encodeur envoie réellement. Tous les encodeurs n’exposent pas les mêmes options — certains vous verrouillent sur des profils, du chroma ou des codecs audio spécifiques.
| Encodeur | Profil H.264 max | H.265 | Sortie 4:2:2 | Sortie entrelacée | Audio | Résolution max |
|---|---|---|---|---|---|---|
| Haivision Makito X | High (4:2:0) | Non | Non | Non documenté | Non documenté | 1080p60 |
| Haivision Makito X4 | High 4:2:2 10-bit | Oui (Main 4:2:2 10) | Oui | HEVC : oui / H.264 : non (désentrelace) | AAC-LC | 4K 2160p60 |
| Teradek Prism Flex Mk II | High | Oui (Main) | Oui (HEVC uniquement) | Désentrelace l’entrée | AAC-LC, MP2, AC-3, Opus | 4K DCI/UHD p60 |
| Kiloview E1 / E2 | High | Non | Non documenté | Accepte 1080i en entrée | AAC, G.711 | 1080p60 |
| Kiloview N60 / N50 | High 4:2:2 | Oui (Main 10) | Oui (10-bit) | Non documenté | AAC-LC, Opus, G.711 | 4Kp60 |
| Blackmagic Web Presenter 4K | Non documenté | Oui (SRT uniquement) | Non documenté | Désentrelace l’entrée | Non documenté | 2160p60 |
| ATEM Mini Pro ISO | Non documenté | Non | Non documenté | Non — progressif uniquement | AAC | 1080p60 (SRT depuis firmware 9.5) |
| Magewell Ultra Encode | High (4:2:0) | Oui (Main, 4:2:0) | Non (4:2:0 uniquement) | Désentrelace l’entrée | AAC uniquement | 2048x1080p60 |
| Ateme Kyrion CM5000 | 4:2:2 10-bit | Oui (upgrade) | Oui | Non documenté | AAC, MP2, AC-3 | 1080p60 |
Notes importantes :
- Le Makito X est H.264 uniquement, pas de 4:2:2 — le Makito X original encode en H.264 High Profile (4:2:0). Il ne peut pas sortir de H.265. Encore très répandu en contribution broadcast. Si le décodeur en aval nécessite du H.265 (comme le Blackmagic Streaming Decoder 4K), il faut une gateway de transcodage.
- Makito X4 : l’entrelacé dépend du codec (encodeur et décodeur) — l’encodage HEVC préserve l’entrelacé (1080i50 en entrée → 1080i50 HEVC en sortie). L’encodage H.264 désentrelace en progressif (1080i50 en entrée → 1080p50 H.264 en sortie). Le décodeur X4 a la même limite : décodage HEVC entrelacé natif, mais H.264 en progressif uniquement. Si vous envoyez une source 1080i à un encodeur Makito X4 en H.264, la sortie est du 1080p50 — vérifiez que les décodeurs en aval supportent le progressif avant de considérer la compatibilité acquise. Source : ingénierie Haivision.
- Le H.264 4:2:2 n’est disponible que sur les encodeurs broadcast — Makito X4, Kiloview N60, Ateme CM5000. Le Prism Flex sort du 4:2:2 en HEVC uniquement. Les encodeurs prosumer (ATEM Mini, Web Presenter HD, Kiloview E1/E2, Magewell Ultra Encode) sortent du 4:2:0 uniquement.
- L’audio MP2 provient des encodeurs broadcast — Prism Flex et Ateme CM5000 peuvent sortir du MPEG-1 Layer II. La plupart des encodeurs prosumer sont en AAC par défaut. Si votre décodeur ne gère pas le MP2, la source est probablement un encodeur de contribution broadcast.
- L’ATEM Mini Pro ISO supporte le SRT depuis le firmware 9.5 — Blackmagic a ajouté le support SRT dans ATEM Software 9.5 (2024). RTMP et SRT sont tous deux supportés. La configuration SRT se fait via les champs Server/Key dans ATEM Software Control.
- Les LiveU Solo / Solo Pro ne sont PAS des encodeurs SRT directs — ils envoient du LRT propriétaire vers le LiveU Cloud, qui convertit en SRT. Cela nécessite un abonnement LRT payant. L’appareil ne sort jamais de SRT directement.
Compatibilité Croisée Encodeur → Décodeur
Plutôt que de vérifier chaque paire encodeur/décodeur individuellement, identifiez le profil de sortie de votre encodeur et croisez avec les capacités du décodeur. Quatre profils de sortie couvrent la majorité des cas de distribution SRT.
Quel Profil Produit Votre Encodeur ?
| Profil de sortie | Encodeurs |
|---|---|
| H.264 4:2:2 + AAC | Haivision Makito X4, Kiloview N60, Ateme CM5000 |
| H.264 4:2:0 + AAC | Haivision Makito X, Kiloview E1/E2, Magewell Ultra Encode, Prism Flex (configurable) |
| H.265 4:2:0 + AAC | Makito X4, Prism Flex, Kiloview N60, Blackmagic Web Presenter 4K, Magewell |
| H.264 4:2:2 + MP2 | Ateme CM5000 (mode broadcast européen) |
Est-ce Compatible ?
| Décodeur | H.264 4:2:2 | H.264 4:2:0 | H.265 4:2:0 | H.264 4:2:2 + MP2 |
|---|---|---|---|---|
| Haivision Makito X4 Dec | Oui | Oui | Oui | Non vérifié (MP2) |
| Ateme TITAN Edge / DR5000 | Oui | Oui | Oui | Oui |
| Matrox Monarch EDGE | Oui | Oui | Non — pas de H.265 | Non — pas de MP2 |
| Teradek Prism Flex Dec | Non — HEVC uniquement | Oui | Oui | Non — pas de MP2 |
| Evertz XPS | Oui | Oui | Oui | Non vérifié |
| Kiloview DC230 / DC220 | Non — 4:2:0 uniquement | Oui | Non — pas de H.265 | Non |
| Kiloview D350 | Non — 4:2:0 uniquement | Oui | Oui | Non — 4:2:0 uniquement (MP2 OK) |
| Kiloview N60 | Oui | Oui | Oui | Non — pas de MP2 |
| Magewell Pro Convert | Non vérifié (4:2:2) | Oui | Oui | Non — pas de MP2 |
| Blackmagic Streaming Dec 4K | Non — H.265 uniquement | Non — H.265 uniquement | Oui | Non — H.265 uniquement |
| Evertz UXP-TRXS-HC | Non vérifié (4:2:2) | Oui | Oui | Non — AAC uniquement |
| Net Insight Nimbra 414 | Non vérifié (4:2:2) | Oui | Oui | Non vérifié (4:2:2) |
Comment lire ce tableau : Trouvez votre encodeur dans le premier tableau pour identifier votre profil de sortie. Cherchez votre décodeur dans la colonne correspondante. « Non » signifie qu’il faut une gateway de transcodage entre les deux. « Non vérifié » signifie que le fabricant ne documente pas publiquement cette capacité — testez avant de déployer en production.
La Solution : Transcodage Multi-Profil
Quand vous distribuez vers plusieurs destinations avec des capacités de décodage différentes, la solution est de transcoder votre entrée unique en plusieurs profils d’encodage, chacun adapté à ce que la destination peut gérer.
Entrée SRT (tout encodeur broadcast)
│
▼
Vajra Cast
│
┌─────────┬──┴──┬─────────┐
▼ ▼ ▼ ▼
Passthrough Fix Transcode Profil
(original) 4:2:0 H.265 IT/CDN
│ │ │ │
▼ ▼ ▼ ▼
Décodeurs Décodeurs Décodeurs CDN
broadcast standard H.265 ingest
- Passthrough envoie la qualité d’origine aux décodeurs broadcast qui gèrent tout — zéro coût CPU
- Fix 4:2:0 convertit 4:2:2 → 4:2:0 et transcode l’audio en AAC pour les décodeurs H.264 standard
- Transcode H.265 convertit H.264 → H.265 pour les décodeurs qui n’acceptent que le HEVC via SRT
- Profil IT/CDN désentrelace en progressif, convertit en 4:2:0, transcode l’audio en AAC pour les équipements web/CDN
Coût en Ressources
Coût CPU par profil (encodage logiciel), ou quasi-négligeable avec Intel QSV :
| Opération | Coût CPU | Coût GPU (Intel QSV) |
|---|---|---|
| Décodage 1080i50 H.264 | ~1 cœur | Négligeable |
| Encodage 1080i50 H.264 4:2:0 | ~4 cœurs (x264) | ~5% GPU |
| Encodage 1080p50 H.265 4:2:0 | ~6 cœurs (x265) | ~12% GPU |
| Encodage 1080p50 H.264 4:2:0 | ~5 cœurs (x264) | ~8% GPU |
| Désentrelacement | ~1 cœur | Négligeable |
| Transcodage audio (MP2 → AAC) | Négligeable | N/A |
Avec le transcodage matériel (Intel QSV), un seul serveur peut gérer 4 à 8 transcodages simultanés de contenu 1080p50.
Exemples Concrets
Rejet du 4:2:2
Setup : Encodeur sort du 1080i50 H.264 High 4:2:2, 25 Mbps. Destination : Magewell Pro Convert H.26x to SDI.
Symptôme : La sortie vidéo montre des couleurs corrompues ou un écran noir. La connexion SRT est établie, les stats sont normales.
Diagnostic :
ffprobe -v error -select_streams v:0 \
-show_entries stream=profile,pix_fmt \
-of csv=p=0 "srt://source:9000?mode=caller&latency=500000"
Sortie : High 4:2:2,yuv422p — confirme que la source envoie du 4:2:2. Magewell ne documente pas le support du décodage 4:2:2.
Correction via gateway : Transcoder en H.264 High 4:2:0, garder le reste.
ffmpeg -i "srt://:9000?mode=listener&latency=500000" \
-c:v libx264 -profile:v high -pix_fmt yuv420p -b:v 20M \
-flags +ilme+ildct -top 1 \
-c:a copy \
-f mpegts "srt://decoder:9000?mode=caller&latency=300000"
Coût : ~5% GPU avec Intel QSV. La perte de qualité vidéo est minimale — la réduction de détail chroma est invisible sur la plupart des contenus.
Décodeur H.265 Uniquement
Setup : Encodeur sort du H.264 via SRT. Destination : Blackmagic Streaming Decoder 4K.
Symptôme : Écran noir. La connexion SRT s’établit normalement et les stats sont bonnes, mais le décodeur ne produit aucune image.
Pourquoi : Le Blackmagic Streaming Decoder 4K n’accepte que le H.265 via SRT. Le H.264 n’est supporté que via RTMP.
Correction via gateway : Transcodage complet — H.264 → H.265, désentrelacement si nécessaire, audio en AAC.
ffmpeg -i "srt://:9000?mode=listener&latency=500000" \
-vf yadif=1 \
-c:v libx265 -profile:v main -pix_fmt yuv420p -b:v 8M \
-c:a aac -b:a 256k -ac 2 \
-f mpegts "srt://decoder:9000?mode=caller&latency=300000"
Coût : ~15% GPU avec Intel QSV. C’est le transcodage le plus lourd (changement de codec + désentrelacement potentiel) mais toujours gérable sur un seul serveur.
Incompatibilité Audio
Setup : Broadcaster européen, encodeur sort de l’audio MP2 (MPEG-1 Layer II). Destination : Teradek Prism Flex Mk II.
Symptôme : La vidéo s’affiche correctement. Pas d’audio. Ou du bruit brouillé à la place de l’audio.
Pourquoi : Teradek ne supporte que l’audio AAC-LC. Le MP2 est standard en broadcast européen mais non supporté par la plupart des décodeurs prosumer/IT. Le décodeur reçoit des paquets audio qu’il ne peut pas interpréter.
Correction via gateway : Transcodage audio uniquement — vidéo en passthrough, MP2 → AAC.
ffmpeg -i "srt://:9000?mode=listener&latency=500000" \
-c:v copy \
-c:a aac -b:a 256k -ac 2 \
-f mpegts "srt://decoder:9000?mode=caller&latency=300000"
Coût : Négligeable. Le transcodage audio est imperceptible en termes de CPU ou GPU.
Distribution Multi-Destination
Quand vous distribuez simultanément vers plusieurs destinations avec des besoins différents, la gateway crée une sortie par destination, chacune avec son propre profil de transcodage :
| Sortie | Destination | Transcodage | Coût GPU |
|---|---|---|---|
| 1 | Décodeur broadcast (Ateme, Evertz XPS) | Passthrough | Zéro |
| 2 | Décodeur H.264 standard (Kiloview, Magewell) | 4:2:2→4:2:0 + MP2→AAC | ~5% |
| 3 | Décodeur H.265 uniquement (Blackmagic) | H.264→H.265 + désentrelacement + AAC | ~15% |
| 4 | Ingest CDN (Akamai, AWS) | Désentrelacement + 4:2:0 + AAC 1080p | ~8% |
| 5 | CDN bas débit | Désentrelacement + redim 720p + AAC | ~6% |
Charge GPU totale : ~34% sur un seul serveur Intel QSV. Une entrée, cinq sorties, chaque destination reçoit un flux compatible.
Diagnostic des Problèmes Existants
1. Identifiez le Profil d’Encodage
Vérifiez ce que l’encodeur produit réellement :
ffprobe -v error -select_streams v:0 \
-show_entries stream=profile,pix_fmt,width,height,field_order \
-of csv=p=0 "srt://source:9000?mode=caller&latency=500000"
Sortie typique :
High 4:2:2,yuv422p,1920,1080,tt
yuv422p = 4:2:2. yuv420p = 4:2:0. tt = top-field-first (entrelacé).
2. Testez les Capacités du Décodeur
Envoyez un flux connu bon en 1080p 4:2:0 H.264 au décodeur défaillant. Si ça marche, le problème est le 4:2:2, l’entrelacement ou l’audio — pas le SRT ni le réseau.
ffmpeg -f lavfi -i testsrc=size=1920x1080:rate=50 \
-c:v libx264 -profile:v high -pix_fmt yuv420p -b:v 8M \
-f mpegts "srt://decoder:9000?mode=caller&latency=500000"
3. Vérifiez les Statistiques SRT
Côté décodeur (ou dans le tableau de bord Vajra Cast) :
- RTT : quel est le temps d’aller-retour réel ?
- Perte de paquets : SRT les récupère-t-il dans le buffer de latence ?
- Taux de retransmission : retransmission élevée avec zéro perte = SRT fonctionne. Retransmission élevée avec perte non nulle = buffer de latence trop petit
4. Vérifiez l’Audio
Beaucoup de signalements “pas de signal” sont en réalité des problèmes audio. Certains décodeurs exigent que l’audio soit présent et dans un codec spécifique. Si l’audio est dans un format non supporté, certains décodeurs refusent le flux entier.
5. Isolation Systématique du Codec (Une Variable à la Fois)
Face à des échecs inexpliqués entre un encodeur et un décodeur spécifiques, isolez le problème en partant des réglages les plus compatibles et en changeant une seule variable à la fois :
- Test de base : H.264 Baseline, 4:2:0, 8-bit, 720p progressif. C’est le dénominateur commun le plus bas — si ça échoue, le problème est le transport, pas le codec
- Ajoutez la résolution : passez en 1080p. Si ça casse, le décodeur a un problème de niveau ou de résolution
- Ajoutez le chroma : passez en 4:2:2. Si ça casse, le décodeur ne supporte pas le profil High 4:2:2
- Ajoutez l’entrelacé : passez en 1080i50. Si ça casse, le décodeur ne gère pas le contenu entrelacé
- Changez de codec : passez en H.265. Si ça casse, le décodeur ne supporte pas le HEVC
Cela isole le paramètre exact qui cause l’échec — bien plus rapide que de tout débuguer en même temps.
Sur les encodeurs matériels comme le Makito X4, utilisez le menu déroulant Resolution pour redimensionner et désentrelacer (par ex. sélectionnez 720p pour confirmer la compatibilité de base avant de tester en 1080i50).
Insight clé : Si les statistiques SRT (RTT, perte, retransmission) sont propres mais que le décodeur n’affiche pas de vidéo ou produit une image corrompue, le problème est quasi certainement une incompatibilité de codec/profil, pas de transport. Ne perdez pas de temps à ajuster la latence SRT quand le problème est dans le payload.
Corrections de Compatibilité Courantes
| Problème | Symptôme | Correction |
|---|---|---|
| Décodeur ne supporte pas H.264 4:2:2 | Pas de vidéo, couleurs corrompues | Transcoder en 4:2:0 (-pix_fmt yuv420p) |
| Décodeur ne gère pas l’entrelacé | Demi-résolution, mauvais framerate | Désentrelacer en progressif (-vf yadif) |
| Incompatibilité codec audio | Vidéo OK, pas d’audio | Transcoder l’audio en AAC (-c:a aac) |
| Audio multicanal | Pas d’audio ou niveaux incorrects | Downmix en stéréo (-ac 2) |
| Latence SRT trop basse | Images perdues, saccades | Augmenter à 3–4× RTT |
| Firmware décodeur obsolète | Échecs aléatoires | Mettre à jour le firmware (corrige souvent 4:2:2 et entrelacé) |
| Incompatibilité MPEG-TS PMT | Pas de signal | Vérifier le mapping PID et les stream type IDs |
Résumé
Les problèmes de compatibilité SRT viennent de ce qu’il y a dans le transport — profils H.264, sous-échantillonnage chroma, mode de balayage, codecs audio — pas du SRT lui-même. En distribution vers des parcs de décodeurs hétérogènes, une gateway de transcodage entre encodeur et décodeurs résout la majorité des cas : passthrough pour les endpoints capables, profils transcodés pour les autres.
Passerelle SRT, failover automatique, monitoring temps réel et routage multi-destinations. Gratuit pendant 30 jours.
30 jours gratuits · Sans carte bancaire · Accès direct à l'équipe