Most IP cameras can upload snapshots and video clips to an FTP server when they detect motion. It's a built-in feature on cameras from Reolink, Hikvision, Dahua, Amcrest, Foscam, Annke, and many others. The camera detects movement, captures a JPEG or short video, and sends it to an FTP server you specify.

The problem is getting those files from the FTP server to your Mac in a useful way. They pile up on the server, and without automation, you're either logging in manually to check or writing shell scripts to pull them down. Neither is ideal for someone who just wants to see what triggered their cameras.

How camera FTP upload works

When you enable FTP upload on an IP camera, the camera connects to an FTP server whenever a trigger event occurs (usually motion detection, but some support scheduled snapshots too). The camera sends:

Files are organized by timestamp. Reolink creates files like CameraName_01_20260415_143022.jpg. Amcrest creates folder trees organized by date and hour: /2026/04/15/14/. Hikvision uses similar date-based subdirectories.

On a quiet residential camera, expect 20-50 motion events per day. A camera facing a busy street can generate hundreds. Each event produces 1-6 files, so you're looking at anywhere from 50 to several hundred files daily per camera.

The typical setup: camera to NAS

The most common setup is camera FTP to a NAS (Synology, QNAP, TrueNAS). The NAS runs an FTP server, the camera uploads to it, and the files sit there. This works well for storage.

But if you want to review the snapshots on your Mac, you still need to connect to the NAS, browse through date folders, and download the files you care about. This is where automation helps.

Pulling camera files to your Mac with FTPull

FTPull monitors an FTP server and automatically downloads new files to your Mac. Here's how to set it up for camera snapshots:

  1. Make sure your camera is uploading via FTP. In your camera's settings (web interface or app), enable FTP upload. Enter your NAS or FTP server's address, port 21, and credentials. Set the remote path (e.g., /cameras/front-door/). Test the connection from the camera's interface.
  2. Set up FTPull on your Mac. Add a connection pointing to the same FTP server your camera uploads to. Set the remote folder to the camera's upload directory.
  3. Choose a local folder. Create a folder like ~/Security Cameras/Front Door/ on your Mac.
  4. Set a polling interval. Every 1-5 minutes is reasonable for security cameras. FTPull will check the server and download any new files since the last check.
  5. Filter by extension. Set FTPull to only download .jpg files if you only want snapshots, or include .mp4 for video clips too. This keeps temp files and thumbnails out.

Once running, every motion-triggered snapshot from your camera lands on your Mac automatically. A notification pops up when new files arrive, so you can check immediately if something triggered your camera.

Multiple cameras, one setup

If you have several cameras, each uploading to different folders on the same FTP server, add a separate FTPull connection for each camera. Point each to its own remote folder and local folder:

Each runs independently with its own polling schedule.

A note on protocols

Most IP cameras only support plain FTP (port 21), not SFTP or FTPS. This is a limitation of the camera firmware, not something you can change. If your camera and FTP server are on the same local network, this is acceptable since the traffic never leaves your network.

If you're uploading over the internet (camera at a remote location), consider setting up a VPN between the camera's network and your server, or use a camera that supports FTPS (some enterprise Hikvision models do).

FTPull supports FTP, SFTP, and FTPS, so it can connect to whatever protocol your server offers.

Managing storage

Camera snapshots add up. At 100 files per day per camera, you'll have 3,000 files per month from a single camera. A few practical tips:

Why not just use the camera's app?

Camera manufacturer apps (Reolink App, Hik-Connect) let you view live feeds and playback. But they don't give you easy access to the raw snapshot files on your Mac. You can't batch-process them, search by filename, or integrate them into other workflows.

Having the actual JPEG files on your Mac means you can use Finder, Quick Look, Preview, or any image tool to browse, annotate, or forward them. It's your data, on your disk, organized how you want it.