There are a few options available.
uPNP
Modern routers support uPNP and by default, this is turned on. Any program inside the network can request the router to forward traffic directed at a specific port to be pointed towards itself. This is basically the same as manually opening ports, except, of course, this is done automatically.
Using a centralized server
Because opening ports is a problem for some, and not always an option, using a centralized server is a second strategy that is being used.
Port forwarding is done because traffic that goes from outside of the network to inwards does not work because the router does not know where the traffic needs to go.
This is basically because you have one public port, to many local ports.
To explain this: you have 1 public IP Address, and many local IP Addresses. When a connection is being made towards your public IP Address with port, the router then has to guess where the traffic has to go. The router will not do a guess and just say: If its configured, I'll forward, otherwise I'll ignore. A time-out is what happens in the latter.
This is for incoming traffic. Outgoing traffic is many to 1. Any pc can make a connection to the internet, and the router then knows exactly who wants to make a connection to the online world.
When a camera makes a connection to a centralized server, this connection remains open. Connecting to the centralized server, where the ports are open will then forward the connection through the already open connection to your camera, and you can view the camera as desired.
"Do they use any type of Script that manipulate the router config during the installation like mimuPnPd?" - This would require they have sudo/root permissions on the router which isn't the case. – Ramhound – 2017-11-07T17:11:34.263