How to Stream an IP Camera to Your Website
A step-by-step guide to turning any RTSP IP camera into a live web stream you can embed on your website. No video engineering required.
You have an IP camera. You want people to see what it sees, live, on your website. Sounds simple enough — but if you have ever tried it, you know it is anything but.
Most IP cameras speak a protocol called RTSP. Browsers do not understand RTSP. That gap between your camera and your visitors' screens is where most people get stuck.
This guide will walk you through the entire process, from camera to embedded live stream, without needing a degree in video engineering.
What you need
- An IP camera that supports RTSP (most do — Hikvision, Dahua, Axis, Reolink, Amcrest, and others)
- The camera's RTSP URL (usually found in the camera's settings or manual)
- A service to convert the RTSP feed to a browser-friendly format
- A website where you want to embed the stream
Step 1: Find your camera's RTSP URL
Every IP camera has an RTSP address. It typically looks something like this:
rtsp://username:password@192.168.1.100:554/stream1
The exact path varies by manufacturer. Here are some common patterns:
- Hikvision:
rtsp://user:pass@IP:554/Streaming/Channels/101 - Dahua:
rtsp://user:pass@IP:554/cam/realmonitor?channel=1&subtype=0 - Reolink:
rtsp://user:pass@IP:554/h264Preview_01_main - Amcrest:
rtsp://user:pass@IP:554/cam/realmonitor?channel=1&subtype=0 - Axis:
rtsp://user:pass@IP:554/axis-media/media.amp
Check your camera's documentation if you are unsure. Most cameras also show the RTSP URL somewhere in their web interface under network or streaming settings.
Step 2: Make sure the camera is reachable
Your conversion service needs to connect to your camera. If the camera is on a local network behind a router, you have two options:
Port forwarding: Forward port 554 (or whichever port your camera uses) on your router to the camera's local IP. This is the most common approach.
VPN or tunnel: If you do not want to expose the camera port directly, tools like WireGuard or Tailscale can create a secure tunnel. This is more work to set up but more secure.
Make sure the RTSP URL works from outside your network before moving on. You can test it with VLC: open VLC, go to Media → Open Network Stream, paste your RTSP URL, and hit play.
Step 3: Convert RTSP to HLS
Browsers cannot play RTSP streams directly. You need to convert the feed to HLS (HTTP Live Streaming), which is the standard format for live video on the web.
You can do this yourself by running FFmpeg on a server, but that means managing transcoding, uptime, bandwidth, and storage. For most people, a managed service makes more sense.
With QuickCam, you paste your RTSP URL, and it handles the conversion automatically. The feed is processed and served as HLS from European data centres, so there is nothing to install or maintain on your end.
- Sign up at quickcam.eu
- Click New Stream
- Paste your RTSP URL
- Give the stream a name
- Hit Create Stream
Within seconds, QuickCam connects to your camera and starts converting the feed.
Step 4: Customise the output
Before embedding, you might want to adjust a few things:
- Crop the frame to show only the relevant area. If your camera captures more than you want to show publicly, cropping lets you hide the rest.
- Add a timestamp overlay so viewers know the feed is live and not a recording.
- Add your logo as a watermark for branding or to discourage unauthorised reuse of your feed.
These adjustments happen server-side, so your camera settings stay untouched.
Step 5: Embed on your website
Once your stream is running, you get an embed code — a small snippet of HTML you paste into your website:
<iframe
src="https://quickcam.eu/s/your-stream-id"
width="100%"
height="400"
frameborder="0"
allowfullscreen>
</iframe>
This works on any website: WordPress, Squarespace, Wix, custom HTML — anything that lets you add an iframe or HTML block.
The embedded player is lightweight, responsive, and works on desktop and mobile browsers without plugins.
Step 6: Restrict who can embed it
By default, anyone with the embed URL could put your stream on their site. If you want to control this, use domain restrictions to whitelist only your own domains.
This ensures the stream only plays when embedded on yourwebsite.com and nowhere else.
Tips for a reliable stream
Use a wired connection. Wi-Fi cameras are convenient, but a wired Ethernet connection is far more reliable for 24/7 streaming. Dropped frames and reconnections are almost always caused by unstable Wi-Fi.
Use the sub-stream for public viewing. Most IP cameras offer a main stream (high resolution) and a sub-stream (lower resolution). The sub-stream uses less bandwidth and is usually plenty for a web embed. Save the main stream for recording.
Set a static IP for your camera. If your camera gets a new IP from DHCP, the RTSP URL breaks. Assign a static IP in your router or camera settings.
Monitor uptime. Cameras occasionally freeze or disconnect. A good streaming service will automatically reconnect when the feed drops, but keep an eye on it during the first few days.
Why not just use YouTube Live?
You can, but there are trade-offs:
- YouTube adds its own branding and UI to the player
- Your video data passes through Google's US infrastructure
- YouTube can demonetise or restrict your stream without warning
- Embed customisation is limited
- You are subject to YouTube's terms of service
If you need control over the player, care about where your data is processed, or want a clean embed without third-party branding, a dedicated streaming service is a better fit.
Wrapping up
Streaming an IP camera to your website comes down to three things: getting the RTSP URL, converting it to HLS, and embedding the player. The first part is camera-specific, the second part is where most of the complexity lives, and the third part is just copying an iframe.
If you want to skip the infrastructure work and keep your video data in Europe, QuickCam handles the conversion and hosting for €10 per stream per month — with a free 7-day trial to test it out.