github开源推荐,基于whisper的字幕生成和字幕翻译工具——再也没有看不懂的片啦

1.简介

GitHub - qinL-cdy/auto_ai_subtitle

github上新开源的一款字幕生成和字幕翻译的整合工具,可以根据视频中提取到的音频来转换成字幕,再根据需要将字幕进行翻译

2.效果

3.使用

1)安装ffmpeg

安装ffmpeg的教程比较多,就不详细介绍了,Windows上安装完成后记得添加环境变量,最后在cmd中输入"ffmpeg –version",有相应打印即可

2)拉取代码

使用git拉取代码即可,没有git的可以参考网上资料安装一下

git clone https://github.com/qinL-cdy/auto_ai_subtitle.git

3)安装python依赖

使用pip安装相关依赖,当然前提是已经安装好python环境了

进入git下来的工程目录,可以看到有一个requirements.txt

在目录下执行

pip install -r requirements.txt

 这样pip就会自动安装所有需要的依赖了

4)填写配置信息

打开当前目录下的config.yaml文件,根据提示填写对应的信息,例如:

#输入的视频文件
input: D:\download\ChainsawMan-03.mp4
#中间过程会生成的音频文件
output: D:\download\ChainsawMan-03.mp3
#生成的原始字幕文件
srt_path: D:\download\ChainsawMan-03.srt
#生成的翻译后的字幕文件
srt_translate_path: D:\download\ChainsawMan-03-zh.srt
#翻译时开启多少线程
translate_threads: 10
#翻译源语言
from: ja
#翻译目标语言
to: zh

5)执行程序

最后一步,使用python命令执行程序即可 

python main.py

6)其他用法

观察main.py文件:

import yamlfrom script import translate_tool, audio_tool, whisper_toolif __name__ == '__main__':with open('config.yaml', encoding='utf-8') as f:config = yaml.load(f.read(), Loader=yaml.FullLoader)print("audio extract begin")audio_tool.audio_extract(config['input'], config['output'])print("audio extract success")print("whisper begin")whisper_tool.do_whisper(config['output'], config['srt_path'])print("whisper success")print("translate begin")translate_tool.do_translate(config['srt_path'], config['srt_translate_path'], config['from'], config['to'],config['translate_threads'])print("translate success")print("success")

可以看到脚本是由多个独立的调用步骤组合而成的,所以也可以根据自己的需要调整来自定义执行某一个或多个功能

例如,只执行音频提取和字幕生成,但不进行翻译:

import yamlfrom script import translate_tool, audio_tool, whisper_toolif __name__ == '__main__':with open('config.yaml', encoding='utf-8') as f:config = yaml.load(f.read(), Loader=yaml.FullLoader)print("audio extract begin")audio_tool.audio_extract(config['input'], config['output'])print("audio extract success")print("whisper begin")whisper_tool.do_whisper(config['output'], config['srt_path'])print("whisper success")#print("translate begin")#translate_tool.do_translate(config['srt_path'], config['srt_translate_path'], config['from'], config['to'],config['translate_threads'])#print("translate success")print("success")

4.原理

1)音频提取

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

 使用了ffmpeg的能力,其中vn=None代表忽略视频,所以执行后只会输出对应的音频

2)字幕提取

字幕生成使用了openai开源的whisper

def do_whisper(audio, srt_path):model = whisper.load_model("base")print("whisper working...")result = model.transcribe(audio)print("whisper execute success")print("writing srt file...")write_srt(result['segments'], srt_path)print("write srt success")

 这里只是用了最基本的模型,所以在精度上可能不够高,使用者可以基于whisper开源的模型做进一步优化

3)字幕翻译

字幕翻译使用了常用的开源库translate,就不做进一步介绍了,感兴趣可以查看相关资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18586.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatGPT软件专属问答机器人

chatGPT问答机器人软件的主要功能是回答用户提出的问题。以下是我可以提供的一些具体功能: 回答各种类型的问题,包括常识性问题、科学问题、技术问题等等。 理解和回答用户的自然语言问题,无需特殊格式或关键字。 学习新的知识并…

本地构建自己的chatgpt已成为可能,国外团队从GPT3.5提取大规模数据完成本地机器人训练,并开源项目源码和模型支持普通在笔记上运行chatgpt

国外团队从GPT3.5提取大规模数据完成本地机器人训练,并开源项目源码和模型支持,普通在笔记上运行chatgpt。下面是他们分享的:收集到的数据、数据管理程序、训练代码和最终模型,以促进开放研究和可重复性。 1、数据收集和管理 在 2023 年 3 月 20 日至 2023 年 3 月 26 日期…

文心一言 VS 讯飞星火 VS chatgpt (26)-- 算法导论5.1 1题

一、证明:假设在过程 HIRE-ASSISTANT 的第 4 行中,我们总能决定哪一个应聘者最佳。则意味着我们知道应聘者排名的全部次序。 文心一言: 证明: 假设在过程 HIRE-ASSISTANT 的第 4 行中,我们总能决定哪一个应聘者最佳。则意味着我们知道应聘…

ChatGPT 背后的“功臣”——RLHF 技术详解

