Skip to content

sutro-planet/easyvideotrans

Repository files navigation

简介

本项目着眼于从原始视频到翻译后最终视频的整个工作流程,确保从一而终的整个过程顺畅高效。项目提供了web后端和一个用于测试的前端页面
本项目测试地址
本方案优势:

  • 方案简单好用,经过验证,十分可靠,避免被巨量的不靠普方案迷惑,节约用户选择成本。
  • 翻译结果质量高,大幅减少人工校对。前期项目pytvzhen已经接受广大群友考验,倍受好评。
  • 方案开源可靠,免费使用。代码结构清晰,可读性强,可扩展性强,适合二次开发。

相关技术说明: 在技术关注&开发计划部分,我们列出了本方案的主要技术关注点,以及后续的开发计划。本项目重点强调易用、可靠、以及产生最终最终视频的速度。因此我们排除了大量不稳定、不可靠的方案,进保留整个工作流程中最好用的方案献给广大用户。

图片

目录

相关项目介绍

我们部署了一个在线版本,可以翻译长达60分钟油管或着任意自定义长度的视频,欢迎随时使用。你可以通过访问 Grafana 图表 来了解该在线版本的健康情况。

部署

Docker部署(推荐)

sudo docker run --rm -p 8888:8080 -v output:/app/output --runtime=nvidia --gpus all hanfa/pytvzhen-web:latest

本地部署

环境准备

安装依赖需要:requirements.txt中的各种依赖,pythorch库,ffmpeg(可选)。本工程Python 3.9.19上验证。另外如果你想体验完整的工作流程,推荐下载一个字幕文件编辑器,尽管本程序用不到,但是在转换视频的工作中,你一定用得到,我使用Aegisub。

各种基本库安装 pip install -r requirements.txt

pytorch安装: 在点击这里,选择合适的安装版本,必须要选择gpu版!!!! 原因是作者偷懒没有做cpu方案,其实如果你愿意,改几行源码实现在CPU上跑应该也不难。

其他依赖:

确保 RabbitMQ 作为broker在./configs/celery.json里定义的broker_url运行, 具体方法参考这里,用sudo rabbitmqctl status 确保其正常运行。

ffmpeg安装

sudo apt-get install ffmpeg

faster-whisper下载自动模型的时候,国内可能会比较慢,甚至无法下载!!faster-whisper_models目录中,使得目录结构为:

faster-whisper_models
     |-models--Systran--faster-whisper-base.en
     |-models--Systran--faster-whisper-medium
     |-...

运行

  1. 修改配置 修改pytvzhen.json中的VIDEO_MAX_DURATION,配置下载视频的最大长度,单位为秒。

  2. 在一个 terminal 里面启动 Celery 队列和 worker 来处理视频渲染请求。

celery -A src.task_manager.celery_tasks.celery_app worker --concurrency 1 -Q video_preview

  1. 在另一个 terminal 里运行flask app。
flask run --host=0.0.0.0 --debug

然后浏览器打开http://127.0.0.1:5000.

API说明

API文档

技术关注&开发计划

后续计划:谨慎添加更多可靠的功能,增加其他语言到中文的翻译

项目名称 功能 当前状况 计划
whisperstable-whisper 语言转字幕 效果不如faster-whisper 不添加
Funasr 语言转字幕 还没验证 验证后再决策
GPT-SoVITS TTS TTS输出不稳定 观望
ChatTTS TTS TTS输出不稳定 观望
Open AI TTS TTS 要钱 后续添加
EmotiVoice TTS 不稳定 观望
StreamSpeech TTS 还没验证 验证后再决策
百度翻译、有道翻译、迅飞翻译 翻译 效果远不如谷歌 不添加
ChatGpt 翻译 效果不错 后续添加

主要上游开源项目