What Is RTSP?

RTSP (Real-Time Streaming Protocol) is how IP cameras deliver video to apps like LocalNanny. When you connect to a camera, you’re using an RTSP address — something like rtsp://192.168.1.100:554/stream.

RTSP handles the control side: play, pause, describe the stream. But the actual video data travels over a separate channel, and that channel can use one of two transport protocols: UDP or TCP.

If you’re new to how cameras and networks work together, start with our Network Basics guide.

UDP vs TCP: The Basics

UDP (User Datagram Protocol) sends data as fast as possible without waiting for confirmation. If a packet gets lost along the way, UDP doesn’t resend it — it just keeps going. This makes it fast and low-latency, but it can lose data.

TCP (Transmission Control Protocol) guarantees delivery. Every packet is acknowledged, and lost packets are resent. This makes it reliable, but the error-checking adds a small amount of overhead and latency.

Think of it like this: UDP is like shouting across the room — fast, but some words might get lost. TCP is like passing a note and waiting for a thumbs up — slower, but the full message always arrives.

How RTSP Uses UDP and TCP

Here’s the part that confuses people: RTSP always uses TCP for its control connection (play, pause, describe). The choice between UDP and TCP only applies to the media transport — the actual video and audio data (sent via RTP).

Camera LocalNanny RTSP Control (always TCP) Media transport — pick one: Option A — RTP over UDP (separate ports) Option B — RTP over TCP (interleaved, same connection)

UDP transport (Option A): The camera sends video over separate UDP ports. This is the default for most cameras and works great on wired networks where packet loss is minimal.

TCP interleaved (Option B): The camera sends video data inside the same TCP connection used for RTSP control. Every frame is guaranteed to arrive, making it more reliable on lossy networks.

Which Should You Use?

UDP TCP (Interleaved)
Best for PoE / wired connections WiFi / congested networks
Latency Lowest Slightly higher
Reliability Can drop frames Guaranteed delivery
Default on most cameras Yes No
Handles packet loss Skips lost data Resends lost data
Bandwidth overhead Lower Slightly higher

Use UDP when:

  • Your camera is connected via Ethernet/PoE
  • You want the lowest possible latency
  • Your network is uncongested and reliable

Use TCP when:

  • Your camera is on WiFi
  • You’re seeing stuttering, artifacts, or black frames
  • Your network is busy with other devices
  • The camera is far from the router

How LocalNanny Handles This

You don’t need to choose. LocalNanny automatically selects the best transport:

  1. Tries UDP first — for the lowest latency on a good connection
  2. Falls back to TCP — if it detects packet loss, artifacts, or connection failures

This happens behind the scenes. There’s no toggle to flip or setting to change. LocalNanny picks the option that gives you the most stable stream for your specific camera and network.

Troubleshooting by Symptom

If you’re having streaming issues, the transport protocol is often the cause. Here’s what to look for:

Stuttering or freezing video The stream plays but keeps pausing or jumping. This usually means UDP packets are being lost. TCP transport fixes this by guaranteeing delivery. If LocalNanny hasn’t already switched, try restarting the stream — it will re-evaluate the connection.

Black frames or visual artifacts Green blocks, smeared colors, or frames that go black. This happens when key video data is lost over UDP. TCP prevents this by resending lost packets.

High latency (noticeable delay) If you see a multi-second delay, you might be on TCP when your network could handle UDP. This can happen on a wired connection that had a brief hiccup during setup. Restarting the stream lets LocalNanny re-evaluate.

Stream won’t connect at all Some cameras or network setups (especially those behind strict firewalls) block the extra UDP ports needed for RTP. TCP interleaved mode avoids this entirely since everything runs over a single connection.

Learn More