Time is something we all take for granted, but when it comes to security cameras, having a consistent and reliable time for ALL of them is extremely important. Ultimately, you need to ensure that each camera is reporting the exact same time, always. If you don’t, you won’t be able to track what happened, at what time, and you’ll have a huge gap in your video surveillance system.
This is extremely common from natural time drift, and if each camera is drifting, you’ll be reporting drastically different times for each. I use Blue Iris for my video surveillance, and each of my security cameras point to a VM running on my Proxmox server, but you can run this on just about any Linux device and it’s extremely easy to set up. All we’re doing is configuring an NTP Server to sync time automatically, and then pointing the cameras to it.
How to Configure an NTP Server on Linux
I’ll be using Ubuntu 22.04 for this, but you can run these commands on any Debian-based Linux distro.
apt update && apt upgrade -y
apt install ntp -y
After the NTP Server is installed, we need to edit the configuration file to modify our time servers. Check for the closest time servers to you and note them down as we’ll need them when we edit this file.
nano /etc/ntp.conf
In the configuration file, paste in the time servers you’d like to use, then save the file.
Restart the NTP Service and check to make sure it’s enabled.
systemctl enable ntp
systemctl status ntp
If the NTP server is running properly, you can update your security cameras to all point to the same IP address and port, and then determine how frequently they should sync. In this scenario, the NTP server will automatically adjust the time and the cameras will get their time from the NTP server, so all cameras will report the same time.
This is extremely important for video surveillance, and if I’m speaking honestly, the few seconds of potential drift from the NTP pool aren’t really what you’re protecting against. You’re protecting against one camera reporting 15 seconds faster than another, which is what this will protect against, with the benefit of always being synced to the time servers entered providing the most accurate time possible.