Merge pull request #51 from kennybradley/master
Adding the ability of using the RTSP profile for the stream quality
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
@@ -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]:
|
||||||
|
|||||||
Reference in New Issue
Block a user