Look for something that can do rtsp streaming. Reolink, amcrest, ect. Its all cheap Chinese cameras that almost definitely dial out to some Chinese server.
What I do is have all cameras connected on a wireless router with no internet, use zoneminder on a Linux that is connected to my home network via Ethernet and the camera network via WiFi, and allow https into my home network from my VPN
In my experiemce, Java shoots processing usage up while COBOL uses much lesser CPU / memory