Do I need a STUN server?

If you've configured TinyPilot to use H.264 video but see an error saying only MJPEG is available, you can likely fix the issue by specifying a STUN server.

Will a STUN server solve my H.264 connection issues?

TinyPilot uses peer-to-peer technology to stream H.264 video to the browser on your client computer.

Peer-to-peer technology requires that your TinyPilot device and client computer can communicate with each other directly, but some networks don't support this.

If H.264 video works when your TinyPilot device and client computer are on the same network but fails when they're on different networks, then peer-to-peer communication might not be available, and a STUN server may help.

A STUN server acts as an intermediary and helps to establish the peer-to-peer connection between your TinyPilot device and your web browser.

What are the privacy implications of specifying a STUN server?

STUN servers see some information that is normally private, including:

  • The internal and external IP addresses of your TinyPilot device.
  • The internal and external IP addresses of your client.
  • The date and times when you establish a connection.

STUN servers can't see the video or any actions you perform in TinyPilot.

Where do I specify a STUN server?

To specify a STUN server:

  1. Go to System > Video.
  2. Click on "Show Advanced Settings".
  3. Select a STUN server using the dropdown list.
  4. (Optional) Enter the address and port if you're using a custom server.
  5. Click "Apply".

The TinyPilot video settings window is displayed. The 'Google' option is selected and ready to be enabled.