Skip to content

jaredcat/reolinkapijs

 
 

Repository files navigation

Reolink Javascript API Client

GitHub GitHub tag (latest SemVer) Discord


A Reolink Camera client written in Javascript. This repository's purpose is to deliver a complete API for the Reolink Cameras, although they have a basic API document - it does not satisfy the need for extensive camera communication.

Check out our documentation for more information on how to use the software at https://reolink.oleaintueri.com

Other Supported Languages:


Get started

Implement a "Camera" object by passing it an IP address, Username and Password. By instantiating the object, it will try retrieve a login token from the Reolink Camera. This token is necessary to interact with the Camera using other commands.

See the examples directory.

Using the library as a Javascript package

Contributors


Styling and Standards

This project intends use prettier and eslint

How can I become a contributor?

Step 1

Get the Restful API calls by looking through the HTTP Requests made in the camera's web UI. I use Google Chrome developer mode (ctr + shift + i) -> Network.

Step 2

  • Fork the repository
  • npm install
  • Make your changes

Step 3

Make a pull request.

API Requests Implementation Plan

Stream:

  • Blocking RTSP stream
  • Non-Blocking RTSP stream

GET:

  • Login
  • Logout
  • Display -> OSD
  • Recording -> Encode (Clear and Fluent Stream)
  • Recording -> Advance (Scheduling)
  • Network -> General
  • Network -> Advanced
  • Network -> DDNS
  • Network -> NTP
  • Network -> E-mail
  • Network -> FTP
  • Network -> Push
  • Network -> WIFI
  • Alarm -> Motion
  • System -> General
  • System -> DST
  • System -> Information
  • System -> Maintenance
  • System -> Performance
  • System -> Reboot
  • User -> Online User
  • User -> Add User
  • User -> Manage User
  • Device -> HDD/SD Card
  • PTZ -> Presets, Calibration Status
  • Zoom
  • Focus
  • Image (Brightness, Contrast, Saturation, Hue, Sharp, Mirror, Rotate)
  • Advanced Image (Anti-flicker, Exposure, White Balance, DayNight, Backlight, LED light, 3D-NR)
  • Image Data -> "Snap" Frame from Video Stream

SET:

  • Display -> OSD
  • Recording -> Encode (Clear and Fluent Stream)
  • Recording -> Advance (Scheduling)
  • Network -> General
  • Network -> Advanced
  • Network -> DDNS
  • Network -> NTP
  • Network -> E-mail
  • Network -> FTP
  • Network -> Push
  • Network -> WIFI
  • Alarm -> Motion
  • System -> General
  • System -> DST
  • System -> Reboot
  • User -> Online User
  • User -> Add User
  • User -> Manage User
  • Device -> HDD/SD Card (Format)
  • PTZ (including calibrate)
  • Zoom
  • Focus
  • Image (Brightness, Contrast, Saturation, Hue, Sharp, Mirror, Rotate)
  • Advanced Image (Anti-flicker, Exposure, White Balance, DayNight, Backlight, LED light, 3D-NR)

Supported Cameras

Any Reolink camera that has a web UI should work. The other's requiring special Reolink clients do not work and is not supported here.

  • RLC-411WS
  • RLC-423
  • RLC-420-5MP
  • RLC-410-5MP
  • RLC-510A
  • RLC-520
  • C1-Pro
  • D400
  • E1 Zoom

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.9%
  • JavaScript 4.1%