Camera recording management system that uses VLC media player to record from network video devices.
Features:
- Camera configuration stored in DB
- One VLC process for each device
- Monitors and restarts VLC processes upon failure
- Logs activity such as device recording start/stop and camera disconnected
- Ability to use different recording format for every device
- Can record to the same or different locations for each device
- Cron scripts to remove old recordings when storage limit reached
Requirements:
- PHP enabled web server (Apache)
- MySQL or MariaDB database
- VLC binaries
- Linux based OS (does not work correctly on Windows. Only tested on Debian GNU/Linux but should work fine on other *nix like OS)
Setup:
- Copy files to web server webroot
- Create folders for recordings, logs, PID's and locks. Make sure they are writable to the web server
- Insert "ipcam_db.sql" then edit "include/db.php" to add database configuration (address, username, password etc...)
- Log in using username and password "admin"
- Browse to ADMIN SETTINGS/CONFIGURATION MANAGER and add in necessary configuration:
- vlc_exec - VLC executable. Can be a full path or just a command (if it is in your $PATH)
- recording_directory - Path to recordings directory
- pid_directory - Path to PID directory. Used to store PID files of running VLC instances
- log_directory - Path to log directory. Used to store VLC instance logs
- lock_directory - Path to lock directory. Used by cron job lock files
- recording_file_extension - Filename extension for recording files
- recording_file_mux - Set muxer for recordings
- transcode_enable - Enable video transcoding. This will require a fast CPU
- recording_device_limit - Percentage of disk space that must be is use before old recordings are removed (via cron)
- Add device settings via the EDIT CAMERAS page accessible from the main page
- Click START ALL to begin recording from all devices
Cron Files
Cron scripts to delete old or failed recordings are available in the cron folder.