jeffreydwalter / arlo

Python module for interacting with Netgear's Arlo camera system.
Apache License 2.0
520 stars 123 forks source link

Are Netgear Arlo cameras standard Arlo? #172

Closed philiprhoades closed 3 years ago

philiprhoades commented 3 years ago

I like the Arlo cameras but I have two major gripes:

Would love to get more direct access and control over these cameras.

Thanks, Phil.

What version of Python are you using (python -V)?

Python 3.9.2

What operating system and processor architecture are you using (python -c 'import platform; print(platform.uname());')?

Fedora 34 Linux

Which Python packages do you have installed (run the pip freeze or pip3 freeze command and paste output)?

argcomplete==1.12.0
Beaker==1.10.0
beautifulsoup4==4.9.3
blivet==3.3.3
blivet-gui==2.2.1
Brlapi==0.8.2
cffi==1.14.5
chardet==4.0.0
chrome-gnome-shell==0.0.0
cryptography==3.4.6
cupshelpers==1.0
dasbus==1.4
dbus-python==1.2.16
decorator==4.4.2
distro==1.5.0
fros==1.1
gpg==1.15.1
humanize==0.5.1
idna==2.10
langtable==0.0.54
libcomps==0.1.15
libvirt-python==7.0.0
lxml==4.6.2
Mako==1.1.4.dev0
MarkupSafe==1.1.1
nftables==0.1
olefile==0.46
Paste==3.5.0
pexpect==4.8.0
pid==2.2.3
Pillow==8.1.2
ply==3.11
productmd==1.31
ptyprocess==0.6.0
pwquality==1.4.4
pycairo==1.20.0
pycparser==2.20
pycrypto==2.6.1
pycups==2.0.1
pycurl==7.43.0.6
pyenchant==3.2.0
Pygments==2.7.4
PyGObject==3.40.1
pykickstart==3.32
pyOpenSSL==20.0.1
pyparted==3.11.7
PySocks==1.7.1
python-augeas==0.5.0
python-dateutil==2.8.1
python-meh==0.50
pytz==2021.1
pyudev==0.22.0
pyxdg==0.26
ranger-fm==1.9.3
Recoll==1.0
recollchm==0.8.4.1+git
requests==2.25.1
requests-file==1.5.1
requests-ftp==0.3.1
rpm==4.16.1.3
selinux==3.2
sepolicy==3.2
setools==4.4.0
simpleline==1.8
six==1.15.0
slip==0.6.4
slip.dbus==0.6.4
sos==4.1
soupsieve==2.2
swtpm-localca==0.5.2
swtpm-setup==0.5.2
systemd-python==234
Tempita==0.5.1
urllib3==1.25.10

Which version of ffmpeg are you using (ffmpeg -version)?

ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11 (GCC)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-libjack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librav1e --enable-libsmbclient --enable-version3 --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libglslang --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzvbi --enable-lv2 --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libmfx --enable-runtime-cpudetect
libavutil      56. 70.100 / 56. 70.100
libavcodec     58.134.100 / 58.134.100
libavformat    58. 76.100 / 58. 76.100
libavdevice    58. 13.100 / 58. 13.100
libavfilter     7.110.100 /  7.110.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  9.100 /  5.  9.100
libswresample   3.  9.100 /  3.  9.100
libpostproc    55.  9.100 / 55.  9.100

Which Arlo hardware do you have (camera types - [Arlo, Pro, Q, etc.], basestation model, etc.)?

BS: VMB5000r4 Firmware: 1.16.5.7_946_a530306 3 x Ultra2 Cameras

jeffreydwalter commented 3 years ago

Hello, this is not an official Arlo library, so your comments, while appreciated, aren't going to get you anywhere here. You should take your complaints to the Arlo community forum.

philiprhoades commented 3 years ago

It is not a complaint! - I want to know if I can use your stuff . . so it is a question . .

jeffreydwalter commented 3 years ago

You can use the library to interact with the cameras programmatically, but all the limitations you mentioned will persist.

Simply put, you cannot use the Arlo cameras without their cloud.

On Mon, Jul 12, 2021, 8:02 PM philiprhoades @.***> wrote:

