Wondering if anyone has had success in setting up a self-hosted (maybe open source) camera system for their site? And if so, any advice? recommendations? sources for information that you found useful?
I have a bunch of Hikvision cameras (DS-2CD2342WD-I) that were about $120/each that I'm happy with. I don't have any security concerns about them phoning home or doing anything nefarious, because they're completely segregated on their own locked down network.
If you want to record, you'll need to set up an NVR. You can buy one (i.e. https://amzn.to/3HFNEWw) or run software on your own server. I use Milestone XProtect's free license at one site, and Synology's Surveillance Station at another. You could also look for cameras that have an SD card slot built in, and configure recording directly on the camera.
To borrow an idea I first heard uttered about male birth control: it makes less sense to put on a bulletproof vest than it does to take the bullets out of the gun.
Why allow hostile devices on your network at all? How does this not end up with you eventually shooting yourself in the foot?
The next problem is that both these companies operate under a very wide array of brands, hundreds if not thousands of names, some of which you might recognize and may have thought that they were separate. Lorex is one such brand. Many more can be found at https://securitycamcenter.com/hikvision-oem-list/ and https://securitycamcenter.com/dahua-oem-list/ among others.
Next, you have the other companies like Wyze that take Dahua hardware and put their own firmware on it.
So, if you want to use hardware from a company that is not compromised like HikVision or Dahua, the options get much more limited. At that point, you might want to start looking at building your own on top of the Raspberry Pi plus their camera options.
Personally, I'm still looking for someone who has decided to commercialize cameras based on the Raspberry Pi, so that I can buy a whole stack of them at once and I don't have to build them all myself.
Luckily i only spent $150 for 3 cameras
You could implement VLANs in your core switch for the house, maybe using Mikrotik or other managed switches that are VLAN-capable. That might allow you to use a simpler router that doesn't need to understand how
You could implement VLANs in your router or gateway or firewall, depending on your hardware. In that case, you might be able to use simpler and less expensive unmanaged switches.
Exactly how those devices implement VLANs is going to differ somewhat. It might be easy to configure a switch for VLANs, where a given port or group of ports are on one VLAN, and a different port or group of ports might be on a different VLAN. Implemented at the router/gateway/firewall level, you might have to make those assignments based on MAC addresses, and/or internal IP addresses if you can tie that into your DHCP service.
VLANs can be complex to set up, depending on where and how they are configured. And they're not a panacea. But they can be very helpful, if implemented correctly.
For example: camera network - vlan 10 - 10.0.10.0 255.255.255.0
wifi network - vlan 11 - 10.0.11.0 255.255.255.0
wired network - vlan 12 - 10.0.12.0 255.255.255.0
On the wifi side, TPLink EAP245 access point allows you to configure multiple SSIDs, each with separate VLANs so that you can have one set of devices connect to one SSID, another group of devices to another SSID and so on. pfsense firewall rules can be configured to prevent the devices on separate VLANs from seeing each other. You can also block internet to access for one VLAN, and have the wireless IP cameras connect to it.
> poorly secured IoT devices will get repurposed for.
Don't let it have access to the outside net then?
How is this not a GPL violation?
If they just run "stock" Linux then they can point their users towards that? Or maybe they just don't care until they get sued, also an option of course.
I can buy a half dozen to a dozen cheaper ONVIF-capable cameras from a well-known brand, for the same price I'd pay to get one Axis camera.
But then you run into the issue noted above, where virtually all Chinese cameras are made by a small number of companies, most of whom are implicated in the suppression of the Uighur people, and who frequently sell their core hardware to other companies to install their own firmware.
Sad, but true.
I also forgot to mention that the Reolink cameras are not connected to any cloud and work locally.
I have a bunch of hikvision cameras which are not capable of detecting people which is really all I care about. I don't care about birds or cats. :D
https://www.youtube.com/playlist?list=PL-51DG-VULPom8Ud6vdf5...
Most relevant to your question might be this video: Build The BEST Security Camera NVR: Free Locally Processed AI Computer Vision with Blue Iris.
On the Mac, check out SecuritySpy. On Linux and Unix, check out Shinobi.
Many seccam have IRC beaconing of which your gateway should be firewalling off.
Started using kerberos.io but got frustrated with their licensing. I had thought using their hooks would be enough for my use case.
In the end I wrote some code that uses opencv to monitor the stream, look for motion, then I isolate the motion and use yolov3 to classify what is in the motion area. The motion isolation ended up being required because I didn't want the car in my driveway to be classified on every video.
Then some simple rules to control how things get saved and if I get alerted. If I am alerted the video gets uploaded to an s3 bucket, and a presigned link gets sent over telegram. Of course, I keep a local copy for some time as well :)
My cameras are all on an isolated network. The server monitoring them has two nics so it's able to route to the cameras and externally. The server consumes a lot of CPU, but I hope to eventually get a minor gpu for it to offload some of the work
It's been a very fun and rewarding project, and I hope to keep iterating.
Free for 8 cameras, has extremely universal support for cameras (you can add in RTSP streams, Onvif, MJPEG/HTTP grab, etc) and some really good SDK support[2] - and a PowerShell module[3] to boot.
And, more importantly, a really good view on ethics[4]:
> We require employees, partners, and customers to comply with applicable laws and to respect human rights. We do not accept discrimination, human rights violations, violations of child labor laws. We have incorporated human rights language into our licensing terms, which were supplemented by the Copenhagen Clause in 2019.
[1] https://www.milestonesys.com/solutions/platform/video-manage... [2] https://www.milestonesys.com/community/developer-tools/mip-a... [3] https://www.milestonepstools.com/ [4] https://www.milestonesys.com/about-us/csr/
For the cameras themselves, Amcrest is good enough for me, but the PineCube looks like it has potential.
Homebridge - https://github.com/homebridge/homebridge
scrypted - https://github.com/koush/scrypted/wiki/Installation:-Docker-...
camera.ui - https://github.com/SeydX/camera.ui
I was just tracking rodents temporarily though. Not that well suited for security applications.
The only thing not open source is the cameras and don't hold your breath waiting on something to come out at a decent price. There's only like 5 MFGs that make the actual hardware so most consumer products are rebranded, software locked and sold at a loss to hook you into the subscription. I know Pine64 had some dev kits but nothing you could buy in quantity.