How to Send Hikvision Motion Recordings to a VPS
How to Store alarm videos, motion recordings and snapshots securely on your own Virtual Private Server.
If you’re using a Hikvision NVR and would like motion events, alarm recordings or snapshots stored on a remote Virtual Private Server (VPS), there are several proven methods available.
The right option depends on whether you simply want image uploads, full event recordings, or complete off-site recording.
Method 1 – FTP Upload (Recommended)
This is the easiest and most commonly used solution. Hikvision NVRs include built-in FTP upload capability which allows motion clips or snapshots to be sent automatically to your VPS.
Step 1 – Install an FTP Server
Install VSFTPD on Ubuntu or Debian.
sudo apt update
sudo apt install vsftpd -y
Create a Dedicated User
sudo adduser hikvision_ftp
sudo mkdir -p /var/www/cctv_storage
sudo chown -R hikvision_ftp:hikvision_ftp /var/www/cctv_storage
Enable Upload Permissions
Edit /etc/vsftpd.conf and ensure the following options exist:
write_enable=YES
local_enable=YES
chroot_local_user=YES
Restart the FTP service and ensure TCP Port 21 (plus passive ports if configured) is allowed through your firewall.
Step 2 – Configure FTP on the Hikvision NVR
- Open the NVR web interface.
- Go to:
Configuration → Network → Advanced Settings → FTP - Enter:
| Setting | Value |
|---|---|
| Server Address | Your VPS Public IP |
| Port | 21 |
| Username | hikvision_ftp |
| Password | Your FTP Password |
| Directory | Root or Child Directory |
| Upload Type | Pictures or Video Clips |
Use the Test button before saving the configuration.
Step 3 – Enable Motion Uploads
- Go to Configuration → Event → Motion Detection.
- Enable Motion Detection.
- Draw the detection area.
- Open the Linkage Method tab.
- Enable Upload to FTP.
- Configure your recording schedule as Motion or Event.
- Set Pre-record and Post-record times to capture footage before and after motion occurs.
Recommended: FTP upload is ideal for alarm verification, cloud backups and off-site evidence storage.
Method 2 – NFS Network Storage
If you’d like the VPS to behave like a remote hard drive, Hikvision supports recording directly to a network storage location.
- Install an NFS server on your VPS.
- Create an exported storage directory.
- On the NVR navigate to:
Configuration
→ Storage
→ Storage Management
→ Net HDD
- Add the VPS IP address.
- Select the exported NFS path.
- Format the Net HDD from the Hikvision interface.
- Select Motion or Alarm recording.
Important: Never expose NFS directly to the Internet. Always use a secure VPN such as WireGuard or OpenVPN.
Method 3 – ISUP / ISAPI Integration
For software developers or advanced surveillance platforms, Hikvision supports proprietary event forwarding technologies.
- ISUP (EHome) can push alarms and recordings to a central server.
- HTTP Event Notification can POST XML or JSON alarm data to your web application.
- Ideal for Home Assistant, ZoneMinder, custom dashboards or cloud monitoring platforms.
Security Best Practices
- Restrict FTP access to known public IP addresses whenever possible.
- Use strong passwords.
- Consider VPN access for remote recording.
- Keep your Hikvision firmware updated.
- Monitor disk usage on the VPS.
Automatic Cleanup
To prevent your VPS storage filling up, create a scheduled cron task:
0 2 * * * find /var/www/cctv_storage -type f -mtime +30 -delete
This automatically removes files older than 30 days every night at 2:00 AM.
Tip: If your internet upload speed is limited, upload snapshots only while retaining full-resolution recordings on the NVR. This provides rapid off-site alarm verification while minimising bandwidth usage.
Which Method Should You Choose?
| Requirement | Recommended Method |
|---|---|
| Simple motion snapshots | FTP Upload |
| Motion video clips | FTP Upload |
| Continuous recording to VPS | NFS Storage |
| Software integration | ISUP / HTTP API |
| Home Assistant integration | ISAPI / HTTP Events |