-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathconfig.py
More file actions
70 lines (56 loc) · 3.91 KB
/
config.py
File metadata and controls
70 lines (56 loc) · 3.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
###############################################################################
# 配置解析 — CLI 参数 + YAML 配置
###############################################################################
import argparse
import json
import os
def str_or_int(value):
"""尝试转换为 int,失败则返回 str"""
try:
return int(value)
except ValueError:
return value
def parse_args():
"""解析命令行参数"""
parser = argparse.ArgumentParser(description="LiveTalking Digital Human Server")
# ─── 音频 ──────────────────────────────────────────────────────────
parser.add_argument('--fps', type=int, default=25, help="video fps, must be 25")
parser.add_argument('-l', type=int, default=10)
parser.add_argument('-m', type=int, default=8)
parser.add_argument('-r', type=int, default=10)
# ─── 画面 ──────────────────────────────────────────────────────────
# parser.add_argument('--W', type=int, default=450, help="GUI width")
# parser.add_argument('--H', type=int, default=450, help="GUI height")
# ─── 数字人模型 ────────────────────────────────────────────────────
parser.add_argument('--model', type=str, default='wav2lip',
help="avatar model: musetalk/wav2lip/ultralight")
parser.add_argument('--avatar_id', type=str, default='wav2lip256_avatar1',
help="avatar id in data/avatars")
parser.add_argument('--batch_size', type=int, default=16, help="infer batch")
parser.add_argument('--modelres', type=int, default=192)
parser.add_argument('--modelfile', type=str, default='')
# ─── 自定义动作和多形象 ────────────────────────────────────────────
parser.add_argument('--customvideo_config', type=str, default='',
help="custom action json")
# ─── TTS ───────────────────────────────────────────────────────────
parser.add_argument('--tts', type=str, default='edgetts',
help="tts plugin: edgetts/gpt-sovits/cosyvoice/fishtts/tencent/doubao/indextts2/azuretts/qwentts")
parser.add_argument('--REF_FILE', type=str, default="zh-CN-YunxiaNeural",
help="参考文件名或语音模型ID")
parser.add_argument('--REF_TEXT', type=str, default=None)
parser.add_argument('--TTS_SERVER', type=str, default='http://127.0.0.1:9880')
# ─── 传输 ─────────────────────────────────────────────────────────
parser.add_argument('--transport', type=str, default='webrtc',
help="output: rtcpush/webrtc/rtmp/virtualcam")
parser.add_argument('--push_url', type=str,
default='http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream')
parser.add_argument('--max_session', type=int, default=1)
parser.add_argument('--listenport', type=int, default=8010,
help="web listen port")
opt = parser.parse_args()
# ─── 后处理 ────────────────────────────────────────────────────────
opt.customopt = []
if opt.customvideo_config:
with open(opt.customvideo_config, 'r') as f:
opt.customopt = json.load(f)
return opt