Powershell-Batch-Scripts/Windows DVR
2024-10-21 23:30:00 -05:00
..
ffmpeg@3565903c63 went ahead and just checked ffmpeg in there 2024-10-21 23:23:24 -05:00
example.env Added example env 2024-10-21 01:54:33 -05:00
LinuxDVR.sh added untested linux bash version of the dvr 2024-10-21 21:37:07 -05:00
README.md forgot powershell instructions 2024-10-21 23:30:00 -05:00
WindowsDVR.ps1 typo fixing i guess 2024-10-21 20:27:11 -05:00
WindowsDVRCleanup.ps1 I hate all of it 2024-10-21 01:50:02 -05:00

Basic AF IP Camera Recording

Overview

Dead-simple IP camera recording with FFmpeg. Chunks the video, deletes old files. No bloat.

BASH Usage

1. Configure .env

Copy example.env to .env:

cp example.env .env

Edit .env as needed:

OUTPUT_PATH=/path/to/cathut
RTSP_URL=rtsp://admin:password@192.168.1.108:554/Streaming/Channels/101
CHUNK_SIZE=600
MAX_AGE=720
  • OUTPUT_PATH: Where video chunks go.
  • RTSP_URL: Your camera stream URL.
  • CHUNK_SIZE: Video segment length in seconds (default: 600).
  • MAX_AGE: Max file age in minutes before deletion (default: 720).

2. Make Scripts Executable

chmod +x start_recording.sh cleanup.sh

3. Start Recording

./start_recording.sh

4. Set Up Cleanup

Add to cron:

crontab -e

Add this line:

*/10 * * * * /path/to/cleanup.sh

PowerShell Usage

1. Make Sure FFmpeg Is in PATH

Add FFmpeg to your system's PATH or update the .env file with the full path.

2. Start Recording

Run the StartRecording.ps1 script:

.\StartRecording.ps1

3. Set Up Cleanup

Use Task Scheduler to run Cleanup.ps1 every 10 minutes:

  1. Open Task Scheduler and create a new task.
  2. Set the trigger to repeat every 10 minutes.
  3. Set the action to run PowerShell with:
    powershell.exe -File "C:\path\to\Cleanup.ps1"
    

Prerequisites

  • FFmpeg installed (sudo apt install ffmpeg for Linux, download for Windows).
  • PowerShell (pre-installed on Windows, available on Linux).

License

Do whatever you want.