OpenAI 推出的 ChatGPT 对话模型掀起了新的 AI 热潮,它面对多种多样的问题对答如流,似乎已经打破了机器和人的边界。这一工作的背后是大型语言模型 (Large Language Model,LLM) 生成领域的新训练范式:RLHF (Reinforcement Learnin…

NBA球星生涯数据集分析

源码链接: https://download.csdn.net/download/qq_58012062/87541713?spm1001.2014.3001.5501 数据提取:链接:https://pan.baidu.com/s/1kcttx000FfaLBk1QAJbBAw 提取码:jbbk 1 实验背景 NBA 作为世界上水平最高的篮球联赛…

近10年NBA球队常规赛排名变化——tableau 实现bump chart

上一篇文章「一个案例入门tableau——NBA球队数据可视化实战解析」我们学习了tableau的基本使用方法,本篇中我们继续深入,仍然通过实战案例来学习tableau制作bump chart。 本文目录如下: 案例引入可视化效果和数据结论西部联盟东部联盟 制作过…

如何开发微信礼品卡-服务端

微信礼品的官方文档,请戳微信礼品卡。 官方咨询邮箱:weixincardtencent.com。 本文仅记录微信礼品卡后端开发相关: 1.设计礼品卡数据库表结构 请仔细阅读微信礼品卡官方文档,再进行数据库表结构设计。 确保调用微信接口返回成…

文心千帆:PPT 制作、数字人主播一键开播等数十种应用场景惊艳到我了,下面给出简介和使用指南,快去使用起来吧

文心千帆:PPT 制作、数字人主播一键开播等数十种应用场景惊艳到我了,下面给出简介和使用指南,快去使用起来吧 文心千帆大模型平台是面向企业开发者的一站式大模型开发及服务运行平台。文心千帆不仅提供了包括文心一言底层模型(ER…

Linux随记(四)

一、记录ping不通,与处理方法。 问题描述: 对端链路 交换机地址IP:192.168.1.101笔记本网线直连对端交换机。配置ip192.168.1.102。 此时去Ping 192.168.1.101是通的.但是新的三层交换机连接对端交换机,vlan90 配置ip 192.168.1…

崩坏三 - 武器 - 童谣 NPR渲染分析(水体)

崩坏三 - 武器 - 童谣 NPR渲染分析(水体) 水体效果演示视频链接Shader 源码 水体效果 演示视频链接 https://www.bilibili.com/video/av68650714 Shader 源码 Shader "Water" {Properties{_WaterNormal("Water Normal", 2D) &qu…

旋转正方形怎么做html,p5.js绘制旋转的正方形_童谣_前端开发者

使用p5. 要还原的效果图 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持前端开发者。 首先建立画布大小,按照比例应该是5:3 function setup() { createCanvas(500, 300); } 设定矩形绘制格式,以…

崩坏三 - 武器 - 童谣 NPR渲染分析

崩坏三 - 武器 - 童谣 NPR渲染分析 童谣 NPR渲染演示视频链接大致想法Ramp高光效果边缘光效果镰刀刃部效果截图完整代码镰刀身体部分镰刀刃部分 童谣 NPR渲染 演示视频链接 https://www.bilibili.com/video/av68650714 大致想法 镰刀身体部分: 描边 Ramp多阶色 …

python啤酒童谣新手求助

为什么循环语句无法生效

chatgpt赋能python:Python高端玩法

Python高端玩法 如果你已经掌握了Python的基础知识,那么它还有许多高端玩法等着你去探索。在这篇文章中,我们将介绍一些Python高端玩法,包括函数式编程、元编程、异步编程、科学计算和机器学习。 函数式编程 Python是一门支持函数式编程范…

用于 LLM 应用开发的 LangChain 中文版

用于 LLM 应用开发的 LangChain 中文版 1. 模型、提示词和输出解析器1-1. 获取您的 OpenAI API 密钥1-2. Chat API : OpenAI1-3. Chat API : LangChain1-3-1. 模型1-3-2. 提示词模板 1-4. 输出解析器1-4-1. 将 LLM 输出字符串解析为 Python 字典 2. 记忆2-1. 会话缓冲区内存(Co…

MiniGPT4,开源了。

大家好,我是 Jack。 一个月前,我发布过一篇文章,讲解了 GPT4 的发布会。 ChatGPT 的对话能力,想必大家也早已体验过了,无论是文本生成能力,还是写代码的能力,甚至是上下文的关联对话能力&#…

飞书API调用尝试,实现飞书文档对于咨询的收集和实时的更新

摘要:主要就是记录一下自己从零开始做自己需要使用的脚本的过程,其中使用到chatgpt工具,也需要有记录作用,可以记录自己每天的工作进程,CSDN的是基于Markdown的方式,所以这个可以恰好植入到我的学习笔记的网…

恐怖的挥霍速度,每年烧上百亿美元,元宇宙大梦“压垮”Meta,苹果出手能否改写颓局...

点击上方“Python与机器智能”,选择“星标”公众号 第一时间获取价值内容 大数据文摘授权转载自AI前线 作者:刘燕,核子可乐 元宇宙玩家,似乎很擅长“画大饼”。 身为社交媒体巨头的掌门人,扎克伯格已经在虚拟现实之梦上…

GPT-4,大增长时代的序幕

作者|成诚 虽然我们早在 2017 年就预测了超大模型的到来,因此才搞了分布式深度学习框架 OneFlow(github.com/Oneflow-Inc/oneflow/),且 2020 年的 GPT-3 也掀起了大模型热潮(OneFlow——让每一位算法工程师…

ChatGPT4功能大全,附上一些官网推荐的例子

例子 探索一些示例应用程序的可能性 所有类别 问答 根据现有知识回答问题。 语法修正 将句子改成标准英语。 给二年级学生总结 将困难的文本翻译成更简单的概念。 自然语言到 OpenAI API 创建代码以使用自然语言指令调用 OpenAI API。 命令文本 将文本转换为编程命令。 英语到其…