#5695 转录并翻译字幕 是否是cli的 stt + sts

103.17* Posted at: 2 hours ago

转录并翻译字幕 是否是cli的 stt + sts

5 Replies

是的,CLI 模式中可以通过两步操作实现:先执行 stt 任务转录字幕,再执行 sts 任务翻译字幕。也可以一步到位使用 vtv 任务并关掉配音(--voice_role No)来跳过配音和合成,只完成识别+翻译。

使用cli翻译泰语视频 发音语言选择了泰语但是还是会出现 其他语言 如何去处理

在 CLI 中指定了 --detect_language th 但仍然出现其他语言,通常是因为模型较小或音频中确实混有非泰语片段。建议按以下步骤调整:

  1. 确认语言代码正确
    泰语语言代码为 th(非 thaitha),命令中应写 --detect_language th
  2. 使用大模型 + GPU 加速提升识别精度
    将模型从默认的 tiny 升级为 large-v3,并启用 CUDA(如果硬件支持):

    uv run cli.py --task stt --name "你的视频.mp4" --recogn_type 0 --model_name large-v3 --detect_language th --cuda
  3. 开启降噪与 VAD 预分割
    减少背景噪音干扰,有助于模型专注泰语语音:

    uv run cli.py --task stt --name "你的视频.mp4" --model_name large-v3 --detect_language th --remove_noise --cuda
  4. 备选渠道:尝试 openai-whisper(本地)或 Gemini API

    • 本地 openai-whisper 对泰语支持也不错:--recogn_type 1 --model_name large-v3 --cuda
    • 如果音频中确实混有其他语言(如中文、英文),且你希望仅输出泰语,可以使用 Google 转录服务或 Gemini 大模型识别,它们通常能更好地区分语种。
  5. 检查音频片段的语音情况
    如果视频本身包含多个说话人且交替使用不同语言,ASR 无法强制只输出某一种语言。此时只能后期人工筛选或通过说话人识别分离。

如果以上调整后仍有大量非泰语内容,请在 logs/ 目录下找到当天的 .log 文件,复制最后 30 行报错或关键日志信息,我们可以进一步分析。

[DEBUG] 可用 Nvidia 显卡数: 1
[DEBUG] [TransCreate.__post_init__] font_size=0, subtitle_type=0
[DEBUG] [TransCreate]最终配置信息:self=TransCreate(uuid='0706e8c435', proxy_str='http://127.0.0.1:7897', last_down_time=0, precent=1, hasend=False, should_recogn=True, should_trans=True, should_dubbing=False, should_separate=False, should_hebing=False, source_srt_list=[], target_srt_list=[], video_time=0.0, is_copy_video=False, video_codec_num=264, ignore_align=False, is_audio_trans=False, clone_ref='', cost_duration=1783480155.4277678, should_recogn2=False)
self.cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: //192.168.1.109/共享素材库/fy/0708-1/测试2.mp4,
输出结果保存到文件夹: \192.168.1.109\共享素材库\fy\0708-1\中文,
临时文件夹: C:/Users/phf/Desktop/fy/pyvideotrans-main/tmp/24456/0706e8c435
未选 清理已存在
已选 启用CUDA加速
未选 降噪
语音识别:faster-whisper(本地内置), model_name: large-v3-turbo, 发音语言: th, 断句方式:默认断句
翻译渠道:Google(免费),原始语言:None,目标语言:None, 已选 发送完整字幕
未选 配音角色,不进行配音
字幕: 不嵌入字幕
代理地址:
[DEBUG] The file info after process:result={'video_fps': 30.0, 'r_frame_rate': 30.0, 'video_codec_name': 'h264', 'audio_codec_name': 'aac', 'width': 1080, 'height': 1620, 'time': 21900, 'streams_len': 2, 'streams_audio': 1, 'video_streams': 1, 'color': 'yuv420p'}
[DEBUG] runffmpeg:cmd=['ffmpeg', '-hide_banner', '-nostdin', '-ignore_unknown', '-threads', '0', '-y', '-fflags', '+genpts', '-i', '//192.168.1.109/共享素材库/fy/0708-1/测试2.mp4', '-an', '-c:v', 'copy', 'novoice.mp4']

