That's quite a few cameras. I would do an audit on how many you will actually need first, because you will likely find you could get by with 5-10.
In terms of what you'll need - any Intel chip that supports QuickSync will likely do for the main ffmpeg
processing of the image, but you will definitely want a Google Coral TPU. If you do end up needing 10-15 cameras, you may end up needing the M2 with dual TPU version of the Coral. You will also want some form of reliable storage for your clips (NAS local or NFS), as well as the ability to back up those clips/shots to the cloud somewhere.
I'm personally running 4 cameras (3x1080 @ 15fps, 1x4k @ 25fps) through my ~7 year old Synology DS418play NAS using Surveillance Station as the first ingestion point, then restreaming from there to Frigate. Now that Surveillance Station can accept external events via webhook, I may look to swap the direction, and ingest into Frigate first, then restream out to Surveillance Station for long-term storage.
"Why not directly use Frigate?" I hear you ask. Mostly because Frigate is pretty static. It's all set up via YAML with no config UI currently, whereas I can tweak stuff on Surveillance Station quite easily.