While Arlo does have a convenient mobile app and website for monitoring the cameras and seeing the videos, I’ve always wanted the ability to download the information.
If you want to download and store your camera’s videos on your own machine, analyze and process the videos or system settings in a program of your own (maybe with machine learning), the Arlo app definitely falls short.
Whatever the reason you want your Arlo data, tchellomello is there to help us with a great Python library called PyArlo.
It’s very convenient that he developed this library with the same format as his Ring library.
Setting up PyArlo
First install the library. This is a python library, and you can install it through your usual methods. Probably the easiest way is through pip:
pip install pyarlo
Once pip successfully installs PyArlo, then you can import it into your python scripts:
from pyarlo import PyArlo
Setting up PyArlo Credentials
Now that you’ve added PyArlo to your Python script, you’ll need to configure it with your email address and password. PyArlo needs this information so that it can log into your Arlo account and access your information.
Configuring PyArlo is pretty easy. Just pass the email address and password that’s associated to your Arlo account as parameters to the PyArlo constructor.
arlo = PyArlo('emailAddress', 'password')
From there you can access your cameras, base station, account, and all your data.
Accessing cameras through PyArlo
Seeing all of your cameras
Before you can download your videos, first you need to see all of your devices that are currently connected to your account.
devices = arlo.devices
This will provide you with a dictionary containing all of your devices.
You can see from this that we need to go a little deeper to get the cameras.
cameras = arlo.devices['cameras']
Now that you’ve obtained the list of all devices connected to your Arlo account, you can start accessing the videos. If you want to get a list of all videos from all cameras for the past day, then you can do this:
for camera in cameras:
for video in camera.videos(1):video.download_video("C:\\temp\\" + video.id())
Streaming live video
Perhaps you want to stream the live video whenever your security system is tripped or other motion sensors are activated. You can even get a url to stream the live video:
Be sure to check out the link above to the GitHub repository to see everything this library allows.