There is so much variation in cameras and NVR units it is not possible to say.
In general the solution you want is VPN but the detail of how you implement it will greatly depend on how many cameras you have at each location and if there is going to be a issue if you need to change ports. There are a couple forms of vpn that can be used. Although you could use a server to do this doing the vpn on the router would be best.
There is also the chance you could just do port mapping but your camera traffic would flow over the internet unencrypted. If you have only 1 camera at each location. With mulitple you get into having to change the ports on the cameras.
I suspect the biggest issue you will have is that you need a large upload rate on the ISP. How much you actually need is dependent on what resolution the cameras are and how much compress you get. The data rates are not actually constant you get much more data when there is a lot of movement on the camera so you need to collect some actual data. The compress done by cameras is not as good as preprocessed stuff like netflix so if you have 4k cameras it could easily need 75-100mbps upload rates.