It is not a complaint - I want to know if I can use your stuff . .

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/jeffreydwalter/arlo/issues/172#issuecomment-878697151, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEKOBZEYLSZYCBHSS7FAILTXOGDBANCNFSM5AHONV5A .

philiprhoades commented 3 years ago

Hmm . . I don't quite understand - if the library actually works (ie it is compatible with my Arlo stuff), doesn't that mean I can at least elliminate the cost of having to use the Arlo cloud because I can store videos locally on my own LAN?

Thanks.

jeffreydwalter commented 3 years ago

Yep. That's the exact reason I wrote the library.

jeffreydwalter commented 3 years ago

You can use this example as a starting point. https://github.com/jeffreydwalter/arlo/wiki/Downloading-and-Deleting-Recordings

jeffreydwalter commented 3 years ago

To be pedantic, your cameras simply don't work without the Arlo cloud. i.e., they only talk to the Arlo cloud and only send videos to Arlo's cloud.

My library does not allow you to talk to your cameras directly over your LAN.

My library interacts with Arlo's cloud, just like the Arlo mobile and web apps do.

philiprhoades commented 3 years ago

Ah right . . their free cloud storage that came with the purchase has run out and I have bought a SD card as a quick storage option - which does work but not as nicely as the Arlo cloud - so I was looking for a way to store stuff on my own "cloud" . .

Thanks anyway.

jeffreydwalter commented 3 years ago

So, you so get some basic cloud storage for free. You can use the script I sent you to periodically download and delete your videos so you don't have to pay for the cloud.

jeffreydwalter commented 3 years ago

I guess the ultra cameras don't record video without a subscription. Ugh. Not a fan of Arlo... https://kb.arlo.com/88/What-are-the-available-Arlo-subscription-plans-and-how-much-cloud-recording-is-available

They do allow you to stream video, so you could write a program to trigger a video stream when motion is detected and save that stream to disk.

philiprhoades commented 3 years ago

I guess the ultra cameras don't record video without a subscription. Ugh.

It appears you have to pay or you don't get ANY cloud storage - all the videos disappeared when the time ran out and no new videos are being created . . I also have one Swann camera but you at least do get some days before the videos are deleted and you only need to pay if you want long term storage - which is a friendlier business model . .

Not a fan of Arlo... https://kb.arlo.com/88/What-are-the-available-Arlo-subscription-plans-and-how-much-cloud-recording-is-available

Yes, I liked the tech (except for my two main problems) but maybe I should have been in less of a hurry and found something more open . . what cameras do you prefer?

They do allow you to stream video, so you could write a program to trigger a video stream when motion is detected and save that stream to disk.

Ah that's interesting - now that I have the SD card working I have time to play around a bit at least . . so would I use your lib for that work?

Thanks.

jeffreydwalter commented 3 years ago

I've never owned the cameras that had an SD card, but if you have the ability to access the camera's SD storage via the web or mobile app, then you should be able to use my library to do so. No one has explicitly asked for that feature, so it might be possible that we might need to click around in the UI and reverse engineer it, but I'm willing to do that with you if so.

philiprhoades commented 3 years ago

I have been looking for a way to get direct access to the Base Station (I thought it might have an HTTPS server in it or something) but I can't find anything and the only Arlo stated option is to remove the card and put it into another device for copying videos - which I won't bother doing. I turned on the auto-delete of old videos when space runs out on the card . .

The SD card method means you can't delete individual videos and you can't start a manual recording while streaming but I really don't want to pay for the Arlo Cloud plan . .

I am quite happy to help you trying to find web access to the SD card - I am guessing you are in the US? - if you were close to me (Sydney, Australia), I could bring the gear over . . although COVID19 restrictions are still in place ATM . .

philiprhoades commented 3 years ago

I just successfully saved a video to Google Photos on the Android phone - I don't know why they would recommend removing the SD card from the Base Station and putting it in a card reader for copying videos . .

philiprhoades commented 2 years ago

Update:

The Arlo app is driving me crazy - since I lost the free cloud facility and have had to use the local SD Card for storage, I found the app will not get access to the SD Card most of the time! - it seems hit and miss - and more recently it would not connect at all ! After a few weeks I managed to connect again but it is too unreliable to be a viable option. So now I will start looking around again for some camera hardware that works happily with Open Source software - if there is such a thing - I don't think I found much the last time I looked . .