基于whisper模子的在线添加视频字幕网站(连续更新)

[复制链接]
查看907 | 回复0 | 2023-8-16 16:30:07 | 显示全部楼层 |阅读模式
1.什么是whisper

Whisper 是一个自动语音识别(ASR,Automatic Speech Recognition)体系,OpenAI 通过从网络上网络了 68 万小时的多语言(98 种语言)和多任务(multitask)监视数据对 Whisper 举行了练习。OpenAI 以为利用这样一个巨大而多样的数据集,可以进步对口音、背景噪音和技能术语的识别本事。除了可以用于语音识别,Whisper 还能实现多种语言的转录,以及将这些语言翻译成英语。
本文重要拿该模子做一个音频识别的任务,将视频中的音频转化为笔墨。
2.项目先容

重要实现了一个基于Whisper的视频字幕生成工具,具体来说,采用Flask轻量级WEB应用框架实现一个以python为后端,以html为前端的WEB项目,功能比力简单,即为为无字幕的视频添加字幕(仅支持中文、英文、中英文混杂)
网站如图:

操作起来比力简单,点击上传文件按钮上传本地视频文件(mp4大概avi),然后点击提交文件按钮,后端就开始处置惩罚。(暂时还未实现前端可视化处置惩罚过程)
实现效果:
中文:

英文:

中英文混杂:

这样看效果还可以吧。
3.项目安装

安装项目所须要的python环境

起首python版本必须要3.9以上,否则会报错,别的python的依赖包在项目中的requirements.txt中都有涉及,直接在python3.9的环境下实验:
  1. pip install git+https://github.com/openai/whisper.git
复制代码
  1. pip install -r requirements.txt
复制代码
安装imagemagick



  • windows
    https://www.imagemagick.org/script/download.php#windows
    安装时选择Install development headers and libraries for C and C++。
    安装好之后打开python假造环境的moviepy模块下的config_defaults.py文件,修改此中的IMAGEMAGICK_BINARY为imagemagick安装文件夹处的magick.exe地点,如:
   IMAGEMAGICK_BINARY = r"D:\python_study_tools\ImageMagick-7.0.9-Q16\magick.exe"
  若忘记了安装位置,利用everything来找到相应的位置,此中moviepy肯定要是你的假造环境的moviepy。


  • ubuntu
    利用指令安装:
  1. apt-get install imagemagick
复制代码
若报错,更新一下:
  1. apt-get update
复制代码
然后输入指令:
  1. vim /etc/ImageMagick-6/policy.xml
复制代码

  1. [/code] 改成
  2. [code]
复制代码
保存退出即可
修改addSubtitles.py中的font格式

在line68
  1. txt = (TextClip(sentences, fontsize=32,
  2.                 font='SimHei', size=(w-20, 40),
  3.                 align='center', color='white')
  4.        .set_position((10, h - 80))
  5.        .set_duration(span)
  6.        .set_start(start))
复制代码
此中的font,该代码在windows正常能实验,没标题。
在ubuntu下报错,因为ubuntu下缺少很多中文类的字节编码,假如这个地方不改,末了出来的视频字幕满是乱码和问号,解决方法:
  1. apt-get install ttf-mscorefonts-installer
复制代码
  1. apt-get install fontconfig
复制代码
  1. cd /usr/share/fonts
复制代码
然后从你的windows中选一个中笔墨体格式放在这个文件夹下
windows字体文件地点处:C:\Windows\Fonts
然后实验指令:
  1. mkfontscale
复制代码
  1. mkfontdir
复制代码
  1. fc-cache -fv
复制代码
末了将上面addSubtitles.py中的font改成字体的路径就行了。
4.运行项目

在windows大概ubuntu下,打开项目文件,实验app.py文件就行了。在windows上,直接点击谁人链接即可;
在服务器上,须要在main函数的app.run()里界说地点与端口,ip地点设为’0.0.0.0’,
在宿主机上运行,须要在浏览器中输入公网ip(关掉梯子)才华访问,自动生成的链接是私网。
若在服务器的docker中运行,在创建docker的时间就要设置好端口映射,若为租的网络服务器,还要去看你的网络服务器开放了哪些tcp端口,随意设置端口还是无法访问。
5.目前存在的标题



  • 项目在服务器运行,总是运行一段时间后,该进程会被自动kill,因此通过谁人ip地点访问并上传文件后,点击提交文件会报错
  • 这个项目并没有实现多线程并发,因此同时有多个用户访问的时间,后端肯定会无法得到精确的文件名而报错
  • 租的华为云的服务器是最小规格的一核服务器,处置惩罚速率很慢,承载力很差,很轻易崩溃
  • whisper模子还有很多其他的功能,好比直接语音识别、识别视频中的音频并生成文本文件、语音翻译等功能,网站的功能量还可以继续拓展
  • 前端的下载功能存在缺陷,对于差异的文件下载没有设置差异的链接
  • 字幕和视频合成完全依赖CPU,因此假如视频时长比力长,要跑很久的时间,有时间还没跑完网页就崩溃了,因此不但是后端的处置惩罚和前端的计划都有优化的地方
github项目地点:https://github.com/jiangduwang/addSubtitles.git
网页地点:http://124.70.200.133/
这个网页不包管正在运行,就算运行了也很有可能提交文件的时间堕落。
为什么说是连续更新呢,因为完成了眼前的课程任务,我会继续解决这些标题。

来源:https://blog.csdn.net/qq_44445108/article/details/127948300
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则