As @KarstenI says, you can use PASV. You only need a port per concurrent transfer. I typically open a range of just 10 ports.
Perhaps you could re-engineer this solution. Could you perhaps build a site-to-site VPN to where the FTP server is located and do FTP over that? Not only would it make your problem go away, but it would also be more secure.
Have you thought about getting cameras that don't require FTP? An example is the Meraki MV12N.
Or you could put an FTP server on the same site as the cameras (a Synology NAS can do this ...), have it FTP to that, and then you could access the FTP server via VPN.