blob: 2cf2de40f68c85db2999f00e567cf370c68d152d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#!/usr/bin/env python3
"""Utilities for dealing with the webcams."""
import logging
import smart_home.device as dev
logger = logging.getLogger(__name__)
class BaseCamera(dev.Device):
camera_mapping = {
'cabin_drivewaycam': 'cabin_driveway',
'outside_backyard_camera': 'backyard',
'outside_driveway_camera_wired': 'driveway',
'outside_driveway_camera_wifi': 'driveway',
'outside_doorbell_camera': 'doorbell',
'outside_front_door_camera': 'front_door',
'crawlspace_camera': 'crawlspace',
}
def __init__(self, name: str, mac: str, keywords: str = "") -> None:
super().__init__(name.strip(), mac.strip(), keywords)
self.camera_name = BaseCamera.camera_mapping.get(name, None)
def get_stream_url(self) -> str:
name = self.camera_name
assert name is not None
if name == 'driveway':
return f'http://10.0.0.226:8080/Umtxxf1uKMBniFblqeQ9KRbb6DDzN4/mjpeg/GKlT2FfiSQ/driveway'
else:
return f'http://10.0.0.226:8080/Umtxxf1uKMBniFblqeQ9KRbb6DDzN4/mp4/GKlT2FfiSQ/{name}/s.mp4'
|