Awesome
<h1 align="center"> Reolink Python Api Client </h1> <p align="center"> <img alt="Reolink Approval" src="https://img.shields.io/badge/reolink-approved-blue?style=flat-square"> <img alt="GitHub" src="https://img.shields.io/github/license/ReolinkCameraAPI/reolinkapipy?style=flat-square"> <img alt="GitHub tag (latest SemVer)" src="https://img.shields.io/github/v/tag/ReolinkCameraAPI/reolinkapipy?style=flat-square"> <img alt="PyPI" src="https://img.shields.io/pypi/v/reolinkapi?style=flat-square"> <img alt="Discord" src="https://img.shields.io/discord/773257004911034389?style=flat-square"> </p>A Reolink Camera client written in Python. This repository's purpose (with Reolink's full support) 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:
- Go: reolinkapigo
Join us on Discord
https://discord.gg/8z3fdAmZJP
Sponsorship
<a href="https://oleaintueri.com"><img src="https://oleaintueri.com/images/oliv.svg" width="60px"/><img width="200px" style="padding-bottom: 10px" src="https://oleaintueri.com/images/oleaintueri.svg"/></a>
Oleaintueri is sponsoring the development and maintenance of these projects within their organisation.
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 Python Module
Install the package via PyPi
pip install reolinkapi
Install from GitHub
pip install git+https://github.com/ReolinkCameraAPI/reolinkapipy.git
If you want to include the video streaming functionality you need to include the streaming "extra" dependencies
pip install 'reolinkapi[streaming]'
Contributors
Styling and Standards
This project intends to stick with PEP8
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
- pip install -r requirements.txt
- 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