[DEBUG] app_cfg.proxy='http://127.0.0.1:7897'
[DEBUG] 可以使用 huggingface.co
[DEBUG] [新进程任务 开始:title='STT use large-v3-turbo']
[DEBUG] 新进程任务 参数:kwargs={'detect_language': 'th', 'model_name': 'large-v3-turbo', 'logs_file': 'C:/Users/phf/Desktop/fy/pyvideotrans-main/tmp/24456/0706e8c435/faster-th-1783480157.641788.log', 'is_cuda': True, 'no_speech_threshold': 0.6, 'condition_on_previous_text': False, 'speech_timestamps': None, 'audio_file': 'C:/Users/phf/Desktop/fy/pyvideotrans-main/tmp/24456/0706e8c435/th.wav', 'local_dir': 'C:/Users/phf/Desktop/fy/pyvideotrans-main/models/models--mobiuslabsgmbh--faster-whisper-large-v3-turbo', 'compute_type': 'default', 'jianfan': False, 'audio_duration': 22016, 'hotwords': '', 'prompt': 'สวัสดีครับ วันนี้อากาศดีมาก ขอบคุณครับ ขอแนะนำสินค้าของเรา อลูมิเนียม สแตนเลส พลาสติก คุณภาพดี ราคาถูก ใช้งานง่าย ติดตั้งสะดวก ทนทาน ไม่เป็นสนิม ไม่ลอก ไม่หลุดง่าย รับน้ำหนักได้ดี เหมาะกับการใช้งานในห้องน้ำ ห้องครัว และพื้นที่อื่นๆ ขอบคุณครับ', 'beam_size': 5, 'best_of': 5, 'temperature': '', 'repetition_penalty': 1.0, 'compression_ratio_threshold': 2.4, 'max_speech_ms': 5000, 'subtitle_srt': 'C:/Users/phf/Desktop/fy/pyvideotrans-main/tmp/faster-20260708-11_09_17.srt', 'device_index': 0}
[DEBUG] GPU进程池:max_workers=1
[DEBUG] 开始加载 faster-whisper模型large-v3-turbo,数据类型:default
[DEBUG] [faster_whisper]加载模型large-v3-turbo: is_cuda=True,_compute_type='default'
[DEBUG] 直接传递完整音频,由faster-whisper内部VAD处理,返回字级时间戳数据
[DEBUG] faster-whisper模式下,对large-v3-turbo模型返回的字级时间戳进行断句
[DEBUG] 断句完毕返回结果
[DEBUG] faster-whisper下已临时保存识别结果到 C:/Users/phf/Desktop/fy/pyvideotrans-main/tmp/faster-20260708-11_09_17.srt,防止进程崩溃后永久等待
[DEBUG] [新进程任务 title='STT use large-v3-turbo'] 已返回
[DEBUG] [新进程任务 结束:title='STT use large-v3-turbo'],耗时88.83222699165344s
[DEBUG] 移除无效字幕行
[DEBUG] 修正重叠时间轴
[DEBUG] 开始移除每条字幕末尾标点

[DEBUG] 以纯文本行形式翻译,每次翻译10行,翻译后暂停0.0s
[INFO] Starting call to 'videotrans.translator._google.Google._item_task', this is the 1st time calling it.
[DEBUG] [Google] self.target_code='zh-cn' self.source_code='th'
[DEBUG] [Google]返回code:response.status_code=200
[DEBUG] 原始行数:10,翻译后行数:10
[DEBUG] 原始语言字幕和目标语言字幕行数一致,均为 source_len=10

从日志看,你的识别配置是 faster-whisper + large-v3-turbo,发音语言也正确设置为 th。但如果识别结果中仍混有其他语言(如英文、中文),通常是因为:

  1. 视频音频中确实包含非泰语片段(例如旁白中夹杂英文术语或不同说话人切换语种)
  2. large-v3-turbo 模型对泰语的支持不如完整版 large-v3(turbo 版为提速而牺牲了小语种精度)
  3. 未启用 VAD 预分割,导致模型在整段长音频中混淆语种

立即改进的方案

按以下优先级调整配置,重新执行 stt 任务即可:

uv run cli.py --task stt --name "你的视频.mp4" \
  --recogn_type 0 --model_name large-v3 \
  --detect_language th --remove_noise --cuda
  • 更换模型:将 large-v3-turbo 改为 large-v3(非 turbo),这是 faster-whisper 系列中对泰语支持最好的模型。
  • 开启降噪--remove_noise 可减少环境音干扰,让模型更聚焦泰语语音。
  • 确保 VAD 预分割启用:在高级选项中确保 Whisper预分割音频 已勾选(日志未显示,默认可能关闭),CLI 暂未直接暴露此参数,但使用 GUI 或通过 advanced.json 设置可启用。

如果仍不理想,尝试以下渠道:

渠道命令参数说明
openai-whisper(本地)--recogn_type 1 --model_name large-v3 --cuda对泰语识别精度通常优于 faster-whisper 同等模型
Gemini 大模型识别(收费)需先配置 Gemini API Key小语种识别效果极佳,可强制指定语言为泰语

若音频本身混有其他语言

  • 使用 说话人分离--enable_diariz)将不同说话人分开,再人工筛选只保留泰语片段。
  • 或使用 人声背景分离--is_separate)降低背景音乐/噪声影响,但此参数在 stt 中不适用,需在 vtv 模式下使用。

关于翻译结果

日志显示翻译渠道是 Google 翻译,免费但泰译中质量一般。建议改用 DeepSeekOpenAI 等 AI 翻译渠道,并在 CLI 中指定 --translate_type <编号> 和相应的 API Key。例如:

uv run cli.py --task vtv --name "你的视频.mp4" \
  --source_language_code th --target_language_code zh-cn \
  --voice_role No --cuda \
  --recogn_type 0 --model_name large-v3 \
  --translate_type 15    # 假设15对应 DeepSeek

(具体渠道编号运行 uv run cli.py --list providers 查看)


请查阅相关文档

如果更换为 large-v3 后问题仍然存在,请提供识别出的 典型错误行(例如日志中 .srt 文件的内容片段),以及视频中确切的语种混合情况,可以进一步分析。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update. Dondate: ko-fi.com/jianchang512

Related resource