Configuring video recording to an FTP server from IP cameras and Dahua DVRs

I recently configured the next IP camera Dahua DH-IPC-HFW1320SP-W and decided to use an FTP server for recording.
Since the menu is basically the same on Dahua cameras and DVRs, the FTP entry is configured the same way.

Open the device interface, for example by typing an IP address in the browser.
Open the “Setting” tab, then “Storage” – “Destination”, in the “Path” tab, where “Motion Detection” and “Alarm”, I marked the FTP checkboxes, by the way I could choose only one thing, or “Local ( write to a memory card or HDD) “,” FTP “or” NAS “. After the selection, click “Save” to save the changes.

Now go to the tab “FTP”, tick the “Enable” and specify the connection parameters in “Server Address”, “Username”, “Password” and press “Save” to save the changes.

After that, the device began to write video to the FTP server in mp4 format, however it was impossible to view the history entries via the mobile application and the camera interface.
Files on FTP are sorted into folders by date and time, as a variant of the video can be viewed through any FTP client from a computer or phone, if the camera writes for motion detection, accordingly if there is no motion detection, then there will be no folders and records.

Required! In the “Storage” – “Record Control” menu, you need to select “Stop” in “Disk Full”, if “Overwrite” is selected, then after restarting the camera, in my case, all records from the FTP server were deleted.

If the FTP server is running on Linux, you can, for example, add to Cron a command that will delete the directory older than 30 days so that the disk does not overflow:

find /srv/ftp/ipcam/SNCAM/ -type d -mtime +30 -exec rm -rfv {} \; >> /srv/ftp/ipcam/remove.log

See also my articles:
Using and configuring CRON
Programs for viewing video from DVR DVRs
Installing and Configuring ProFTPd in Ubuntu
Installing and Configuring Pure-FTPd in Ubuntu
Configuring an FTP server on Windows Server 2008 R2
Configuring an FTP server on MikroTik Router OS

Configure ProFTPd using the MySQL user database

Let’s say there is a ProFTPd server installed, for example, as I described in this article – Installing and Configuring ProFTPd in Ubuntu
And also installed MySQL server, for example, as I described in this article – Installing and configuring a MySQL server on Ubuntu

Here is an example of setting up ProFTPd using the MySQL user database.

Continue reading “Configure ProFTPd using the MySQL user database”

Configuring an FTP server on MikroTik Router OS

Usually an FTP server on MikroTik Router OS is enabled and uses ports 20 and 21 for communication.
Connection type without encryption, login and password are same as for access to mikrotik.

You can connect by typing the ip address of the router in the browser’s address bar:
ftp://192.168.88.1

Via the graphical interface, the FTP service is turned off and turned on in the “IP” – “Service”

Through the command line:

ip service disable service_number
ip service enable service_number

View a list of services:

ip service print

To view the information about the files, you can run the following command:

file print detail
disk print detail

Active and passive FTP mode

FTP can work both in the active mode and in the passive mode.

In active mode, the client performs a control connection with the server, and the server makes a connection to the client for data transfer.
The passive control connection and data connection are made by the client himself.

Under the control connection is meant authentication and command transmission.
The control connection is executed by the client in both cases equally, from the client side from the dynamic TCP port 1024-65535 to the server port 21.

In the active mode after the control connection from the client, the FTP server connects to the client’s dynamic port 1024-65535 from its TCP port 20 for data transfer.
In the passive mode after the control connection from the client, the FTP server tells the client the number of the dynamic TCP port 1024-65535 to which it can be connected to the client for data transmission.