Michael, first to clarify, do they want to (1) record it first locally at each branch (with a recorder) and then back it up to their HQ or (2) send the video straight from their cameras directly to the HQ?
This choice has a big impact on reliability, cost, etc. From your description, I am not positive which of these 2 approaches your client wants to take.
Michael, what country is the customer located in?
15-20Mbps gives you the ability to transfer roughly 150-200GB per 24 hours, assuming the bandwidth is exclusively available for backup/data transfer and is not being shared by the branch for other functions.
A camera with a 3Mbps average bitrate (low, but acheivable. possibly.) will accumulate approximately 30GB of data per 24 hours. If you're doing continuous recording and want to backup video offsite your 15-20Mbps of bandwidth would support about 6 cameras, and if the network is ever down for more than a few hours you'll fall behind and will need to skip some of the video for backup.
You're specifying 20 branches and 700-800 cameras, which comes out to 35-40 cameras per branch. Even with motion-only recording on a majority of those cameras I don't think the math works out to have video backed up to a central location.
For systems like this, from an overall design approach the most practical solution is just to record to 2 servers simultaneously. This means you need the bandwidth to support the aggregate of all your camera streams, which you'll find comes out to the same rough estimate as what you'd need to maintain a 24 hour backup cycle.
If the 35-40 cameras per site estimate is correct, then you'd need somewhere around 100-150Mbps of dedicated connectivity for this to work.
Another approach is to record locally and use a platform that supports some kind of data aging, transcoding, etc. to reduce the size of the stored video. Then you could backup the "pruned" video. In this case, you're most likely looking at something where the onsite video is at full-resolution for 30 days, then pruned, then backed up remotely. This would give you some amount of long-term retention ability at the central site, but would not give you the redundancy of the full-resolution video.
I like the way Brian thinks. So far I hear 800 cameras in HD using 1tb per camera for a years storage, not likely if they want HD. As John said this will be PB's of storage. I have heard data upgrade is no problem before and yet, 15 to 20 Mbps per site would require 300 to 400 Mbps at the central location. Have they considered using a tape method where video would be exported daily to tape or other means and then travel to the HQ by transport with other documentation. Old school but possibly more effective.
Michael having deployed already the exact same solution, I would suggest a bank should be looking out for quality, scaleability and propoer SI delivery not only pricing. We deployed a combination of Cisco, Milestone Corporate with X protect retail (if they want transaction based searches), EMC in the data center infrastructure and Lenovo on the edge for local 31 day storage. The requirements for this specific market included minimum 1.3mp for general views and 2mp for specific cameras in terms of recording. I cant go into specifics but we have 27 sites all linked back using vpn. The architecture is relatively straight forward. You federate milestone, using express on the edge with interconnect licenses, and milestone corporate in the HQ. If you have any breakage in links when the lease line connections come back up, the data bases synchronize automatically and the video is available on both sides. We are recording 4 months in the NOC and 31 days on the edge storage. Another point worth mentioning is Axis has a new technology called zipstream which reduces your storage requirements tremendously not to mention data traffic. Bottom line, for a bank environment you want a very robust infrastructure from well known proven manufacturers that can scale out (after 12 years in this business I sadly have to say you can count those on your right hand). I respectfully don't agree with some of the comments made above regarding pricing and trying to get things on the cheap. What is cheap today will cost you and your client alot in the long run. Build a relationship, provide them a well engineered solution, support them technically well, and your business will continue to grow.