I do something similar for my property’s exterior cameras, which are streamed to my VPS in ‘real-time’.
You will need to re-encode the footage - videos are already pretty well compressed, so traditional compression methods like 7z (lzma), gz, zip etc being layered on top can’t compress them further.
For your solution, I’d probably run a find every minute w/ cron to look for these files in a staging/watch folder, move them to another folder so they aren’t picked up on the next run, then re-encode with ffmpeg. Do note that when you re-encode footage, you always lose quality, even if you’re on a high quality preset.
I have a feeling that the Handbrake project can do this with a watch folder though, so might be worth looking into that. After a quick search this looks easier to setup than my solution: