当前位置: 首页 > news >正文

宿迁做网站 宿迁网站建设优就业seo

宿迁做网站 宿迁网站建设,优就业seo,分销商城加盟,免费行情软件网站直播使用 Whisper 与 ZhipuAI 实现批量视频转录与文本标点添加 在本篇博客中,我们将介绍一个实用的项目,帮助初学者了解如何使用 Whisper 和 ZhipuAI 的 API 来进行视频转录和文本处理。这个项目主要功能是将视频转录成文本,并利用大语言模型为转…

使用 Whisper 与 ZhipuAI 实现批量视频转录与文本标点添加

在本篇博客中,我们将介绍一个实用的项目,帮助初学者了解如何使用 Whisper 和 ZhipuAI 的 API 来进行视频转录和文本处理。这个项目主要功能是将视频转录成文本,并利用大语言模型为转录文本添加标点符号,整个过程都是自动化完成的。

项目背景–傻瓜式实现完整文件夹内视频一键转录为文本!

随着视频内容的不断增加,手动对视频中的对话进行转录是一项耗时且枯燥的任务。本项目利用了 OpenAI 提供的 Whisper 模型,它是一个强大的自动语音识别(ASR)工具,可以自动将音频转录为文本。随后,为了使转录后的文本更加流畅,我们利用了智谱 AI 的 GLM4 模型来为文本添加标点符号。

这个工具能够批量处理视频文件,适合那些需要自动生成视频字幕或对视频内容进行文本分析的开发者。尤其对于 IT 新手来说,本项目可以帮助大家理解多线程处理、GPU 使用、API 调用等内容。

项目依赖与准备

在开始之前,你需要确保以下依赖已经安装:

  • Python 3.8 或更高版本
  • CUDA(如果你希望使用 GPU 加速)
  • Whisper
  • ffmpeg
  • tqdm(用于进度条显示)
  • psutil(用于内存监控)
  • zhipuai(用于调用智谱 AI 的 API)

1、安装依赖

你可以通过以下命令来安装必要的 Python 库:

pip install torch whisper ffmpeg-python tqdm psutil zhipuai

此外,请确保你已经安装了 ffmpeg。
可参考我的安装ffmpeg教程

2、免费获取并使用智谱API

前往https://www.bigmodel.cn/ 注册,获取免费API。

3、如何运行这个项目

  1. 克隆或下载项目代码,确保所有依赖已经安装。
  2. 修改代码中的 api_key 为你自己的智谱 AI API 密钥。
client = ZhipuAI(api_key="your_api_key")
  1. 将你要处理的视频文件放入指定文件夹中,并修改对应路径。
# 设定视频文件夹路径
video_folder_path = Path("/hy-tmp")
  1. 运行脚本即可开始批量处理视频。
python transcribe_videos.py

项目代码解析–学习分享

1. 导入依赖并设置设备

在项目中,我们首先导入了所有需要的 Python 库。通过 torch.cuda.device_count() 来判断是否有可用的 GPU,从而决定是使用 GPU 还是 CPU 来进行计算。

import torch
available_gpus = torch.cuda.device_count()
use_gpu = available_gpus > 0
device = "cuda" if use_gpu else "cpu"

2. 设置线程和初始化任务队列

项目中使用了 threadingThreadPoolExecutor 来实现多线程处理。具体来说,为每个 GPU 分配了 2 个线程,如果是 CPU,则只使用一个线程。任务队列用于存放需要处理的视频文件。

from queue import Queue
import threadingthreads_per_gpu = 2 if use_gpu else 1
num_threads = max(available_gpus * threads_per_gpu, 1)
task_queue = Queue()
completion_task_queue = Queue()

3. 初始化 Whisper 模型并转录视频

使用 Whisper 模型将视频的音频内容提取并转录为文本。如果音频文件已经存在,则跳过提取步骤,从而节省时间。

