2025全新VideoLingo接口指南:从字幕切割到AI配音的全流程调用
你还在为视频本地化效率低下而烦恼吗?手动处理字幕切割、翻译、配音耗时费力,且难以保证质量。本文将详细介绍VideoLingo的核心功能接口,帮助你一键实现Netflix级别的视频本地化处理。读完本文,你将能够:
- 掌握视频下载与预处理的自动化流程
- 理解语音识别与字幕生成的关键接口
- 学会多语言翻译与配音合成的实现方法
- 配置个性化参数以优化处理效果
核心功能模块概览
VideoLingo作为一款全自动视频本地化工具,其核心功能模块涵盖了从视频下载到最终配音合成的完整流程。以下是主要功能模块的架构图:
graph TD
A[视频下载] --> B[语音识别]
B --> C[字幕切割]
C --> D[多语言翻译]
D --> E[字幕生成]
E --> F[配音合成]
F --> G[视频合成]
主要功能模块分布在项目的core/目录下,每个模块对应一个关键处理步骤。同时,config.yaml文件提供了丰富的参数配置选项,允许用户根据需求进行个性化设置。
视频下载与预处理接口
视频下载是整个流程的第一步,VideoLingo提供了灵活的接口支持多种视频来源和格式。核心实现位于core/_1_ytdlp.py文件中。
主要功能函数
download_video_ytdlp(url, save_path='output', resolution='1080'): 下载指定URL的视频,支持自定义保存路径和分辨率find_video_files(save_path='output'): 查找下载目录中的视频文件,返回唯一视频路径
使用示例
from core._1_ytdlp import download_video_ytdlp, find_video_files
# 下载视频
url = "https://example.com/video.mp4"
download_video_ytdlp(url, resolution=720)
# 获取下载的视频路径
video_path = find_video_files()
print(f"下载的视频路径: {video_path}")
参数配置
视频下载的相关参数可以在config.yaml中配置:
# *Default resolution for downloading YouTube videos [360, 1080, best]
ytb_resolution: '1080'
# Supported upload video formats
allowed_video_formats:
- 'mp4'
- 'mov'
- 'avi'
- 'mkv'
- 'flv'
- 'wmv'
- 'webm'
语音识别与字幕切割接口
语音识别模块负责将视频中的音频转换为文本,并进行时间轴对齐。核心实现位于core/_2_asr.py文件中。
主要功能函数
transcribe(): 执行完整的语音识别流程,包括音频提取、分割和转录
语音识别流程
- 视频转音频:从视频中提取原始音频
- 音频分离:使用Demucs进行人声分离(可选)
- 音频分割:将长音频分割为多个片段
- 音频转录:使用Whisper模型进行语音识别
配置选项
语音识别的相关配置可以在config.yaml中设置:
# Whether to use Demucs for vocal separation before transcription
demucs: true
whisper:
# ["large-v3", "large-v3-turbo"]. Note: for zh model will force to use Belle/large-v3
model: 'large-v3'
# Whisper specified recognition language ISO 639-1
language: 'en'
# Whisper running mode ["local", "cloud", "elevenlabs"]. Specifies where to run, cloud uses 302.ai API
runtime: 'local'
字幕切割
字幕切割模块负责将长文本分割为适合显示的字幕片段。相关实现位于core/_5_split_sub.py文件中。切割策略可以通过config.yaml中的参数进行调整:
subtitle:
# *Maximum length of each subtitle line in characters
max_length: 75
# *Translated subtitles are slightly larger than source subtitles, affecting the reference length for subtitle splitting
target_multiplier: 1.2
多语言翻译接口
翻译模块负责将原始字幕翻译成目标语言,并保持时间轴对齐。核心实现位于core/_4_2_translate.py文件中。
主要功能函数
translate_all(): 执行完整的翻译流程,包括文本分块、并行翻译和结果合并
翻译流程
- 文本分块:将长文本分割为适合翻译的小块
- 并行翻译:使用多线程提高翻译效率
- 结果合并:将翻译结果合并并与原始字幕对齐
配置选项
翻译相关的配置可以在config.yaml中设置:
# Language settings, written into the prompt, can be described in natural language
target_language: '简体中文'
# *Number of LLM multi-threaded accesses, set to 1 if using local LLM
max_workers: 4
示例代码
from core._4_2_translate import translate_all
# 执行翻译流程
translate_all()
配音合成接口
配音合成模块负责将翻译后的文本转换为自然语音,并与视频时间轴对齐。核心实现位于core/_10_gen_audio.py文件中。
主要功能函数
gen_audio(): 执行完整的配音合成流程,包括TTS生成、音频调整和合并
配音流程
- TTS生成:使用选定的TTS引擎生成语音片段
- 音频调整:调整音频速度以匹配视频时间轴
- 音频合并:将多个音频片段合并为最终配音
TTS引擎选择
VideoLingo支持多种TTS引擎,可在config.yaml中配置:
# TTS selection [sf_fish_tts, openai_tts, gpt_sovits, azure_tts, fish_tts, edge_tts, custom_tts]
tts_method: 'azure_tts'
# Azure configuration, 302.ai API only
azure_tts:
api_key: 'YOUR_302_API_KEY'
voice: 'zh-CN-YunfengNeural'
# Edge TTS configuration
edge_tts:
voice: 'zh-CN-XiaoxiaoNeural'
音频速度调整
配音合成会自动调整音频速度以匹配视频时间轴,相关配置如下:
# *Audio speed range
speed_factor:
min: 1
accept: 1.2 # Maximum acceptable speed
max: 1.4
配置文件详解
config.yaml是VideoLingo的核心配置文件,包含了所有功能模块的参数设置。以下是一些关键配置项的说明:
基本设置
display_language: "zh-CN" # 界面显示语言
target_language: '简体中文' # 目标翻译语言
demucs: true # 是否使用Demucs进行人声分离
burn_subtitles: true # 是否将字幕烧录到视频中
API设置
api:
key: 'your-api-key' # API密钥
base_url: 'https://yunwu.ai' # API基础URL
model: 'gpt-4.1-2025-04-14' # 使用的LLM模型
高级设置
# *Maximum number of words for the first rough cut
max_split_length: 20
# *Merge audio configuration
min_subtitle_duration: 2.5 # 最小字幕持续时间
min_trim_duration: 3.5 # 小于此值的字幕不分割
tolerance: 1.5 # 允许的时间误差
批量处理工具
对于需要处理多个视频的场景,VideoLingo提供了批量处理工具,位于batch/OneKeyBatch.bat。使用此工具可以自动处理多个视频文件,大大提高工作效率。
批量处理的详细说明可以参考batch/README.zh.md文件。
总结与展望
VideoLingo提供了从视频下载、语音识别、字幕切割、多语言翻译到配音合成的完整接口,实现了视频本地化的全流程自动化。通过灵活配置config.yaml文件,用户可以根据具体需求调整各个模块的行为,获得高质量的本地化视频。
未来,VideoLingo将继续优化现有功能,增加更多高级特性,如情感语音合成、多角色配音等,进一步提升视频本地化的效率和质量。
如果你在使用过程中遇到任何问题,或有功能改进建议,欢迎参考官方文档docs/pages/docs/introduction.zh-CN.md或查看项目源码获取更多帮助。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00
