RTMP vs SRT: which should you use?
Two protocols carry most live streams today. The practical answer is short: use RTMP where you must, SRT where you can.
RTMP: the universal ingest
RTMP is old (Flash-era) but universally accepted — Twitch, YouTube, Kick and nearly every platform ingest it. It rides on TCP, which guarantees delivery but with a catch: one lost packet blocks everything behind it until it's retransmitted (head-of-line blocking). On clean networks that's invisible; on mobile networks it turns brief loss into visible stalls.
SRT: built for bad networks
SRT runs on UDP with selective retransmission inside a latency budget you choose. Lost packets are re-requested immediately; anything unrecoverable within budget is skipped so the stream keeps flowing. Add encryption and better congestion signaling and you get a transport designed for exactly what IRL streaming is: contribution video over unreliable links.
The practical split
- Phone → platform: RTMP(S), because that's what platforms accept.
- Phone → your server/OBS: SRT, because your uplink is the fragile hop and SRT protects it.
- Best of both: send one SRT stream to a server you control, and fan out to platforms over RTMP from there — the fragile mobile hop gets the robust protocol, the stable server hop speaks platform language.