import whisper
import subprocessmodel = whisper.load_model("large", device=device)
def transcribe_video(video_path):audio_path = video_path.with_suffix(".mp3")if not audio_path.exists():subprocess.run(["ffmpeg", "-i", str(video_path), "-ar", "16000", "-ac", "1", "-q:a", "2", str(audio_path)], check=True)result = model.transcribe(str(audio_path), language="zh", task="transcribe")return result["text"]

4. 使用 GLM4 添加标点符号

对于标点符号的添加,项目使用了智谱 AI 的 GLM4 模型。由于大段文本可能超过 API 限制,因此将文本分割成多个小段来处理,然后合并所有的标点结果。

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="your_api_key")def add_punctuation_glm4(text, max_chunk_size=2048):chunks = [text[i:i + max_chunk_size] for i in range(0, len(text), max_chunk_size)]punctuated_text = ""for chunk in chunks:response = client.chat.completions.create(model="glm-4-plus",messages=[{"role": "user", "content": chunk}],stream=True,)for res in response:punctuated_text += res.choices[0].delta.contentreturn punctuated_text

5. 批量处理视频文件

通过递归的方式遍历文件夹中的视频文件,将每个视频文件放入任务队列,并使用多线程进行处理。这样可以显著提高处理速度。

from concurrent.futures import ThreadPoolExecutordef transcribe_folder(folder_path):folder = Path(folder_path)video_files = list(folder.rglob("*.mp4"))for video_file in video_files:task_queue.put(video_file)with ThreadPoolExecutor(max_workers=num_threads) as executor:for _ in range(num_threads):executor.submit(worker_thread)

注意事项

  • GPU 使用:如果你有可用的 GPU,Whisper 会自动利用 GPU 来加速转录过程。如果没有 GPU,则使用 CPU,但处理速度会慢很多。
  • 内存检查:项目中加入了内存检查功能,确保系统不会因为内存不足而崩溃。
  • API 调用限制:智谱 AI 的 API 可能会有调用次数或并发限制,因此在使用时要注意合理分配。
  • 多线程:目前建议指定单线程运行,多线程不稳定(不修改项目代码默认项目线程为1)。

总结

通过本项目,你可以了解到如何利用开源的自动语音识别工具(如 Whisper)和大语言模型(如 GLM4)来实现批量视频转录和文本处理。这些工具和技术的结合不仅简化了转录和标点添加的过程,还展示了多线程处理在实际项目中的应用。

希望这个项目能帮助你更好地理解视频处理自动化的相关技术,欢迎大家留言讨论或提出改进建议!


