I spent a few hours looking at ZoneMinder. I do not want to badmouth it, but it is a PHP project and I loath PHP. It always spells trouble with bad security practices.
Right now, I jave changed how I record videos.
Instead of pulling them down from on-camera SD cards, I download them as live streams using ffmpeg. I split them into approximately 50 megabyte files. It seems to work very smoothly. My old desktop is a bit too slow when five streams from five cameras are downloaded, and I will upgrade it to a faster CPU.
Additionally, I save snapshots from cameras as JPEGs every second.
It seems to be an industrial grade solution. A 3TB disk will hold plenty of recordings.
i