diff --git a/README.md b/README.md index f91b5ee..fcf2dae 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ GET: SET: - [X] Display -> OSD -- [ ] Recording -> Encode (Clear and Fluent Stream) +- [X] Recording -> Encode (Clear and Fluent Stream) - [ ] Recording -> Advance (Scheduling) - [X] Network -> General - [X] Network -> Advanced diff --git a/api/APIHandler.py b/api/APIHandler.py index a62846a..59df805 100644 --- a/api/APIHandler.py +++ b/api/APIHandler.py @@ -80,8 +80,8 @@ class APIHandler(SystemAPIMixin, """ try: data = [{"cmd": "Logout", "action": 0}] - ret = self._execute_command('Logout', data) - print(ret) + self._execute_command('Logout', data) + # print(ret) return True except Exception as e: print("Error Logout\n", e) diff --git a/api/recording.py b/api/recording.py index d221fa5..259e56a 100644 --- a/api/recording.py +++ b/api/recording.py @@ -27,6 +27,48 @@ class RecordingAPIMixin: body = [{"cmd": "GetRec", "action": 1, "param": {"channel": 0}}] return self._execute_command('GetRec', body) + def set_recording_encoding(self, + audio=0, + main_bit_rate=8192, + main_frame_rate=8, + main_profile='High', + main_size="2560*1440", + sub_bit_rate=160, + sub_frame_rate=7, + sub_profile='High', + sub_size='640*480') -> object: + """ + Sets the current camera encoding settings for "Clear" and "Fluent" profiles. + :param audio: int Audio on or off + :param main_bit_rate: int Clear Bit Rate + :param main_frame_rate: int Clear Frame Rate + :param main_profile: string Clear Profile + :param main_size: string Clear Size + :param sub_bit_rate: int Fluent Bit Rate + :param sub_frame_rate: int Fluent Frame Rate + :param sub_profile: string Fluent Profile + :param sub_size: string Fluent Size + :return: response + """ + body = [{"cmd": "SetEnc", + "action": 0, + "param": + {"Enc": + {"audio": audio, + "channel": 0, + "mainStream": { + "bitRate": main_bit_rate, + "frameRate": main_frame_rate, + "profile": main_profile, + "size": main_size}, + "subStream": { + "bitRate": sub_bit_rate, + "frameRate": sub_frame_rate, + "profile": sub_profile, + "size": sub_size}} + }}] + return self._execute_command('SetEnc', body) + ########### # RTSP Stream ###########