SRT vs RTMP vs WHIP: which ingest should you use?
Use RTMPS on a stable wired line: simple and universally supported. Use SRT when the path is lossy or cellular, because it recovers lost packets. Use WHIP when a browser should publish with nothing installed.
The protocol you publish with is invisible to your audience right up until the moment it is the only thing they notice. Choosing it is a question about the network between your camera and us, not about picture quality, and the three options here have genuinely different failure behaviour.
RTMP and RTMPS: the default that is usually right
RTMP has been the standard contribution protocol for well over a decade, which means every encoder, every appliance and every phone app speaks it. It runs over TCP, so lost packets are retransmitted by the operating system, and on a stable wired connection that is entirely sufficient.
Its weakness is how it behaves when the path degrades. TCP recovery was designed for file transfer rather than for a live picture, so a congested route produces growing delay and then a stall, instead of a brief recoverable blemish. On a good circuit you will never see this. On a bad one you will see nothing else.
Prefer RTMPS, the TLS-wrapped variant, whenever it is offered. There is no reason to publish a stream key in the clear.
SRT: built for a path you do not control
SRT sends over UDP and does its own selective retransmission inside a time budget you set. Instead of the all-or-nothing behaviour of a TCP stall, it recovers what it can within the buffer window and delivers the rest on time. A lossy route degrades gracefully rather than falling over.
Two values control that behaviour, and both are per-stream and adjustable while the stream is running. Receiver latency is how long the buffer will wait for a retransmission before giving up on a packet — a longer window survives a worse route at the cost of more delay. Reorder tolerance governs how far out of sequence packets may arrive before they are treated as lost.
Being able to widen the buffer live is the part that matters operationally. If a route deteriorates partway through a long event, you widen the window and carry on; nothing has to be torn down and rebuilt.
The practical rule: cellular, bonded modems, hotel connections, public venue circuits and anything crossing a long distance want SRT. A wired drop in your own building does not need it.
WHIP: publishing straight from a browser
WHIP is WebRTC contribution, and its distinguishing feature is that the sender needs no software. A browser tab is the encoder. That is what makes guest links and phone contribution work for people who will never install anything, and it is the lowest-friction way to get a human on screen.
The trade is control. A browser gives you far fewer knobs than a hardware encoder, and quality tracks whatever the sender’s device and connection happen to be doing. For a remote guest that is the right trade every time. For your main camera it usually is not.
A quick way to choose
If a person is joining your show, use a link and let them publish from the browser. If a machine is sending your main programme over a connection you own and trust, RTMPS is simple and fine. If a machine is sending over a connection you do not control, use SRT and set the receiver latency for the route rather than for the ideal case.
Building against the API rather than running a show? SRT stream IDs (developer docs) covers the same ground in implementation detail.
Put it to work on a real show
The clearest SRT case on the site: an observer rig and remote casters arriving over connections nobody in the production owns.
Resi built a business on resilient contribution over hardware you buy. Worth reading if you are weighing protocol resilience against an appliance contract.
A sideline or press-box connection is the textbook case for widening a receive buffer mid-game rather than losing the broadcast.
Related guides
Comfortably more than your target bitrate, sustained for the whole show. A 1080p60 programme at 9 Mbps wants real headroom above 9 at all times — not a speed test that touched 12 once on a quiet afternoon.
The link carries a random single-purpose token. Your guest opens it in an ordinary browser, lands in a green room off air, and you bring them on when ready. No account is created and nothing is installed.
For 1080p30, about 6 Mbps. For 1080p60, about 9. For 720p30, about 3, and 720p60, about 4.5. Frame rate drives the number far harder than resolution does, and your upload has to sustain it, not peak at it.