RTSP Streaming Guide: IP Cameras, Encoders & NVRs to Any Destination
The Problem With IP Camera Streams
IP cameras, NVRs, and hardware encoders all speak RTSP. It is the universal protocol for video surveillance and on-premise video — every Hikvision, Dahua, Axis, Reolink, Amcrest, and Bosch device exposes RTSP streams.
But RTSP was designed for LAN playback, not for live distribution. When you need to push those camera feeds to YouTube, Facebook, a CDN, or a remote production team, RTSP alone does not get you there.
OBS handles this well for a single operator mixing cameras live — you get scenes, overlays, transitions. But if you just need a reliable “cameras in, multistream out” pipeline running 24/7 without someone sitting in front of it, OBS is more than you need and less than you want: basic reconnection only (no configurable retry logic), no per-camera health monitoring, no failover if a feed drops.
What Is RTSP?
RTSP (Real Time Streaming Protocol) is a pull-based protocol. The camera runs a server, and clients connect to it to receive the video stream. This is the opposite of protocols like SRT or RTMP where the encoder pushes to a server.
Key characteristics:
| Property | RTSP |
|---|---|
| Direction | Pull (client connects to camera) |
| Transport | RTP over UDP or TCP (interleaved) |
| Port | 554 (default) |
| Authentication | Username/password (Basic or Digest) |
| Encryption | Rarely (SRTP exists but almost never used) |
| Latency | Very low on LAN (~100ms) |
| NAT traversal | Poor — camera must be reachable |
Because the camera is a server, it must be accessible from whatever pulls the stream. On a local network, this is straightforward. Over the internet, it requires port forwarding — and that’s where things get complicated.
Devices That Use RTSP
IP Cameras (surveillance and broadcast)
Every modern IP camera exposes at least one RTSP stream, often two (main stream in high resolution, sub-stream in lower resolution for preview):
| Manufacturer | Typical RTSP URL | Notes |
|---|---|---|
| Hikvision | rtsp://user:pass@IP:554/Streaming/Channels/101 | 101 = ch1 main, 102 = ch1 sub |
| Dahua | rtsp://user:pass@IP:554/cam/realmonitor?channel=1&subtype=0 | subtype=0 main, subtype=1 sub |
| Axis | rtsp://user:pass@IP:554/axis-media/media.amp | Configurable profiles |
| Reolink | rtsp://user:pass@IP:554/h264Preview_01_main | Or /h265Preview_01_main |
| Amcrest | rtsp://user:pass@IP:554/cam/realmonitor?channel=1&subtype=0 | Same as Dahua (OEM) |
| Bosch | rtsp://user:pass@IP:554/video1 | Varies by model |
| Ubiquiti (UniFi) | rtsp://IP:7447/STREAM_ID | Requires RTSP enabled in UniFi Protect |
| Hanwha (Samsung) | rtsp://user:pass@IP:554/profile2/media.smp | Profile-based |
NVRs and DVRs
Network Video Recorders expose each connected camera as a separate RTSP channel. If you have 4 cameras on a Hikvision NVR, you get 4 RTSP URLs — same IP, different channel paths:
rtsp://admin:[email protected]:554/Streaming/Channels/101 (cam 1)
rtsp://admin:[email protected]:554/Streaming/Channels/201 (cam 2)
rtsp://admin:[email protected]:554/Streaming/Channels/301 (cam 3)
rtsp://admin:[email protected]:554/Streaming/Channels/401 (cam 4)
Hardware Encoders
Professional encoders like Teradek, Matrox Monarch, and Kiloview also expose RTSP for local monitoring and recording. Some PTZ cameras used in live production (like PTZOptics, BirdDog) expose RTSP alongside NDI.
Software Encoders
OBS, vMix, and Wirecast can expose RTSP outputs via plugins or built-in servers. Less common, but useful for pulling from a remote production station.
The NAT Problem
RTSP’s biggest weakness for remote workflows is NAT traversal. Since the camera is the server, the client must reach it. On the same local network, no problem. Over the internet:
Scenario 1 — Same LAN (easy):
Camera (192.168.1.10:554) ←── RTSP pull ── Vajra Cast (192.168.1.50)
No port forwarding. No NAT issues. This is the recommended setup.
Scenario 2 — Remote, single camera (manageable):
Router (public IP) :554 → 192.168.1.10:554 (camera)
↑
Vajra Cast (remote) pulls from public IP:554
One port forward per camera. Exposes the camera to the internet — make sure authentication is enabled.
Scenario 3 — Remote, multiple cameras (messy):
Router:
:554 → 192.168.1.10:554 (cam 1)
:555 → 192.168.1.11:554 (cam 2)
:556 → 192.168.1.12:554 (cam 3)
:557 → 192.168.1.13:554 (cam 4)
Four port forwards with port translation. Fragile, hard to maintain, and a security risk — IP cameras exposed on the internet are a prime target for botnets (Shodan indexes them in minutes).
The better approach for remote: Install Vajra Cast on the same LAN as the cameras. Pull RTSP locally, then push outbound via SRT or RTMP. Outbound connections pass through NAT without port forwarding, and SRT adds encryption that RTSP lacks.
How Vajra Cast Handles RTSP
Vajra Cast pulls RTSP streams as inputs and routes them to any output protocol. The architecture is simple:
IP Camera (RTSP) ──pull──> Vajra Cast ──push──> YouTube (RTMP)
IP Camera (RTSP) ──pull──> │ ──push──> Facebook (RTMP)
IP Camera (RTSP) ──pull──> │ ──push──> CDN (SRT)
IP Camera (RTSP) ──pull──> │ ──push──> Web Player (HLS)
What You Get
- RTSP pull with authentication — username/password for camera access, TCP interleaved transport for reliability
- Multi-camera ingest — each camera is a separate input, independently monitored
- Protocol conversion — RTSP in, SRT/RTMP/HLS/UDP out, no FFmpeg scripts needed
- Multistreaming — one camera feed to unlimited destinations simultaneously
- Failover — mix RTSP cameras with SRT or RTMP sources in priority chains. If a camera drops, automatic switchover to a backup
- Monitoring — per-input health status, bitrate tracking, connection state. Know instantly when a camera goes offline
- HLS output with built-in player — share a URL for browser-based viewing, no software required
Setup in Vajra Cast
- Create a new route in the web UI
- Add an RTSP input — paste the camera’s RTSP URL
- Enter credentials (username/password) if the camera requires authentication
- Add outputs — RTMP to YouTube, SRT to a remote server, HLS for web viewers
- Start the route
The web UI shows a help panel with common RTSP URL formats by manufacturer, so you don’t have to guess the path structure.
Use Cases
Church / House of Worship Multi-Camera Streaming
Multiple fixed PTZ cameras streaming to Facebook + YouTube simultaneously. Vajra Cast pulls from each camera, handles the multistream, and provides a web player for the church website.
Security Camera Live Monitoring
Feed surveillance cameras into a web-accessible HLS player for remote viewing without exposing RTSP ports to the internet. Add SRT output for encrypted transport to a remote monitoring center.
Live Event Production
Combine RTSP cameras (fixed angles) with SRT sources (mobile encoders) and SRTLA bonded feeds in a single routing setup. Failover between sources automatically if one drops.
Remote Production (REMI)
Install Vajra Cast on-site, pull from local cameras via RTSP, and push to the remote production facility via SRT. This avoids exposing cameras to the internet and adds the encryption and error correction that RTSP lacks.
Retail / Restaurant Streaming
A coffee shop wants to stream their roasting process. One IP camera, RTSP pull, RTMP push to YouTube. Set it and forget it — Vajra Cast reconnects automatically if the camera reboots.
RTSP vs SRT vs RTMP — When to Use What
| RTSP | SRT | RTMP | |
|---|---|---|---|
| Direction | Pull | Push or Pull | Push |
| Designed for | LAN playback | Internet transport | CDN ingest |
| Encryption | Rarely | AES-128/256 | TLS (RTMPS) |
| Error correction | None (relies on TCP) | ARQ retransmission | None |
| NAT friendly | No (camera is server) | Yes (caller mode) | Yes (push) |
| Best for | IP cameras, local sources | Point-to-point, contribution | YouTube, Twitch, Facebook |
Use RTSP when you’re pulling from cameras or hardware encoders on your local network.
Use SRT when transporting video over the internet — it handles packet loss, encrypts the stream, and traverses NAT in caller mode.
Use RTMP when pushing to platforms (YouTube, Facebook, Twitch) that expect it.
Vajra Cast lets you combine all three: RTSP in from cameras, SRT for transport, RTMP for platform delivery. One pipeline, all protocols.
Finding Your Camera’s RTSP URL
If you don’t know your camera’s RTSP URL:
- Check the camera’s web interface — usually under Network > RTSP or Advanced > Streaming
- Check the manufacturer’s documentation — search for “[brand] [model] RTSP URL”
- Try common patterns — the table above covers the major manufacturers
- Use a discovery tool — ONVIF Device Manager can auto-detect cameras and their RTSP URLs on your network
- Test with VLC — Open Network Stream > paste the RTSP URL to verify it works before adding it to Vajra Cast
Common Troubleshooting
| Problem | Fix |
|---|---|
| Connection refused | Wrong IP, wrong port, or camera firewall blocking access |
| 401 Unauthorized | Wrong username/password, or authentication type mismatch (try Digest vs Basic) |
| Stream starts then drops | Camera’s concurrent stream limit reached — check NVR settings |
| High latency | Use TCP transport (interleaved) instead of UDP for more reliable delivery |
| No video, audio only | Codec mismatch — check if camera outputs H.264 or H.265, ensure the output pipeline supports it |
Advanced: RTSP in Failover Chains
One of Vajra Cast’s strengths is mixing protocols in failover groups. An RTSP camera can serve as a primary source with SRT or RTMP backups:
Priority 1: RTSP camera (main angle)
Priority 2: SRT encoder (backup angle)
Priority 3: RTSP camera (wide shot fallback)
If the primary camera goes offline (network issue, power loss, reboot), Vajra Cast switches to the next available source in under 200ms. When the primary comes back, it can automatically revert.
This is impossible with standalone RTSP — there’s no built-in redundancy. Vajra Cast adds the failover layer that surveillance and broadcast workflows need.
Summary
RTSP is everywhere — in every IP camera, NVR, and most hardware encoders. It works perfectly on local networks but struggles with internet delivery, encryption, and redundancy.
Vajra Cast bridges that gap: pull RTSP locally, convert to whatever protocol your destination needs, add failover, and monitor everything from a single dashboard. No FFmpeg scripts, no OBS workarounds, no exposed cameras on the internet.
SRT gateway, automatic failover, real-time monitoring, and multi-destination routing. Free for 30 days.
30 days free · No credit card · Direct access to the dev team