Exemple #1
0
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("主播当前不在线!!")
Exemple #2
0
    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()
Exemple #4
0
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)