[UPDATE 30 JUNE 2021: This functionality is now built into SecuritySpy – see NTP Time Server Installation. We are leaving this post in place in case it is useful to anyone, but we can no longer provide any assistance or updates to the below instructions or scripts.]
When implementing a CCTV system (e.g. one based around our macOS CCTV software SecuritySpy) it is important for all cameras to maintain the correct time for the purposes of drawing accurate timestamps onto their video streams. Not only will this help you review recorded footage, but if there is an incident that needs to be reported to the police, it will help them with their investigation. You may even be asked to verify or demonstrate to the police that your cameras are set to the correct time.
For this purpose, you should always give your cameras a valid NTP server address (NTP stands for Network Time Protocol). The cameras will contact the NTP server at regular intervals to set their clocks (you should also set your cameras with accurate daylight savings time settings, so that any such adjustments are applied automatically during the summer months).
For this purpose, we recommend using one of the time servers that Apple provides for free, which are time.apple.com, time.euro.apple.com and time.asia.apple.com.
However, you may want to set up your cameras without access to the Internet for various reasons. Perhaps you want to put your cameras on a separate LAN to segregate their traffic, or perhaps you want to implement a firewall to block outgoing connections for security purposes.
In this case, you cannot use Internet-based time servers, so the solution is to install one on your Mac.
Older versions of macOS had a built-in time server function, but has been removed as of macOS 10.14. Therefore, if you are running macOS 10.14 or later, you will need to install your own time server. We have put together the following instructions and installation script to make this process as easy as possible. Our script will download the OpenNTPD source code, compile it on your machine, install the resulting NTP Daemon, and set it to launch automatically upon Mac startup (“daemon” is just a term for a piece of software that runs invisibly in the background).
The following instruction require you to use the Terminal, which you will find in your /Application/Utilities folder. Terminal allows you to interact with your Mac via a text-based command line. To run the commands below, copy each one in turn, paste it into Terminal, and press the Return key on your keyboard.
Step 1: Install the Apple Developer Tools
If you have Xcode installed on your Mac, these should already be installed, but if not, you can install them via the following Terminal command:
You should see the following window – press the “Install” button and go through the installation process:
Step 2: Download and run our NTPD installation script
This will put a file called “ntpd-install.sh” into your Download folder. Execute the following Terminal commands one at a time:
chmod +x ~/Downloads/ntpd-install.sh
After you enter your Mac’s administrator password, the script will go through the process of downloading and installing the software.
Step 3: Test your NTP server
After installation, wait for 10 minutes or so before testing. This allows the NTP server to synchronise and obtain the correct time. Then, execute this Terminal command on the same machine that is running the NTP server:
This should return an accurate timestamp, for example:
2020-05-11 14:19:44.703859 (-0100) +0.00003 +/- 0.002156 127.0.0.1 s2 no-leap
Instead, if you get the message “not in sync”, this just means that your NTP server hasn’t yet been able to obtain the correct time, so you should wait longer before trying again (it may take up to 20 minutes for the NTP to synchronise). If you get the message “no response”, then something went wrong with the installation and your NTP server is not running. Check the output of the installation script for errors.
Step 4: Provide your NTP server address to your cameras
You will first need to set your Mac to a static (manual) IP address on your local network, or give it a reserved address in your router’s DHCP reservation table. Instructions for this are beyond the scope of this document, but can easily be found elsewhere. Once you have set a static IP address for your Mac, provide this IP address to your cameras as their NTP server address.
This NTPD uninstall script removes all the files created by the install script. Use the same Terminal commands as above (chmod and then sudo) to run this script, and then restart your Mac.