diff --git a/app.py b/app.py index 5a9d7d8..c5779cd 100644 --- a/app.py +++ b/app.py @@ -316,7 +316,8 @@ async def run(push_url,sessionid): if __name__ == '__main__': mp.set_start_method('spawn') parser = argparse.ArgumentParser() - + parser.add_argument('--config', type=str, default='config/config.json', help="配置文件路径") + # audio FPS parser.add_argument('--fps', type=int, default=50, help="audio fps,must be 50") # sliding window left-middle-right length (unit: 20ms) @@ -352,6 +353,19 @@ if __name__ == '__main__': opt = parser.parse_args() #app.config.from_object(opt) #print(app.config) + + try: + with open(opt.config, 'r', encoding='utf-8') as f: + cfg = json.load(f) + for key, val in cfg.items(): + # 如果当前 opt.key 仍然是 parser 定义的默认值,就用配置文件里的 + if getattr(opt, key, None) == parser.get_default(key): + setattr(opt, key, val) + except FileNotFoundError: + logger.warning(f"配置文件未找到:{opt.config},将全部使用命令行/默认参数") + except Exception as e: + logger.warning(f"加载配置文件时出错:{e},将全部使用命令行/默认参数") + opt.customopt = [] if opt.customvideo_config!='': with open(opt.customvideo_config,'r') as file: diff --git a/config/config.json b/config/config.json new file mode 100644 index 0000000..5ffcdf2 --- /dev/null +++ b/config/config.json @@ -0,0 +1,20 @@ +{ + "fps": 50, + "l": 10, + "m": 8, + "r": 10, + "W": 450, + "H": 450, + "avatar_id": "avator_1", + "batch_size": 16, + "customvideo_config": "", + "tts": "edgetts", + "REF_FILE": "input/gentle_girl.wav", + "REF_TEXT": "刚进直播间的宝子们,左上角先点个关注,点亮咱们家的粉丝灯牌!我是你们的主播陈婉婉,今天给大家准备了超级重磅的福利", + "TTS_SERVER": "http://127.0.0.1:9880", + "model": "musetalk", + "transport": "rtcpush", + "push_url": "http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream", + "max_session": 1, + "listenport": 8010 +}