node-alarm-dot-com / homebridge-node-alarm-dot-com

Alarm.com plugin for Homebridge using Node.js
MIT License
58 stars 23 forks source link

RTSP Stream Grabbing? #127

Open ciordia9 opened 8 months ago

ciordia9 commented 8 months ago

Is there a way to grab or passthrough the rtsp streams? I see the ports are exposed on all these units from door to wall cams and the web apps have to be grabbing them somehow. It would be nice to pull those streams in and have them available.

chase9 commented 8 months ago

I don't think this would be trivially possible and part of this project. From what I can tell, the firmware on these devices opens an OpenVPN connection to ADC and uses that to maintain a connection. They also randomly generate a root password and do not make it available to the end user. All of this is good from a security standpoint but makes it hard for owners to MiTM the cams :P

Breaking into your own equipment is outside of the scope of this project (we need to stay on the up and up with ADC!), but it would be in scope to set up a relay using the ADC proxy.

chase9 commented 8 months ago

Notes: the web viewer makes a call to https://www.alarm.com/web/api/video/videoSources/liveVideoHighestResSources/<CAM-ID> and receives a response which includes proxyUrl under it's attributes. This proxy url can be used to view the camera live through ADC's servers.

ciordia9 commented 8 months ago

I only thought of it really the other day when we had a new cam installed and while it was still in quarantine we had access to it from inside my network but not outside. I figured it was broadcasting somehow. You’re right I’m not trying to hack access. But if I’m a subscriber it’d be nice to fully integrate their feed like you’ve given us for the rest of the system. If possible/plausible. If not I’ll harrange adc more for subscriber access and if that fails I’ll stop using adc because a little bit of integration into modern app ware shouldn’t be a hard thing to ask for. But I appreciate you looking into this if doable through the proxy.