Videolingo 视频翻译系统技术文档、
Videolingo 是一个高度集成的视频翻译系统,能够自动化执行视频下载、音频提取、语音识别、字幕生成、文本翻译,以及音视频合成等一系列复杂操作。该系统还提供了一个 Web 界面,用于任务管理和系统配置。
对于开发人员,可以单步执行 core
下的每一个 step__.py
文件并在 output
下检查每一步的输出。
以下是系统的核心技术模块和工作流程:
-
视频获取模块:
st_components/download_video_section.py
: 基于 Streamlit 框架构建的 Web 应用程序组件,提供 YouTube 链接下载和本地文件上传两种视频获取方式。core/step1_ytdlp.py
: 集成yt_dlp
库,实现从指定 URL 高效下载视频的功能。
-
音频处理与语音识别模块:
core/all_whisper_methods
: 不同的 whisper 方法选择。core/step2_whisper.py
: 利用 Whisper 模型进行高精度的语音识别,生成带时间戳的文本转录结果。
-
文本处理与翻译模块:
core/step3_1_spacy_split.py
: 应用 SpaCy 自然语言处理工具进行初步的文本分割。core/step3_2_splitbymeaning.py
: 结合 GPT 模型的语义理解能力,对长句进行更精确的分割。core/step4_1_summarize.py
: 利用 GPT 模型对视频内容进行智能摘要,提取关键术语。core/step4_2_translate_all.py
: 实现批量化的字幕文本翻译处理。core/translate_once.py
: 采用三步翻译法(直译、意译和润色)实现高质量的英文到中文的逐句翻译。
-
字幕处理与合成模块:
core/step5_splitforsub.py
: 根据字幕格式规范,对翻译后的文本进行精确分割和时间对齐。core/step6_generate_final_timeline.py
: 生成标准 SRT 格式的字幕文件,包含精确的时间轴信息。core/step7_merge_sub_to_vid.py
: 实现字幕与视频的无缝集成。
-
音频处理与配音模块(⚠️暂时停用):
core/step8_extract_refer_audio.py
: 从源视频中提取关键音频片段作为参考。core/step9_generate_audio_task.py
: 基于翻译后的字幕内容,生成结构化的音频合成任务。core/step10_generate_audio.py
: 利用先进的 SoVITS 模型生成高质量的配音音频。core/step11_merge_audio_to_vid.py
: 将生成的配音音频与视频进行专业级别的合成。
-
自然语言处理工具集:
core/ask_gpt.py
: 封装与 GPT 模型交互的标准化接口,用于各类文本生成和分析任务。core/prompts_storage.py
: 集中管理针对不同任务优化的提示模板。core/spacy_utils/
: 封装基于 SpaCy 的句子分割等高级文本处理功能。
-
系统配置与工具模块:
config.py
: 集中存储和管理系统的全局参数配置。st.py
: 基于 Streamlit 框架构建的交互式 Web 应用,实现各处理模块的无缝集成。install.py
: 自动化系统依赖包和模型的安装与配置过程。onekeycleanup.py
: 提供一键式中间文件清理功能,优化系统存储空间。st_components/imports_and_utils.py
: 封装界面组件通用的工具函数库。st_components/sidebar_setting.py
: 实现基于侧边栏的系统设置界面,提供直观的配置管理。