开源项目推荐|视频字幕翻译神器Pyvideotrans
Pyvideotrans免费的视频字幕翻译神器
PyVideoTrans是一款开源视频翻译工具,旨在将视频从一种语言翻译到另一种语言,包括生成相应的配音和字幕。该软件能够自动识别视频中的语音内容,自动生成字幕,翻译为目标语言,并生成对应语言的配音。这种工具对于多语言内容创作、教育视频本地化以及国际文化交流具有重要意义。
开源许可 GPL-3.0
PyVideoTrans采用GPL-v3开源协议,这是一款copyleft类型的开源协议。根据项目文档,源码完全公开,用户可本地部署,也可自行修改后使用。需要注意的是,如果用户将该项目的源码集成到自己的项目中,那么用户的项目也必须开源,才不违反开源协议。
功能特点
• 语音识别:支持openai-whisper的离线模型以阿里、字节在线API进行语音识别 • 文字翻译:支持使用google、微软翻译API、Libtranslate以及阿里、DeepSeek、OpenAI等在线API进行文字翻译 • 语音合成:支持采用CopyVoice、FishTTS以及在线大厂TTS服务,为视频重新合成语音
技术实现
PyVideoTrans的实现流程可以分为以下步骤:
1.音频提取:使用ffmpeg从视频中分离出音频数据;
2.语音识别:使用openai-whisper模型从音频文件中提取语音并转换为文本;
3.文字翻译:将识别到的文本使用google或LLM等翻译API翻译为目标语言;
4.语音合成:将翻译后的文本转换为目标语言的语音(语音合成是可选的)
5.视频合成:将生成的字幕和配音与原始视频合并,生成新的视频文件。
整个过程自动化程度高,用户只需提供原始视频和目标语言,即可一键获得翻译后的视频。
环境要求
• 操作系统:目前支持Windows、Linux、MacOS,其中Windows是预打包版本,win10与win11均可部署 • 开发语言:Python 3.10 • ffmpeg:用于处理视频必须预先安装 • Docker:暂不支持Docker部署 • CUDA:当使用fast-whisper本地离线模型时信赖GPU,因此需要确保cuda可用(openai-whisper可仅使用CPU)
安装部署
由于该项目文档较为详细,针对上文提到的几个环境下部署方式,这里就不一一赘述,这里仅以官方提供的 Linux源码部署方式展开说明
1.创建虚拟环境
推荐使用虚拟环境部署,可避免信赖冲突问题,这里可以使用conda或miniconda。假设使用miniconda,那么首先安装miniconda,打开终端,执行以下命令
# 下载安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-Linux-x86_64.sh
# 执行安装
bash Miniconda3-py310_24.5.0-0-Linux-x86_64.sh
接下来会显示一些协议或引导,需要输入 yes或按下 回车继续。
等待提示完成后,建议加入全局环境,以便能够使用短命令conda,默认可能安装在/root/miniconda3下,
假设默认安装路径为:/root/miniconda3,请执行以下命令,以软链形式,添加系统bin目录中
ln -s /root/miniconda3/bin/conda /usr/bin/conda
创建一个使用 python3.10 的虚拟环境,执行命令如下
# 创建虚拟环境,名为videotrans
conda create -n videotrans python=3.10
# 激活该虚拟环境
conda activate videotrans
2.下载项目,并安装依赖
在Linux服务器打开终端,执行以下命令,拉取项目源码
git clone https://github.com/jianchang512/pyvideotrans
cd pyvideotrans
pip install -r requirements.txt
如果pip下载比较慢,也可以指定国内源,命令如下
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
3.启动运行
执行 python sp.py打开软件
执行python api.py 运行api服务(API服务不是必须的)
pyvideotrans支持灵活的配置选项,以下是推荐配置以供参考
• 语音识别模型:openai-whisper ,large-v3-trubo ,如果你有更好硬件且cuda好用可以选择更大离线模型 • 语音切割模式选择 整体识别
• 选中 语音降噪
• 字幕翻译,想要最好效果就使用在线openAi的API或者国内的也行,想白漂那就 Google翻译 微软翻译,另外阿里等一些大厂有的模型是免费的,也可以漂一下,使用LLM翻译是推荐选中 [工具]-[高级选项]中的 使用AI翻译时发送完整字幕内容
和使用三步反思翻译法
这两个选项。
好了,分享就到这里,说一百遍不如做一遍,感兴趣的同学,赶快动手试试去吧~
相关资料
GitHub地址:https://github.com/jianchang512/pyvideotrans
项目文档:https://pvt9.com/selecttranslate
还没有评论,来说两句吧...