/ipcamsd

📹 Node.js command line tool for transfering, merging and converting IP camera records

Primary LanguageJavaScriptMIT LicenseMIT

ipcamsd

npm npm License

Node.js command line tool and library for downloading, merging and converting record files of IP cameras.

Installation

$ npm install -g ipcamsd

Usage

General Options

Options:
  --version                 output the version number
  --host <host...>          host of ip camera (multiple: true, required)
  --firmware <firmware...>  firmware of ip camera (multiple: true, default: hi3510)
  --username <username...>  username of ip camera (multiple: true)
  --password <password...>  password of ip camera (multiple: true)
  --ssl <ssl...>            use secure socket layer (multiple: true, default: false)
  --help                    display help for command

Firmwares

  • hi3510 (default)
  • reolink

Commands

Use ipcamsd-cmd-generator to generate commands for ipcamsd.

fetch

Transfers and converts records of the specified parameters. This is the default command.

$ ipcamsd (fetch) --start-date [YYYYMMDD|today|yesterday] --video-filter "setpts=PTS/2" --host [IP...] --username [...] --password [...]

Note: -c copy is applied to stream if array of video filter is empty. This also achieves the best speed. Add the setpts video filter with PTS/30 to increase video speed up to 30x. Visit documentation of FFmpeg to get more information about conceivable video filter parameters.

Exact time limitation is currently not implemented due to the motion detection of the cameras.

Options:
  --start-date <yyyymmdd|today|yesterday>  start date of records
  --end-date <yyyymmdd|today|yesterday>    end date of records
  --start-time <hhmmss>                    start time of records
  --end-time <hhmmss>                      end time of records
  --separate-by-date                       separate by date (default: false)
  --last-minutes <number>                  last minutes of records till now (start time skipped)
  --start-delay <number>                   start delay in minutes
  --target-directory <dir>                 target directory for converted files
  --target-file-type <type>                target file type used by ffmpeg for conversion
  --filename-prefix <prefix>               output filename prefix
  --video-filter <filter>                  video filter in ffmpeg required format (default: [])

list

Outputs dates and (first, last) records of specified hosts.

$ ipcamsd list --host [IP...] --username [...] --password [...]

Note: The listing of Reolink recordings is currently not supported due to the API restrictions.

Compatibility

  • bedee WLAN IP Camera 1080p (IR, Outdoor, hi3510 firmware)
  • Reolink 5MP PoE RLC-510A/B
  • Reolink Video Doorbell PoE/WiFi

Requirements

License

This project is licensed under MIT.