Hey all. I’m starting to plan out how to build a home camera system. For now I just want to use it to keep an eye on the dogs while I’m out of the house, so all of it indoors and with audio, but with plans to expand in the future. My one hard requirement is that the camera themselves are only communicating locally and the streams are accessible outside my network in a secure manner.
I already have a server running some docker containers, including a reverse proxy*, with a GPU (Arc B580) installed for other video streaming. I also got a Google Coral on its way for future camera detection funs. Would the B580 be able to cope with say 2-4 camera streams (of say 1080p quality) and streaming a 4k HDR movie? This support page says it might be possible, but could stretch the limits a bit.
My imagined setup is PoE IP cameras with RTSP streaming to my home server running Frigate (I’m open to suggestions) with some Home Assistant on the side.
For cameras I’ve seen Dahua and Hikvision recommended. Do they all have/is RTSP a common feature on IP cameras? As none of the cameras I’ve looked at on Dahua’s website has explicitly said they support it.
I’ve been thinking about installing a separate network card on the server as well just for the cameras. But this might be a bit over-kill, and might be enough to block them on the router? But I image I will need a special switch for PoE either way.
Outside of buying cameras, switch, and cables and then configuring it all, are there any big ticket items I’ve missed? Or is my set up kinda meek and a separate server for the video streams is recommended?
- I know a reverse proxy isn’t typically as safe as a VPN tunnel, but it’s a balance with easy of use.
I have hikvision, they support local rtsp but you need internet explorer to set them up. I’m not kidding, not mistaking it for Edge, and bought new 2 years ago
I have all Reolink cameras and they’re awesome. They have both indoor and outdoor cameras. They’re really expensive compared to other similar cameras, but the software is really good, and there’s no subscription. You don’t even need to log in. Everything is only stored locally, on either SD cards in the camera or a separate “home hub” (or both). They have motion and object detection built into the cameras.
The way I have them set up is every indoor camera is plugged into a smart outlet that disconnects their power through Home Assistant when either me or my wife are home.
The outdoor ones are connected to solar power, so I didn’t even have to run any wires.
I’d highly recommend them.
What I did is Reolink with PoE off Amazon for about 100$, with RTSP so it can be absorbed into Home Assistant. Block its mac address for internet access in your router.
The GPU won’t have any issues encoding several video streams at the same time. That’s not really necessary though. The cameras will do the encoding for you. Just set the bitrate and framerate that you want on the camera and pass that through. Most cameras support two streams, the secondary stream is usually limited to SD though. All of my Hikvision cameras support RTSP. It’s mostly just the consumer grade crap that only works with the manufacturers cloud service so they can spy on you or restrict features whenever they want.
Don’t make the mistake I did and buy any Hikivision stuff from Amazon. They are all grey market and the firmware can’t be updated. I tried to update one of mine and now the user interface is stuck in Chinese. You have to get them from an authorized distributor.
@HereIAm I have this exact setup(homeassitant, frigate, image detection using intel igpu) and i run few other containers (jellyfin, nextcloud) with no issues so far since its for home use. Your GPU is powerful enough to handle much much more than this.
And for cameras i would suggest to check the frigate documentation where they’ve indicated which cameras work best. RTSP is fairly common and i use it for my cameras with no issue.Thanks for the shout about Frigate’s documentation. There’s a lot of good information on there!
Limit yourself to ONVIF enabled cameras, wherever they come from. Then if the opensource stuff doesn’t float your boat, there’s always Blue Iris. Well worth the $50-70 IMO
Avoid Chinese cameras like Hikvision
Please elaborate, others are praising it.
Good suggestions in the chat. Ill throw in my setup for your consideration.
I have several cameras, specifically with Ingenic SOCs on which ive flashed Thingino firmware (foss) so thats a bit of security on the camera side. Some others like hikvision ive picked up but not gotten around to setting up yet. But itll be plug and play as youll see next.
Next i have a router flashed with freshtomato but openwrt is also an option. On that ive set up a vlan for the cameras that do not have internet or inter vlan access. So even if i didnt have custom camera firmware, they still wouldnt be able to send it anywhere.
Next my home vlan has one way access in to the “camera vlan” so i can view from my network.
Finally wireguard server (on the home vlan so it has internet access) so i can monitor remotely
I just pull the rtsp streams. Havent gotten round to feed analysis yet but i used to use zoneminder. But i hear frigate and another software (cant remember off my head) supports for coral tpu quite well even after it has been dropped from support
For indoor cameras, I use TP-Link tapo wireless cameras, and hikvision for outdoor. I put all of them on an isolated camera wlan and vlan without internet. the tapos work fine without internet access, but the status light will always be orange as it tries to reach some tplink aws IP to verify connectivity.
All the hikvision cameras and tapos support rtsp.
I have Frigate running with a reverse proxy, a coral, etc. I just use the internal Intel GPU on my CPU and it works with a 1080p and a not-quite-4k stream (4MP maybe?). It’s no sweat for the hardware.
GPU is only used to detect motion, and you can even configure a lower resolution sub-stream from your cameras to reduce that load, but I don’t think you’ll need to.
Once motion is detected, Frigate fires up the coral to determine what is there. A car, dog, person, etc.
I have everything get recorded with no processing to a single WD Purple, the biggest I could afford. It holds months of video before rewriting over old stuff.
I have Amcrest cameras which are rebranded Dahua I think. I’m relatively happy with them, but I’ve always dreamed of owning Axis cameras, though they are a bit pricey. My cameras are on a VLAN that can’t access the internet.
Hope that helps.
Amcrest are great, but not all of them. Learned that with the stupid ASH-21 I bought.
So check the frigate docs for cameras, there is a great list there.