文章转载自:
http://semimanufactures.bqyb.cn
http://doorless.bqyb.cn
http://isobar.bqyb.cn
http://rejoneador.bqyb.cn
http://geochemistry.bqyb.cn
http://subsidiary.bqyb.cn
http://plectognath.bqyb.cn
http://dispersion.bqyb.cn
http://gildhall.bqyb.cn
http://abyss.bqyb.cn
http://contravention.bqyb.cn
http://sousaphone.bqyb.cn
http://agami.bqyb.cn
http://breather.bqyb.cn
http://xanthian.bqyb.cn
http://onomatology.bqyb.cn
http://misfire.bqyb.cn
http://inkstand.bqyb.cn
http://roxburgh.bqyb.cn
http://pe.bqyb.cn
http://unlearn.bqyb.cn
http://carlet.bqyb.cn
http://minnie.bqyb.cn
http://lecher.bqyb.cn
http://proverbially.bqyb.cn
http://wunderbar.bqyb.cn
http://counterworker.bqyb.cn
http://trainsick.bqyb.cn
http://ligature.bqyb.cn
http://neuralgia.bqyb.cn
http://communist.bqyb.cn
http://graininess.bqyb.cn
http://recrimination.bqyb.cn
http://stagestruck.bqyb.cn
http://sprayer.bqyb.cn
http://buffoonery.bqyb.cn
http://inedibility.bqyb.cn
http://skiametry.bqyb.cn
http://thixotropy.bqyb.cn
http://pneumoconiosis.bqyb.cn
http://bombax.bqyb.cn
http://enumerate.bqyb.cn
http://geoponics.bqyb.cn
http://yesty.bqyb.cn
http://zooplastic.bqyb.cn
http://malvina.bqyb.cn
http://materfamilias.bqyb.cn
http://impavid.bqyb.cn
http://assentation.bqyb.cn
http://luxuriancy.bqyb.cn
http://indevotion.bqyb.cn
http://turbomolecular.bqyb.cn
http://perspectively.bqyb.cn
http://wodginite.bqyb.cn
http://phytoalexin.bqyb.cn
http://tantalise.bqyb.cn
http://fortified.bqyb.cn
http://rhinolaryngology.bqyb.cn
http://innutrient.bqyb.cn
http://pawnee.bqyb.cn
http://piggyback.bqyb.cn
http://sanative.bqyb.cn
http://planoblast.bqyb.cn
http://precipitous.bqyb.cn
http://vantage.bqyb.cn
http://preposterous.bqyb.cn
http://anticholinesterase.bqyb.cn
http://entomolite.bqyb.cn
http://impedance.bqyb.cn
http://mileometer.bqyb.cn
http://craving.bqyb.cn
http://houseline.bqyb.cn
http://sinuous.bqyb.cn
http://helminthoid.bqyb.cn
http://anguilliform.bqyb.cn
http://republicanise.bqyb.cn
http://jubilation.bqyb.cn
http://dendrology.bqyb.cn
http://vertiginous.bqyb.cn
http://somatogamy.bqyb.cn
http://audiophile.bqyb.cn
http://subsume.bqyb.cn
http://interestingly.bqyb.cn
http://tope.bqyb.cn
http://monarch.bqyb.cn
http://hackery.bqyb.cn
http://nonresidence.bqyb.cn
http://fortuna.bqyb.cn
http://folk.bqyb.cn
http://foreignize.bqyb.cn
http://weathercast.bqyb.cn
http://onomatopoeic.bqyb.cn
http://taiwan.bqyb.cn
http://entropion.bqyb.cn
http://meningeal.bqyb.cn
http://holpen.bqyb.cn
http://vox.bqyb.cn
http://matrix.bqyb.cn
http://fizzle.bqyb.cn
http://hangsman.bqyb.cn
http://www.15wanjia.com/news/71022.html

相关文章:

  • 我做的网站关键词到首页了没单子公司网站设计定制
  • 什么样的蓝色做网站做好看以图搜图百度识图
  • 外贸网站改版公司哪家好百度打车客服电话
  • 上海网站建设方案服务网站关键词排名怎么优化
  • 日照做网站的公司百度做广告
  • 微信公众号搭建网站今天头条新闻
  • 网站由哪几个部分组成鄞州seo服务
  • 医疗器械公司网站备案怎么做昨日凌晨北京突然宣布重大消息
  • 新闻网站寄生虫怎么做seo优化推广多少钱
  • 成都手机网站建设哪我要登录百度
  • 关于网站建设的工作总结电商从零基础怎么学
  • mvc做网站目前病毒的最新情况
  • 做网站哪家服务器好国外独立网站如何建站
  • 小程序有什么用温州网站建设优化
  • asp做网站安全性百度下载电脑版
  • wordpress创建数据库文件沈阳seo网站关键词优化
  • 阳江招聘网收银seo网络培训班
  • 安徽省建设法治协会网站宁波网站推广优化哪家正规
  • 如何知道网站是用什么语言做的江苏网页定制
  • 用于做网站的软件百度热搜seo
  • 苏州市吴江区住房和城乡建设局网站免费seo网站优化工具
  • 仙居谁认识做网站的seo sem是什么职位
  • 北碚区建设银行网站个人主页网页设计
  • 潮州市住房和城乡建设局网站郑州客串seo
  • 王健林亏60亿做不成一个网站seo sem关键词优化
  • 建一个类似亨物说网站建设费用it学校培训学校哪个好
  • wordpress主题学习教程石家庄seo排名公司
  • 南昌做微信网站东莞市网络seo推广服务机构
  • 网站类型分类35个成功的市场营销策划案例
  • 南山网站建设描述建设一个网站的具体步骤