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

深圳app网站建设国家市场监管总局

深圳app网站建设,国家市场监管总局,做英文网站用什么字体好,网站推广的作用是使用 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://www.laogonggong.com/news/41911.html

相关文章:

  • 粮油移动端网页设计素材武汉seo网站优化
  • 做字素的网站免费的h5制作网站
  • 一个主机可以做几个网站一个网站如何推广
  • 学计算机需要什么基础新河seo怎么做整站排名
  • 科技网站设计公司排行榜电销系统
  • 人才网站的会计账如何做百度网盘官方下载
  • 视频网站空间安卓优化大师旧版本下载
  • 做网站公司长沙哈尔滨企业网站seo
  • 公司模板设计seo推广 课程
  • 如何做网站平台销售亚洲卫星电视网参数表
  • 中国建筑教育网官网证书查询北京优化网站推广
  • 淮北建筑大学长沙seo网络公司
  • 网站建设与动态网页免费发帖推广网站
  • 做实体店推广的网站竞价推广专员
  • 武汉网站开发建设网站排名工具
  • 优化型网站的好处西安官网seo
  • 网站建设代理平台网站seo关键词设置
  • 如何在网盘上做网站百度电脑版官网下载
  • 哈尔滨视频制作公司广州seo关键词优化外包
  • 做miui主题网站seo问答
  • 外贸做那种网站百度seo发包工具
  • 帮别人做网站备案怎样免费给自己的公司做网站
  • 沈阳建站价格珠海百度推广优化排名
  • 上海最靠谱的网站建设网络营销的推广
  • 如何做网站的搜索栏怎么让付费网站免费
  • 装修之家网站扬州seo博客
  • 泉州做网站公司黑龙江新闻
  • 财务公司网站模板站长工具亚洲高清
  • 做零售去哪个外贸网站网络运营推广
  • 设计师作品网站商家怎么入驻百度