def main(): arg_parser() liver = args.liver debug = args.debug params = {} params['save_folder'] = args.save_path params['flv_save_folder'] = args.check_path params['delete_origin_file'] = args.delete params['check_flv'] = args.check params['file_name_format'] = args.format params['time_format'] = args.time_format params['cookies'] = args.cookies params['debug'] = args.debug if args.cookies_path: try: with open(args.cookies_path, "r", encoding='utf-8') as f: params['cookies'] = f.read() except: print(args.cookies_path) print('指定cookie路径不存在') recorder = you_live.Recorder.createRecorder(liver, args.id, **params) # 获取房间信息 roomInfo = recorder.getRoomInfo() if debug: print(roomInfo) # 获取如果在直播,那么录制 if roomInfo['live_status'] == '1': print(roomInfo['live_rates']) if args.qn: qn = args.qn else: qn = input("输入要录制的清晰度\r\n") live_url = recorder.getLiveUrl(qn=qn) if debug: print(live_url) download_thread = you_live.DownloadThread(recorder) monitoring_thread = you_live.MonitoringThread(recorder) download_thread.start() monitoring_thread.start() while recorder.downloadFlag: todo = input("输入q或stop停止录制\r\n") if todo == "q" or todo == "stop": recorder.downloadFlag = False else: print("请输入合法命令!!!") else: print("主播当前不在线!!")
recorder = you_live.Recorder.createRecorder('kuaishou', 'zxc774882278', check_flv=False, cookies=None) # recorder = you_live.Recorder.createRecorder('acfun', '40909488', check_flv = True, cookies = None) # recorder = you_live.DouyuRecorder(312212, check_flv = False) # 获取房间信息 roomInfo = recorder.getRoomInfo() print(roomInfo) # 获取如果在直播,那么录制 if roomInfo['live_status'] == '1': print(roomInfo['live_rates']) qn = input("输入要录制的清晰度") live_url = recorder.getLiveUrl(qn=qn) #请查看roomInfo['live_rates'] print(live_url) download_thread = you_live.DownloadThread(recorder) monitoring_thread = you_live.MonitoringThread(recorder) download_thread.start() monitoring_thread.start() while recorder.downloadFlag: todo = input("输入q或stop停止录制\r\n") if todo == "q" or todo == "stop": recorder.downloadFlag = False else: print("请输入合法命令!!!") else: print("主播当前不在线!!")
def start(self): self.log.info("开始录制直播间" + str(self.room_id) + "!") self.download_thread = you_live.DownloadThread(self.recorder) self.monitor_thread = you_live.MonitoringThread(self.recorder) self.download_thread.start() self.monitor_thread.start()
def main(): arg_parser() liver = args.liver debug = args.debug params = {} params['save_folder'] = args.save_path params['flv_save_folder'] = args.check_path params['delete_origin_file'] = args.delete params['check_flv'] = args.check params['file_name_format'] = args.format params['time_format'] = args.time_format params['cookies'] = args.cookies params['debug'] = args.debug if args.cookies_path: try: with open(args.cookies_path, "r", encoding='utf-8') as f: params['cookies'] = f.read() except: print(args.cookies_path) print('指定cookie路径不存在') while True: recorder = you_live.Recorder.createRecorder(liver, args.id, **params) # 获取房间信息 roomInfo = recorder.getRoomInfo() if debug: print(roomInfo) # 获取如果在直播,那么录制 if roomInfo['live_status'] == '1': print(roomInfo['live_rates']) if args.qn: qn = args.qn else: qn = input("输入要录制的清晰度\r\n") live_url = recorder.getLiveUrl(qn=qn) if debug: print(live_url) download_thread = you_live.DownloadThread(recorder) monitoring_thread = you_live.MonitoringThread(recorder) download_thread.start() monitoring_thread.start() while recorder.downloadFlag: # TODO: 雑にSleepしてるのでスレッド監視とかをする time.sleep(5) # todo = input("输入q或stop停止录制\r\n") # if todo == "q" or todo == "stop": # recorder.downloadFlag = False # else: # print("请输入合法命令!!!") # TODO: Change this log message in Chinese. print('Finished download!') else: print("主播当前不在线!!") # TODO: 定期的にポーリングするのではなくて何らかの方法でPush的に開始させる sleep_time = 5 + random.uniform(0, 5) print("sleeping " + str(sleep_time)) time.sleep(sleep_time)