An open API service indexing awesome lists of open source software.

https://github.com/aoephtua/ipcamsd

📹 Node.js command line tool for transfering, merging and converting IP camera records
https://github.com/aoephtua/ipcamsd

bedee cli commandline es6 h264 ip-camera javascript node nodejs reolink

Last synced: 2 days ago
JSON representation

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

Awesome Lists containing this project

README

          

# ipcamsd

[![npm](https://img.shields.io/npm/v/ipcamsd)](https://www.npmjs.com/package/ipcamsd)
![npm](https://img.shields.io/npm/dw/ipcamsd?label=↓)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/aoephtua/ipcamsd/blob/master/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 of ip camera (multiple: true, required)
--firmware firmware of ip camera (multiple: true, default: hi3510)
--username username of ip camera (multiple: true)
--password password of ip camera (multiple: true)
--ssl use secure socket layer (multiple: true, default: false)
--help display help for command
```

### Firmwares

- hi3510 (default)
- reolink

### Commands

Use **[ipcamsd-cmd-generator](https://github.com/aoephtua/ipcamsd-cmd-generator)** to generate commands for ipcamsd.

- [fetch](#fetch)
- [list](#list)

#### 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](https://ffmpeg.org/ffmpeg-filters.html) 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 start date of records
--end-date end date of records
--start-time start time of records
--end-time end time of records
--separate-by-date separate by date (default: false)
--last-minutes last minutes of records till now (start time skipped)
--start-delay start delay in minutes
--target-directory target directory for converted files
--target-file-type target file type used by ffmpeg for conversion
--filename-prefix output filename prefix
--filename output filename (ignored on separations) (default: [])
--video-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

- [FFmpeg](https://ffmpeg.org/)

## License

This project is licensed under [MIT](https://github.com/aoephtua/ipcamsd/blob/master/LICENSE).