Hey YouTube, it's Tristan from Smart Home Point here. I want to speak to you today
about the Ring Doorbell series of security doorbells, produced by ring who
are owned by Amazon. They are really useful devices - they have a camera, they detect
motion outside your door and then they record this motion to the Ring
Cloud Servers. This then allows you - as long as you pay a monthly subscription -
this allows you to go onto Ring's phone app or Ring's Live View on a computer and
actually access and view this recorded video footage. Now, it's a really good
feature but these devices aren't cheap and some people don't want to pay a
monthly subscription on top as well. So as a result people ask whether you can
capture the video footage from here [points at camera lens] and record it locally to a NAS - network
attached storage. So I wanted to shoot this video just to look at whether or not that's
possible. Let's take a look.
[NO!]. Thanks for that... obviously that's a slightly jokey answer but the short
answer is no, you can't officially take the video footage from here [points at camera lens] and some of
live stream it and live record it to a local server or local NAS. It's just not an
advertised feature on the Doorbell Pro or any of the other Ring doorbells and that's
because Ring cynically... well, in my cynical point of view... as Ring wants
you to pay a monthly subscription to them instead of capturing the video
footage yourself and not then pay a monthly subscription. So that's the
official answer... is no... it's not possible but unofficially there's some really
smart programmers who have created unofficial API's that allow you to
access the live video footage here [points at Ring Doorbell] so the video footage will be sent to Ring
but will also be sent to potentially your local server. Now, you do require
technical knowledge and these methods may not work going into the future
because Ring might do a software update that stops it from working. But for now
there are a few methods that work, so let's take a look at that these methods.
Okay so as I mentioned at the start of this video there's a few unofficial
methods you can use to capture the live video recording of your Ring doorbell.
Now let's take a look at them.. uh... the first is a JavaScript based API. They do make
clear it's an unofficial API for Ring doorbells and certainly all the methods
I'm covering today are technical - you require some level of technical
programming knowledge before you can use these methods but as long as you've got
some technical ability I thought this video would be useful. Okay, so the first is
the Ring client API, it's obviously on NPM so you can download it fairly easily
and this is quite a well-known library: it's got 28,000 downloads and in the
guide... it's running you through how you actually
- you know - use the camera. It's got lots of different information It tells you how
you can actually get the camera. You need to get the device first, then you can get
the camera and then you can sort of start video on demand and you can
capture the SIP session as well. Now that's important because as a lot of
these... all of these guys [the projects] found out... the way that the Ring doorbell
works is this starts a video call between itself and the Ring Cloud Servers and it
does this using something called SIP - session initiation protocol. Once that
SIP session has started, something called RTP is then used to actually transfer
the video packet data back and forth - well, not back and forth, just from the
Doorbell to the actual Ring servers. So as I mentioned all all these libraries
have found out that you need to sort of capture or create the SIP session and
then from there you can actually capture the video footage essentially. So this
library actually explains how you do that, there's also in the... if you go up
and go to the wiki... in there you'll actually see that there's a camera
troubleshooting page so if you have any issues with the live streaming then it
talks through some of the things you might need to do, such as checking the
logs and everything else. There might also be some dependency issues that you
might be missing. So it's worth just going through this and have a look. The
second method is a similar one. Again, it's an unofficial API because they all
are. This is written in Python, unlike the first one that was written in Node.js.
So this is a Python-based library, it works with Python version 3.6 upwards and it
makes clear Ring doesn't write an official API and this is just from
reverse engineering how the Ring Doorbell itself... how it works. That caveat's there
because obviously - you know - in theory, in using any of these methods Ring could
potentially cut off your access or close down your account - your Ring account.
I haven't heard of that ever happening but just be conscious that that could
potentially happen. Anywhoo, this guide also shows you how you can get started.
The... this particular package - Python package - is available on pip so it talks
through how you can install that and then you need to get set up.
It authenticates just with standard username and password. It then
looks for devices from your account and then it can actually stream things from
there. It also does a lot more, just like the other library. It does a lot more
than just record Ring live footage: you can also capture doorbell events as well
which is handy and you can download the last video as well, assuming you've
actually paid for the Ring Protect plan. And this library... the actual live
streaming was committed not that long ago in September 2019. They do make clear
it's a bit of a hacky solution, and it's actually based on the first library that
we looked at the first library we looked at, the Node.js one. But certainly from what we can see, it does work. You
can see in all the footage that... sorry, you can in all the comment logs that
this method does work. So if you're... if you know Python, it could be worth
checking out this really cool library called the Python Ring Doorbell package
and again all of these listed on our website as well. The next method to look
at - or the next library to look at - is called Ring-hassio, let's take a look at that. So
this is actually a Home Assistant I add-on. So I've covered Home Assistant
elsewhere in my blog. It's just a really cool open-source home automation
program that, basically, you install it on a Raspberry Pi. It then scans for new
devices and sets up a really nice dashboard and also allows you to see the
video footage. And this Ring-hassio project is basically a Home Assistant add-on.
It also uses the first library we've seen to
actually expose the live stream from your Ring Doorbell. Now the way this
actual project works is that it's designed obviously to show the camera in
your Home Assistant dashboard, but due to how this works the actual video stream
is exposed in a URL so there's no reason why you can't then use VLC to capture
that video footage and save it locally or you can write your own programming
script to actually get this video stream and save it locally. I won't go into doing that
here, but there's quite a lot of guides online that show you how to do
that. Okay, and then the final method is also from the Home Assistant forums.
So Brian... around a year ago in February 2019... he looked at a way of
storing files locally. What he does say later on... so he used a program called
Node-RED flow (and that's explained somewhere else actually)... now Brian did get this up
and running but if you see later on he actually - let's have a look - yes so what Brian
actually says later on in December 2019 is he's actually recommend against the
method that he used. And what he was saying is that after he started using it then -
his particular script - he started losing access to all of his Ring video feeds.
He then disabled the script and the video feed then came back, so that's a bit
concerning. But obviously the fact he lost his Ring video feed and he was
locked out to that - you know - scared him and you know, that does suggest that Ring
do have some - you know - anti-tampering measures in place. So it goes back to what I
said at the start of this which is that any of these methods you know they were
all unofficial, none of them are supported by Ring and they could take action
against you if you use them. So there definitely is a downside really and
certainly I've seen that as well when I was sort of investigating for this video.
There's quite a few methods over the years that previously did allow you
to record life video footage from your Doorbell and save it locally, but then
they stopped working. Sometimes they were stopped - they stopped working - even a
couple of months later because Ring pushed out a software update that
stopped that from working. So what I'd probably say is just be careful with
what methods you use and if you really want to record locally it might be worth
buying a camera - you know - a doorbell camera that actually supports this out
the box, but your mileage may vary really. So that's it really. These are the four
methods that I'm aware of. I mentioned them all on my blog and I'll put this -
I'll put the link to this blog post in this video as well. Okay thanks for
watching this video, I hope you found it useful. The short answer is - you probably
guessed - is that you can't easily access the video footage from you Ring doorbell
and save it locally. There are some unofficial methods, but whether or not
they'll work in a few months time is anyone's guess. I hope you found this
this video useful. If you did, please click the thumbs up button and don't
forget to subscribe. Thank you!