Merge pull request #51 from kennybradley/master

Adding the ability of using the RTSP profile for the stream quality
This commit is contained in:
Alano Terblanche
2021-11-08 22:38:29 +01:00
committed by GitHub
2 changed files with 6 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ class Camera(APIHandler):
password: str = "", password: str = "",
https: bool = False, https: bool = False,
defer_login: bool = False, defer_login: bool = False,
profile: str = "main",
**kwargs): **kwargs):
""" """
Initialise the Camera object by passing the ip address. Initialise the Camera object by passing the ip address.
@@ -23,6 +24,9 @@ class Camera(APIHandler):
eg: {"http":"socks5://[username]:[password]@[host]:[port], "https": ...} eg: {"http":"socks5://[username]:[password]@[host]:[port], "https": ...}
More information on proxies in requests: https://stackoverflow.com/a/15661226/9313679 More information on proxies in requests: https://stackoverflow.com/a/15661226/9313679
""" """
if profile not in ["main", "sub"]:
raise Exception("Profile argument must be either \"main\" or \"sub\"")
# For when you need to connect to a camera behind a proxy, pass # For when you need to connect to a camera behind a proxy, pass
# a proxy argument: proxy={"http": "socks5://127.0.0.1:8000"} # a proxy argument: proxy={"http": "socks5://127.0.0.1:8000"}
APIHandler.__init__(self, ip, username, password, https=https, **kwargs) APIHandler.__init__(self, ip, username, password, https=https, **kwargs)
@@ -33,6 +37,7 @@ class Camera(APIHandler):
self.ip = ip self.ip = ip
self.username = username self.username = username
self.password = password self.password = password
self.profile = profile
if not defer_login: if not defer_login:
super().login() super().login()

View File

@@ -23,7 +23,7 @@ try:
:param proxies: Default is none, example: {"host": "localhost", "port": 8000} :param proxies: Default is none, example: {"host": "localhost", "port": 8000}
""" """
rtsp_client = RtspClient( rtsp_client = RtspClient(
ip=self.ip, username=self.username, password=self.password, proxies=proxies, callback=callback) ip=self.ip, username=self.username, password=self.password, profile=self.profile, proxies=proxies, callback=callback)
return rtsp_client.open_stream() return rtsp_client.open_stream()
def get_snap(self, timeout: float = 3, proxies: Any = None) -> Optional[Image]: def get_snap(self, timeout: float = 3, proxies: Any = None) -> Optional[Image]: