SRT Decoder Compatibility: Why Your Feed Breaks and How Transcoding Fixes It
The Hidden Compatibility Problem in SRT Distribution
SRT guarantees reliable delivery — retransmissions, encryption, congestion control. But reliable delivery doesn’t mean compatible delivery.
The same SRT stream can play perfectly on one decoder and produce a black screen on another, even with zero packet loss on the wire. The issue isn’t the transport. It’s what’s inside: H.264 profiles, chroma subsampling, interlaced vs progressive, audio codecs. These parameters vary between encoders and decoders, and the mismatches cause most of the unexplained failures in SRT distribution.
This article breaks down exactly which decoders support what, and how to solve compatibility issues with transcoding.
Why Decoders Disagree
H.264 vs H.265: Different Codecs Entirely
H.264 (AVC) and H.265 (HEVC) are completely different codecs. A decoder that only supports H.264 cannot decode an H.265 stream, and vice versa.
SRT doesn’t negotiate codec — it transports whatever the encoder sends. If the encoder outputs H.265 and the decoder only handles H.264, the SRT connection establishes fine — packets arrive, stats look normal — but the decoder shows no video.
H.264-only decoders (cannot receive H.265): Kiloview DC230, DC220, Matrox Monarch EDGE
H.265-only via SRT (cannot receive H.264 over SRT): Blackmagic Streaming Decoder 4K
Most other decoders handle both, but verify. The Blackmagic is a common gotcha — it accepts H.264 via RTMP but only H.265 via SRT.
H.264 Profiles
H.264 has multiple profiles that define which features the encoder can use:
| Profile | Chroma | Bit depth | Typical use |
|---|---|---|---|
| Baseline | 4:2:0 | 8-bit | Mobile, legacy devices |
| Main | 4:2:0 | 8-bit | Streaming, consumer |
| High | 4:2:0 | 8-bit / 10-bit | Distribution, OTT, CDN |
| High 4:2:2 | 4:2:2 | 8-bit / 10-bit | Contribution (facility-to-facility) |
| High 4:4:4 | 4:4:4 | up to 14-bit | Production, post-production |
When a broadcast encoder outputs H.264 High 4:2:2 profile, it produces a bitstream that is technically valid H.264 — but many decoders only support up to High profile (4:2:0). They do not implement the High 4:2:2 profile required to decode it.
What happens: The decoder connects to the SRT stream, receives packets, and either:
- Shows “no signal” or “unsupported format”
- Shows corrupted video with color artifacts (decoders that try anyway)
- Drops frames intermittently as it fails to decode certain NAL units
Interlaced vs Progressive
Not all decoders handle interlaced content correctly:
- Some decoders output progressive only and require deinterlacing, which they may or may not do well
- Some decoders drop the bottom field entirely, producing half-resolution output
- Some decoders report the stream as 1080p25 instead of 1080i50, causing downstream timing issues
- Some (like Evertz UXP-TRXS-HC) support interlaced decode only under H.265, not H.264
Interlaced is still the standard in European broadcast (EBU), but the IT side of the industry (IP decoders, web players, CDN ingest) has moved to progressive. If your distribution chain includes any IT-grade equipment, interlaced will cause problems.
Audio Codec Mismatches
Another common failure point:
| Audio codec | Support level |
|---|---|
| AAC-LC | Near-universal — safest choice for cross-decoder compatibility |
| MPEG-1 Layer II (MP2) | Broadcast standard in Europe, but most prosumer/IT decoders don’t support it. Only Ateme (TITAN Edge, DR5000) reliably decodes it. Kiloview D350 and Nimbra 400 also list MP2 support |
| AC-3 (Dolby Digital) | Requires license — only Ateme DR5000 and Evertz XPS explicitly list support |
| PCM (S302M) | High bitrate, supported by Matrox and Evertz. Most others don’t expect it over SRT |
| MPEG-4 AAC-HE | Matrox Monarch EDGE supports it; most others are AAC-LC only |
If an encoder outputs MP2 audio (common in European broadcast) and a decoder only expects AAC, you get video but no audio — or garbled audio if the decoder tries to interpret MP2 as AAC.
Channel Count and Layout
Multichannel audio (5.1, 7.1) can also break decoders that only support stereo. Some decoders will silently downmix, others will drop all audio, and others will play only the first two channels at the wrong levels.
SRT Latency Mismatch
Not a codec issue, but it causes the same symptoms (dropped frames, choppy video):
If the decoder’s SRT latency buffer is too small relative to the network RTT, SRT cannot retransmit lost packets in time. The decoder receives an incomplete stream and drops frames. This looks like an encoding problem but is actually a network configuration issue.
Rule of thumb: SRT latency should be at least 3–4× the round-trip time (RTT) between encoder and decoder. For a 50ms RTT link, set latency to at least 200ms. For intercontinental links (150ms RTT), set it to 600ms+.
Decoder Compatibility at a Glance
| Decoder | H.264 4:2:2 | H.265 | 1080i | MP2 audio | AAC |
|---|---|---|---|---|---|
| Haivision Makito X4 Dec. | Yes | Yes | HEVC only | Not documented | Yes |
| Ateme TITAN Edge | Yes | Yes | Yes | Yes | Yes |
| Ateme Kyrion DR5000 | Yes | Yes | Yes | Yes | Yes |
| Matrox Monarch EDGE | Yes | No | Yes | No | Yes |
| Teradek Prism Flex Mk II | No | Yes | Software decode (H.264) | No | Yes |
| Evertz XPS | Yes | Yes | Yes | Not verified | Yes |
| Kiloview DC230/DC220 | No | No | Yes (SDI) | No | Yes |
| Kiloview D350 | No | Yes (4:2:0 only) | Yes | Yes | Yes |
| Kiloview N60 | Yes | Yes | Yes | No | Yes |
| Magewell Pro Convert | Not documented | Yes | Yes | No | Yes |
| Blackmagic Streaming Dec. 4K | N/A (H.265 only) | Yes | Yes | Not documented | Yes |
| Evertz UXP-TRXS-HC | Not documented | Yes | HEVC only | No | Yes |
| Net Insight Nimbra 400 | Not documented | Yes | Yes | Yes | Yes |
Key limitations: The Blackmagic Streaming Decoder 4K only accepts H.265 over SRT (H.264 via RTMP only). The Makito X4 Decoder handles 1080i natively in HEVC but decodes H.264 as progressive only. The Matrox Monarch EDGE is H.264-only — no H.265 at all.
Detailed Decoder Specs by Brand
Kiloview
| Spec | DC230 | DC220 | D350 | N60 |
|---|---|---|---|---|
| H.264 4:2:2 | No (4:2:0 only) | No (4:2:0 only) | No (Baseline/Main/High only) | Yes (High 4:2:2 profile) |
| H.265 | No | No | Yes (Main profile, 4:2:0 only) | Yes (Main 4:2:2 10) |
| 1080i | Yes (SDI output) | Yes (SDI output) | Yes | Yes |
| Audio | AAC-LC, G.711 | AAC-LC, G.711 | AAC, G.711, MP2, MPEG-4, Opus, LPCM | AAC-LC, G.711, Opus |
| Max resolution | 1080p60 | 1080p60 | 4Kp60 | 4Kp60 |
Key gotcha: The DC230 and DC220 are H.264-only, 4:2:0-only. The D350 supports 4K and H.265 but is limited to 4:2:0 8-bit for both H.264 and H.265 — it cannot decode 4:2:2 despite being a “4K decoder”. The N60 is the only Kiloview that handles H.264 High 4:2:2 and 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 | Not documented | Not documented | Not documented |
| H.265 | Yes | Yes | Yes |
| 1080i | Yes | Yes | Yes |
| Audio | AAC, MP3 (no MP2, no AC-3) | AAC, MP3 (no MP2, no AC-3) | AAC, MP3 |
| Max resolution | 1080p60 (H.26x), 4K (NDI) | 1080p60 | 2Kp60 |
Key gotcha: Magewell doesn’t explicitly document H.264 4:2:2 support on their decode path. No MP2 audio support — if the source sends MPEG-1 Layer II audio (common in European broadcast), you’ll get video with no audio. The Ultra Encode and Ultra Stream are encoders only — they cannot decode SRT.
Haivision
| Spec | Makito X4 Decoder |
|---|---|
| H.264 4:2:2 | Yes (8/10-bit) |
| H.265 | Yes |
| 1080i | HEVC interlaced native, H.264 progressive only |
| Audio | AAC, embedded (up to 32ch) |
| Max resolution | 4K UHD 2160p60 |
Key gotcha: The Makito X4 Decoder is the reference SRT decoder — it handles virtually everything. If an MCR says “we have Haivision”, clarify which product: the Media Gateway / SRT Gateway is a protocol converter (SRT↔RTMP↔UDP), not a decoder. Play Pro is a monitoring app (iOS/Android), not production equipment.
Ateme
| Spec | TITAN Edge Decoder | Kyrion DR5000 |
|---|---|---|
| H.264 4:2:2 | Yes (up to 10-bit) | Yes (up to 10-bit) |
| H.265 | Yes | Yes (via software upgrade) |
| 1080i | Yes (native + p-to-i conversion) | Yes |
| Audio | Full broadcast (MP2, AAC, AC-3, DD+, Dolby E, PCM) | MP2, AAC, AC-3, DD+, Dolby E, PCM |
| Max resolution | 4K UHD | 4K UHD |
Key gotcha: Ateme is broadcast-grade and supports everything. But the Kyrion DR5000 requires a separate SRT license (DR5000-LIC-SRT). Without it, SRT is not available even if the hardware supports it. The CM5000 is an encoder only — not a decoder.
Blackmagic Design
| Spec | Streaming Decoder 4K |
|---|---|
| H.264 over SRT | No — H.265 only over SRT |
| H.265 | Yes |
| 1080i | Yes |
| Audio | Embedded (2ch streaming, 16ch SDI) |
| Max resolution | 2160p60 |
Key gotcha: The Streaming Decoder 4K only accepts H.265 over SRT — H.264 is supported via RTMP only. If the source is H.264 over SRT, the output stays black. The Web Presenter HD and 4K are encoders, not decoders. The Teranex Mini SDI to IP uses proprietary TICO, not SRT.
Teradek
| Spec | Prism Flex Mk II |
|---|---|
| H.264 4:2:2 | No (Baseline/Main/High only — 4:2:2 is HEVC only) |
| H.265 | Yes |
| 1080i | Yes (but H.264 interlaced uses software decode) |
| Audio | AAC-LC only (no MP2, no AC-3) |
| Max resolution | 4K DCI/UHD p60 |
Key gotcha: The Prism Flex Mk II does not decode H.264 4:2:2 — only Baseline, Main, and High profiles (4:2:0). 4:2:2 10-bit is available in HEVC mode only. H.264 interlaced decoding falls back to software instead of hardware. The legacy Cube 625/675 decoders are discontinued (H.264 4:2:0 only, 1080p60 max).
Matrox
| Spec | Monarch EDGE Decoder |
|---|---|
| H.264 4:2:2 | Yes (High 4:2:2 profile, 10-bit) |
| H.265 | No |
| 1080i | Yes (with de-interlacing engine) |
| Audio | AAC-HE, AAC-LC, PCM S302M (no MP2, no AC-3) |
| Max resolution | 4K UHD 2160p60 |
Key gotcha: One of the few decoders that explicitly supports H.264 High 4:2:2 profile. But it’s H.264 only — no HEVC/H.265 decode at all. If you plan to move to H.265 later, the Monarch EDGE can’t follow.
Evertz
| Spec | XPS Series | UXP-TRXS-HC |
|---|---|---|
| H.264 4:2:2 | Yes | Not documented |
| H.265 | Yes | Yes |
| 1080i | Yes | H.265 interlaced yes, H.264 interlaced no |
| Audio | PCM (16ch), AAC (12ch), AC-3 (8ch) | AAC only |
| Max resolution | 4K UHD 2160p60 | 4K UHD 2160p60 |
Key gotcha: The XPS is full broadcast-grade (JPEG 2000, JPEG-XS, up/down/cross-conversion). The UXP-TRXS-HC supports 4K60 10-bit 4:2:2 but H.264 interlaced is not supported — interlaced formats work in HEVC mode only. Compressed audio is AAC only (2.0 and 5.1); PCM is available uncompressed.
Net Insight Nimbra 400
| Spec | Nimbra 400 Series (410 / 412 / 414) |
|---|---|
| H.264 4:2:2 | Not documented |
| H.265 | Yes |
| 1080i | Yes |
| Audio | AAC-LC, HE-AAC, MP2, AES3 |
| Max resolution | 1080p60 (414: 4K UHD since 2024 update) |
| Protocols | SRT, RIST, Zixi, RTP |
Key gotcha: The Nimbra 400 is a true encoder/decoder — not just a transport router. Up to 4 independent channels per 1U, with parallel encode and decode. SDI + ASI I/O. H.264 4:2:2 profile support is not documented (contact Net Insight). Strong in managed broadcast networks (sports, events) where RIST and Zixi are also used.
What Your Encoder Outputs
Decoder compatibility depends on what your encoder actually sends. Not all encoders expose the same options — some lock you into specific profiles, chroma, or audio codecs.
| Encoder | H.264 max profile | H.265 | 4:2:2 output | Interlaced output | Audio | Max resolution |
|---|---|---|---|---|---|---|
| Haivision Makito X | High (4:2:0) | No | No | Not documented | Not documented | 1080p60 |
| Haivision Makito X4 | High 4:2:2 10-bit | Yes (Main 4:2:2 10) | Yes | HEVC: yes / H.264: no (deinterlaces) | AAC-LC | 4K 2160p60 |
| Teradek Prism Flex Mk II | High | Yes (Main) | Yes (HEVC only) | Deinterlaces input | AAC-LC, MP2, AC-3, Opus | 4K DCI/UHD p60 |
| Kiloview E1 / E2 | High | No | Not documented | Accepts 1080i input | AAC, G.711 | 1080p60 |
| Kiloview N60 / N50 | High 4:2:2 | Yes (Main 10) | Yes (10-bit) | Not documented | AAC-LC, Opus, G.711 | 4Kp60 |
| Blackmagic Web Presenter 4K | Not documented | Yes (SRT only) | Not documented | Deinterlaces input | Not documented | 2160p60 |
| ATEM Mini Pro ISO | Not documented | No | Not documented | No — progressive only | AAC | 1080p60 (SRT since firmware 9.5) |
| Magewell Ultra Encode | High (4:2:0) | Yes (Main, 4:2:0) | No (4:2:0 only) | Deinterlaces input | AAC only | 2048x1080p60 |
| Ateme Kyrion CM5000 | 4:2:2 10-bit | Yes (upgrade) | Yes | Not documented | AAC, MP2, AC-3 | 1080p60 |
Important notes:
- Makito X is H.264-only, no 4:2:2 — the original Makito X encodes H.264 High Profile (4:2:0). It cannot output H.265. Still widely deployed in broadcast contribution. If your downstream decoder requires H.265 (like Blackmagic Streaming Decoder 4K), you need a transcoding gateway.
- Makito X4 interlaced depends on codec (both encoder and decoder) — HEVC encoding preserves interlaced (1080i50 in → 1080i50 HEVC out). H.264 encoding deinterlaces to progressive (1080i50 in → 1080p50 H.264 out). The X4 decoder mirrors this: HEVC interlaced decode is native, but H.264 decode is progressive only. If you feed a 1080i source to a Makito X4 encoder with H.264, the output is 1080p50 — confirm downstream decoders support progressive before assuming compatibility. Source: Haivision engineering.
- H.264 4:2:2 is only available from broadcast-grade encoders — Makito X4, Kiloview N60, Ateme CM5000. The Prism Flex outputs 4:2:2 in HEVC only. Prosumer encoders (ATEM Mini, Web Presenter HD, Kiloview E1/E2, Magewell Ultra Encode) output 4:2:0 only.
- MP2 audio comes from broadcast encoders — Prism Flex and Ateme CM5000 can output MPEG-1 Layer II. Most prosumer encoders default to AAC. If your decoder can’t handle MP2, the source is likely a broadcast contribution encoder.
- ATEM Mini Pro ISO supports SRT since firmware 9.5 — Blackmagic added SRT streaming support in ATEM Software 9.5 (2024). Both RTMP and SRT are supported. SRT configuration is done via Server/Key fields in ATEM Software Control.
- LiveU Solo / Solo Pro are NOT direct SRT encoders — they send proprietary LRT to LiveU Cloud, which converts to SRT. This requires a paid LRT subscription. The device never outputs SRT directly.
Encoder → Decoder Compatibility Cross-Reference
Instead of checking each encoder/decoder pair individually, match your encoder’s output profile to the decoder’s capabilities. Four output profiles cover most SRT distribution scenarios.
Which Profile Does Your Encoder Produce?
| Output profile | Encoders |
|---|---|
| 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 (European broadcast mode) |
Does It Work?
| Decoder | 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 | Yes | Yes | Yes | Not verified (MP2) |
| Ateme TITAN Edge / DR5000 | Yes | Yes | Yes | Yes |
| Matrox Monarch EDGE | Yes | Yes | No — no H.265 | No — no MP2 |
| Teradek Prism Flex Dec | No — HEVC only | Yes | Yes | No — no MP2 |
| Evertz XPS | Yes | Yes | Yes | Not verified |
| Kiloview DC230 / DC220 | No — 4:2:0 only | Yes | No — no H.265 | No |
| Kiloview D350 | No — 4:2:0 only | Yes | Yes | No — 4:2:0 only (MP2 OK) |
| Kiloview N60 | Yes | Yes | Yes | No — no MP2 |
| Magewell Pro Convert | Not verified (4:2:2) | Yes | Yes | No — no MP2 |
| Blackmagic Streaming Dec 4K | No — H.265 only | No — H.265 only | Yes | No — H.265 only |
| Evertz UXP-TRXS-HC | Not verified (4:2:2) | Yes | Yes | No — AAC only |
| Net Insight Nimbra 414 | Not verified (4:2:2) | Yes | Yes | Not verified (4:2:2) |
How to read this: Find your encoder in the first table to identify your output profile. Look up your decoder in the matching column. “No” means you need a transcoding gateway between them. “Not verified” means the manufacturer doesn’t publicly document this capability — test before committing to production.
The Solution: Multi-Profile Transcoding
When you distribute to multiple destinations with different decoder capabilities, the answer is to transcode your single input into multiple encoding profiles, each matched to what the destination can handle.
SRT input (any broadcast encoder)
│
▼
Vajra Cast
│
┌─────────┬──┴──┬─────────┐
▼ ▼ ▼ ▼
Passthrough 4:2:0 H.265 IT/CDN
(original) fix transcode profile
│ │ │ │
▼ ▼ ▼ ▼
Broadcast Prosumer H.265 CDN
decoders decoders only ingest
- Passthrough sends the original quality to broadcast-grade decoders that handle everything — zero CPU cost
- 4:2:0 fix converts 4:2:2 → 4:2:0 and transcodes audio to AAC for standard H.264 decoders
- H.265 transcode converts H.264 → H.265 for decoders that only accept HEVC over SRT
- IT/CDN profile deinterlaces to progressive, converts to 4:2:0, transcodes audio to AAC for web/CDN equipment
Resource Cost
CPU cost per profile (software encode), or near-negligible with Intel QSV:
| Operation | CPU cost | GPU cost (Intel QSV) |
|---|---|---|
| Decode 1080i50 H.264 | ~1 core | Negligible |
| Encode 1080i50 H.264 4:2:0 | ~4 cores (x264) | ~5% GPU |
| Encode 1080p50 H.265 4:2:0 | ~6 cores (x265) | ~12% GPU |
| Encode 1080p50 H.264 4:2:0 | ~5 cores (x264) | ~8% GPU |
| Deinterlace | ~1 core | Negligible |
| Audio transcode (MP2 → AAC) | Negligible | N/A |
With hardware transcoding (Intel QSV), a single server can handle 4-8 simultaneous transcodes of 1080p50 content.
Worked Examples
4:2:2 Rejection
Setup: Encoder outputs 1080i50 H.264 High 4:2:2, 25 Mbps. Destination has a Magewell Pro Convert H.26x to SDI.
Symptom: Video output shows corrupted colors or a black screen. SRT connection is established, stats look normal.
Diagnosis:
ffprobe -v error -select_streams v:0 \
-show_entries stream=profile,pix_fmt \
-of csv=p=0 "srt://source:9000?mode=caller&latency=500000"
Output: High 4:2:2,yuv422p — confirms the source sends 4:2:2. The Magewell doesn’t document 4:2:2 decode support.
Fix via gateway: Transcode to H.264 High 4:2:0, keep everything else.
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"
Cost: ~5% GPU with Intel QSV. Video quality loss is minimal — chroma detail reduction is invisible on most content.
H.265-Only Decoder
Setup: Encoder outputs H.264 over SRT. Destination has a Blackmagic Streaming Decoder 4K.
Symptom: Black output. The SRT connection establishes normally and stats look fine, but the decoder produces no picture.
Why: The Blackmagic Streaming Decoder 4K only accepts H.265 over SRT. H.264 is supported via RTMP only.
Fix via gateway: Full codec transcode — H.264 → H.265, deinterlace if needed, audio to 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"
Cost: ~15% GPU with Intel QSV. This is the heaviest transcode (codec change + potential deinterlace) but still manageable on a single server.
Audio Mismatch
Setup: European broadcaster, encoder outputs MP2 audio (MPEG-1 Layer II). Destination has a Teradek Prism Flex Mk II.
Symptom: Video plays fine. No audio. Or garbled noise instead of audio.
Why: Teradek only supports AAC-LC audio. MP2 is standard in European broadcast but unsupported by most prosumer/IT decoders. The decoder receives audio packets it can’t interpret.
Fix via gateway: Audio-only transcode — video 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"
Cost: Negligible. Audio transcoding barely registers on CPU or GPU.
Multi-Destination Distribution
When distributing to multiple destinations simultaneously, the gateway creates one output per destination, each with its own transcoding profile:
| Output | Destination | Transcode | GPU cost |
|---|---|---|---|
| 1 | Broadcast decoder (Ateme, Evertz XPS) | Passthrough | Zero |
| 2 | Standard H.264 decoder (Kiloview, Magewell) | 4:2:2→4:2:0 + MP2→AAC | ~5% |
| 3 | H.265-only decoder (Blackmagic) | H.264→H.265 + deinterlace + AAC | ~15% |
| 4 | CDN ingest (Akamai, AWS) | Deinterlace + 4:2:0 + AAC 1080p | ~8% |
| 5 | CDN low bitrate | Deinterlace + scale 720p + AAC | ~6% |
Total GPU load: ~34% on a single Intel QSV-capable server. One input, five outputs, every destination gets a compatible feed.
Diagnosing Existing Problems
1. Identify the Encoding Profile
Check what the encoder is actually outputting:
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"
Output example:
High 4:2:2,yuv422p,1920,1080,tt
yuv422p = 4:2:2. yuv420p = 4:2:0. tt = top-field-first (interlaced).
2. Test Decoder Capabilities
Send a known-good 1080p 4:2:0 H.264 stream to the failing decoder. If that works, the issue is 4:2:2, interlaced, or audio — not SRT or network.
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. Check SRT Statistics
On the decoder side (or in Vajra Cast’s dashboard):
- RTT: what’s the actual round-trip time?
- Packet loss: is SRT recovering it within the latency buffer?
- Retransmission rate: high retransmission with zero loss = SRT is working. High retransmission with non-zero loss = latency buffer too small
4. Check Audio
Many “no signal” reports are actually audio issues. Some decoders require audio to be present and in a specific codec. If the audio is in a format the decoder doesn’t support, some decoders refuse the entire stream.
5. Systematic Codec Isolation (One Variable at a Time)
When facing unexplained failures between a specific encoder and decoder pair, isolate the issue by starting with the most compatible settings and changing one variable at a time:
- Baseline test: H.264 Baseline, 4:2:0, 8-bit, 720p progressive. This is the lowest common denominator — if this fails, the problem is transport, not codec
- Add resolution: switch to 1080p. If it breaks, the decoder has a level or resolution issue
- Add chroma: switch to 4:2:2. If it breaks, the decoder doesn’t support High 4:2:2 profile
- Add interlaced: switch to 1080i50. If it breaks, the decoder can’t handle interlaced content
- Change codec: switch to H.265. If it breaks, the decoder doesn’t support HEVC
This isolates the exact parameter causing the failure — much faster than debugging everything at once.
On hardware encoders like the Makito X4, use the Resolution drop-down to downscale and deinterlace (e.g., select 720p to confirm basic compatibility before testing 1080i50).
Key insight: If SRT statistics (RTT, loss, retransmission) look clean but the decoder shows no video or corrupted output, the problem is almost certainly codec/profile incompatibility, not transport. Don’t waste time tuning SRT latency when the issue is inside the payload.
Common Compatibility Fixes
| Problem | Symptom | Fix |
|---|---|---|
| Decoder doesn’t support H.264 4:2:2 | No video, corrupted colors | Transcode to 4:2:0 (-pix_fmt yuv420p) |
| Decoder can’t handle interlaced | Half resolution, wrong framerate | Deinterlace to progressive (-vf yadif) |
| Audio codec mismatch | Video OK, no audio | Transcode audio to AAC (-c:a aac) |
| Multichannel audio | No audio or wrong levels | Downmix to stereo (-ac 2) |
| SRT latency too low | Dropped frames, choppy | Increase to 3–4× RTT |
| Decoder firmware outdated | Random failures | Update firmware (often fixes 4:2:2 and interlaced) |
| MPEG-TS PMT mismatch | No signal | Check PID mapping and stream type IDs |
Summary
SRT compatibility issues come from what’s inside the transport — H.264 profiles, chroma subsampling, scan mode, audio codecs — not from SRT itself. When distributing to mixed decoder environments, a transcoding gateway between encoder and decoders resolves most failures: passthrough for capable endpoints, transcoded profiles for the rest.
SRT gateway, automatic failover, real-time monitoring, and multi-destination routing. Free for 30 days.
30 days free · No credit card · Direct access to the dev team