Open Benehiko opened 3 years ago
RLC-423 RLC-420-5MP RLC-410-5MP
RLC-420 RLC-520.
RLC-520 RLC-410
C1-Pro
RLC-410 D400 RLN8-410 (if NVRs count)
RLC-410 D400 RLN8-410 (if NVRs count)
Did you use the reolinkapi library to connect to the NVR?
RLC-410 D400 RLN8-410 (if NVRs count)
Did you use the reolinkapi library to connect to the NVR?
Yes. I know the library's aimed at cameras, but my purposes were for NVR account control. Obviously things like raw streams will just error, but most of the calls work just great.
Thank you for all your contributions so far!
RLC-410 D400 RLN8-410 (if NVRs count)
Did you use the reolinkapi library to connect to the NVR?
Yes. I know the library's aimed at cameras, but my purposes were for NVR account control. Obviously things like raw streams will just error, but most of the calls work just great.
Thank you for all your contributions so far!
That's really good to hear! We could add the NVR as well in the readme and just specify streaming to be broken.
Reolink RLC-410W 4MP
RLC-511W (Firmware v3). Working fine!
Does this api support cloud camera ex: Reolink Go?
Does this api support cloud camera ex: Reolink Go?
No, cloud cameras are not supported and will not work.
I have an E1 outdoor here.
have no valid certificate installed. After implementing a fix within stream.py for calling requests.get() it works. see PR#57 I have expierienced some problems with answers from my cam so I extended it a little to only create an image from response it the mime is not text/html:
def get_snap(self, timeout: float = 3, proxies: Any = None) -> Optional[Image]:
"""
Gets a "snap" of the current camera video data and returns a Pillow Image or None
:param timeout: Request timeout to camera in seconds
:param proxies: http/https proxies to pass to the request object.
:return: Image or None
"""
data = {
'cmd': 'Snap',
'channel': 0,
'rs': ''.join(choices(string.ascii_uppercase + string.digits, k=10)),
'user': self.username,
'password': self.password,
}
parms = parse.urlencode(data).encode("utf-8")
try:
response = requests.get(self.url, proxies=proxies, params=parms, timeout=timeout, verify=False)
if response is None:
return None
if response.status_code == 200:
if response.headers.get('Content-Type','text/html') == 'text/html':
data = response.json()[0]
error = data.get("error",None)
if error is not None:
import pprint
pprint.pprint(error)
else:
return open_image(BytesIO(response.content))
print("Could not retrieve data from camera successfully. Status:", response.status_code)
return None
except Exception as e:
print("Could not get Image data\n", e)
raise
I would suggest to separate stream.py into grab an image only and stream.py itself. Otherwise one will need to install the whole bunch of additional requirements which might not be needed if one only wants a simple snap.
Hi @bmxp Could you rather add your findings and implementation detailts to a separate issue?
PRs are welcome! :)
E1 Zoom
RCL-510a
"NvrDownload" appears to return "unsupported" on TrackMix Wifi. "Search" works, but "start" and "end" are required to be on the same day, otherwise the camera will silently and incorrectly return no results. I need to use HTTPS, without it on this camera login fails.
Help wanted
For those out there that are using the library, would you be so kind as to mention which Reolink camera's you are using the library with.
Just paste the information on this issue and it will be added to the README.md file