I want to livestream video and audio over the internet with sub-second latency between me and viewers. How can I do it? What network protocols are suitable for this? What software can do it?
I’ve tried these protocols:
- SRT
- RTMP
- RTSP
- UDP (ffmpeg output)
- TCP (fmmpeg output)
But no matter what I do, there’s always between 3 and 10 seconds of latency (when viewing the stream through ffplay or VLC). How can I get lower latency?
One thing worth noting is that the computer publishing the live stream is behind a NAT. It’s publishing it out to a server running in the cloud, and then I’m reading the stream from that server. This setup is to workaround the NAT.