How can I reduce TinyPilot's latency?

On a well-provisioned local network, TinyPilot achieves 100-200 milliseconds of latency on its video stream. On slower networks or across the Internet, you may experience higher latency. This article includes steps you can take to reduce TinyPilot's latency.

Why does latency increase?

To stream video, TinyPilot uses the MJPEG streaming format. This protocol achieves low latency, but it consumes significant bandwidth.

Reducing TinyPilot's bandwidth and latency

To reduce TinyPilot's bandwidth usage, you can tune its video streaming settings. From the main menu, select System > Video Settings.

Screenshot of TinyPilot navigation bar selecting Video Settings

Adjust the frames per second (FPS) and video quality settings and apply them to test the latency under the new settings. Latency will reduce as you lower the FPS and JPEG quality.

Screenshot of TinyPilot Video Settings dialog

Experiment with different settings until you've found the right balance of video quality for your network connection.

Using H264 over WebRTC

As of TinyPilot's May 2022 release, it's possible to use TinyPilot's experimental H264 support, which reduces TinyPilot's latency and bandwidth, especially over the Internet.

For details, see our blog post about enabling H264 video.