I've been doing a lot of research lately, including this forum, into the possibility of implementing a direct interface between IP cameras (possibly Dahua, but I'm open to others) and a web server as part of a commercial solution.
My goal is to be able to have several cameras monitoring different geographical locations around the country and connected to the internet via a 4G modem, fiber or cable. Each monitored location would preferably have no NVR or computer managing it, only the camera and the wired internet access to minimize hardware requirements, power consumption and costs. These cameras should connect to my cloud server (with a fixed and public IP) which will receive the image from all the cameras and make it available for viewing to users accessing a website. The users may also control some camera functions, such as PTZ.
So far, I have been searching for ways to accomplish that goal but could not find the right path. Some of the possible solutions I've looked at and the difficulties encountered are as follows:
My goal is to be able to have several cameras monitoring different geographical locations around the country and connected to the internet via a 4G modem, fiber or cable. Each monitored location would preferably have no NVR or computer managing it, only the camera and the wired internet access to minimize hardware requirements, power consumption and costs. These cameras should connect to my cloud server (with a fixed and public IP) which will receive the image from all the cameras and make it available for viewing to users accessing a website. The users may also control some camera functions, such as PTZ.
So far, I have been searching for ways to accomplish that goal but could not find the right path. Some of the possible solutions I've looked at and the difficulties encountered are as follows:
- Use DDNS + port forward + firewall rules on each modem so the server can access the cameras. Problem: Security risks; The IP address may not be public (CG-NAT); Lack of IPv6 support for some providers...
- Set up a VPN server on my cloud, the cameras connect to it so the server can access. Problems: May need additional hardware (like a Raspberry Pi with OpenVPN or WireGuard) on each camera site, because AFAIK the cameras doesn't have embedded VPN support (like some Asus routers)
- Tailscale or ZeroTier. Problems: As far as I know, both solutions are not free and would also require additional hardware as the VPN option above.
- Modifying or configuring the camera firmware so they initiate the communication with my cloud server, similar to how AliExpress cams that use apps such as ICSee, Yoosee, etc works. Problems: Closed source?; Huge software development investment? Access to the needed documentation without being a Dahua partner/OEM ?