【开源项目】自动字幕生成和字幕翻译

文章目录

  • [1. 安装ffmpeg](#1. 安装ffmpeg)
  • [2. 克隆项目](#2. 克隆项目)
  • [3. 配置项目运行环境](#3. 配置项目运行环境)
  • [4. 填写配置文件](#4. 填写配置文件)
  • [5. 运行项目(仅使用CPU)](#5. 运行项目(仅使用CPU))

项目地址:Github - qinL-cdy/auto_ai_subtitle

项目原理:使用ffmpeg提取视频的音频,使用whisper将音频转写为字幕,使用translate将源语言字幕翻译成目标语言字幕。

说明:translate API免费1000行(行宽70字符),超出需要付费购买API

1. 安装ffmpeg

  • 下载构建好的ffmpeg。Windows版本下载。

  • 用7-zip解压文件,将解压目录下的bin目录对应的路径添加到环境变量

    • 在搜索框中搜索环境变量 > 编辑系统环境变量 > 环境变量 > 系统变量 > Path
    • 将bin目录对应的路径添加到Path中
  • win + R启动运行,输入cmd,在命令提示符中输入以下命令,出现下图所示内容即配置成功。

    bash 复制代码
    ffmpeg -version

2. 克隆项目

  • 打开VSCode,点击Clone Git Repository ...。选择克隆的目标文件夹,克隆完成后打开文件夹。

3. 配置项目运行环境

  • 使用conda创建虚拟环境(安装Anaconda、conda换源、pip换源可以去搜索)

    • 启动Anaconda Prompt
    • 输入以下命令创建虚拟环境
    bash 复制代码
    conda create -n auto_ai_subtitle python=3.9 -y
    • 激活虚拟环境
    bash 复制代码
    	conda activate auto_ai_subtitle
  • VSCode选择虚拟环境

  • 右键main.py,点击打开集成终端,输入以下命令安装第三方库。

bash 复制代码
pip install -r requirements.txt

4. 填写配置文件

打开config.yaml,可以根据自己的实际情况设置相应的参数。

  • 语言简称参照链接后两位字母转小写。
  • 路径中不能有中文

5. 运行项目(仅使用CPU)

  • 修改script/audio_tool.py为以下内容:
python 复制代码
import ffmpeg
import subprocess

def audio_extract(input, output):
	ffmpeg.input(input, vn=None).output(output).run()

# 解决中文路径ffmpeg无法运行的问题
# def audio_extract(input_path, output_path):
# 	command = [
# 		'ffmpeg', 
# 		'-i', 'pipe:0',  # 从stdin读取输入
# 		'-vn',          # 仅提取音频
# 		output_path     # 输出文件路径
# 	]

# 	with open(input_path, 'rb') as f:
# 		subprocess.run(command, input=f.read())
  • 修改script/whisper_tool.py,添加verbose=True能显示转写过程。

  • 在集成终端输入以下命令:

bash 复制代码
python main.py
  • 运行过程中出现以下警告可以忽略,因为默认使用FP16,但是CPU不支持FP16,程序自动会改成FP32。
相关推荐
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 10 章 工具调用(中):执行链路、结果转换与工具限制
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 13 章 MCP 客户端:传输、工具聚合与命名冲突
java·人工智能·开源