When a source's picture stutters, freezes or breaks into blocks, packets were lost on the way from the camera to the studio. The cause is almost always one of three: the bitrate is too high for the link, the SRT latency is too low, or the link is simply too weak in this place.
Before you change anything, check two things: whether you really see the problem in the stream and not only in the preview, and what the link quality display says.
First: preview or stream
The preview in the browser is a control picture. It shows only a few pictures per second and says nothing about the quality of the stream. That it looks choppy is normal. With “Flüssige Vorschau” (smooth preview) you get more pictures per second, but that is not the picture your viewers see either.
So judge stutter on the platform, in the stream on Twitch or YouTube. Block artifacts and frozen pictures, on the other hand, you also recognize in the preview.
Reading the link quality display
On the “Eingänge” (inputs) tab every input shows its bitrate and two counters:
| Counter | Meaning | Consequence |
|---|---|---|
| “Repariert” (repaired) | Packets that arrived as a retransmission. SRT replaced them in time. | none, nothing to see and nothing to hear |
| “Verloren” (lost) | Packets that never arrived. | picture errors until the next keyframe, gaps in the sound |
The “Stats” tab shows the same numbers and all further counters of the studio: per input also how the link is judged right now, plus the program, the overlay browser and every destination.
That gives three situations:
- Both counters stand still. The link is clean. If it stutters anyway, the cause is the source itself, for example an overloaded phone or computer that does not manage every picture.
- “Repariert” rises, “Verloren” stands still. The link loses packets, but SRT catches them. That is the normal case on the road and no reason to step in.
- “Verloren” rises. Now visible errors appear. This is where the next steps start.
The bitrate is too high for the link
This is the most common cause. If the app sends more than the link carries, it backs up, and packets arrive too late or not at all. Guide values:
- about 3 to 4 Mbit/s on shaky mobile data,
- 6 Mbit/s on good 5G, Wi-Fi or fiber,
- more only on a link you know to be good.
Send at a constant bitrate. Lower it in steps and watch the “Verloren” counter. A clean picture at 4 Mbit/s looks better than one falling apart at 8.
The SRT latency is too low
SRT asks for lost packets again, but only within a time window. That is the latency. If the window is too short, the retransmission arrives too late, and the packet counts as lost.
The studio buffers 200 ms by itself. If your app asks for more, the larger value applies. So you set the latency in the app. If “Verloren” rises on a link with long round trips, on mobile data for instance, raise the value step by step. The price is delay: every millisecond more arrives later in the studio. How to choose the value is in Setting the SRT latency.
The keyframe interval is too long
A lost packet disturbs the picture until the next keyframe comes. Only that one builds the picture up completely again. If your encoder sends a keyframe only every ten seconds, an error stays visible for up to ten seconds. Set a keyframe every 2 seconds. Then an error is over after two seconds at the latest.
Wi-Fi or mobile data
Both have weaknesses of their own:
- Wi-Fi is usually stable close to the router. It collapses when you move away, when walls are in between or when many devices share the network, as at events. Guest Wi-Fi often throttles UDP altogether, see SRT on hotel or company Wi-Fi.
- Mobile data varies with place and load. On the move the phone changes cells, and in crowds many people share one cell. Expect lower bitrates there.
A simple comparison helps: send the same source once over Wi-Fi and once over mobile data and look at the counters. Bundling several mobile connections (SRTLA bonding) is something the studio does not accept yet; it is planned.
The order to work through
- Check on the platform whether the error is in the stream.
- Look on the “Eingänge” tab at which input “Verloren” rises.
- Lower the bitrate of this source.
- Raise the SRT latency in the app.
- Set the keyframe interval to 2 seconds.
- Change the network.
If a source fails completely, the stream to the platform stays online, and you cut to another one by hand. More on that in When a camera drops out. If the studio should switch to a “be right back” picture by itself on a bad connection, set up a fallback scene, see Switching to “be right back” automatically.