通过Whisper模型将YouTube播放列表中的视频转换成高质量文字稿的项目

项目简介

一个通过Whisper模型将YouTube播放列表中的视频转换成高质量文字稿的项目。

这个基于 Python 的工具旨在将 YouTube 视频和播放列表转录为文本。它集成了多种技术,例如用于转录的 Fast-Whisper、用于自然语言处理的 SpaCy 以及用于 GPU 加速的 CUDA,旨在高效处理视频内容。该脚本能够处理单个视频和整个播放列表,输出准确的文字记录和元数据。项目核心内容:

1、YouTube下载:使用pytube下载YouTube视频或播放列表的音频。

2、音频转录:利用faster_whisper.WhisperModel将音频转换成文字。

3、NLP处理:可选地整合SpaCy,用于改进句子分割,提高文字稿的可读性和结构。

4、CUDA加速:实现CUDA支持,用于兼容硬件的处理速度提升。

这个工具适用于内容分析、辅助创建视频字幕和封闭字幕、教育目的以及视频内容的存档和检索。

功能概述

核心组件

  • YouTube 下载:使用 pytube 从 YouTube 视频或播放列表下载音频。

  • 音频转录:利用 faster_whisper.WhisperModel 将音频转换为文本。该模型是 OpenAI 的 Whisper 的变体,旨在提高速度和准确性。

  • NLP 处理:可以选择集成 SpaCy 以进行复杂的句子分割,从而增强转录本的可读性和结构。

  • CUDA 加速:实现对 GPU 利用率的 CUDA 支持,提高兼容硬件的处理速度。

详细工作流程

  1. 初始化:

    • 该脚本首先根据 convert_single_video 标志确定是处理单个视频还是播放列表。

    • 它设置必要的目录来存储下载的音频、文字记录和元数据。

  2. 环境配置:

    • 将 CUDA Toolkit 路径添加到系统环境以供 GPU 使用。

    • 根据 CPU 核心数配置用于转录的工作线程数量。

  3. 视频处理:

    • 对于播放列表中的每个视频或单个视频,脚本都会下载音频。

    • 它确保每个音频文件的唯一命名以避免覆盖。

  4. 转录:

    • 音频文件被传递到 WhisperModel 进行转录。

    • 如果可用,该脚本会处理 GPU 加速,否则默认为 CPU。

    • 使用 SpaCy 或基于自定义正则表达式的拆分器将转录结果拆分为句子。

  5. 元数据生成:

    • 除了脚本之外,脚本还会生成元数据,包括每个片段的时间戳和置信度分数。
  6. 输出:

    • 记录以纯文本、CSV 和 JSON 格式保存,提供原始记录和结构化元数据。
  7. 显示/读取:

    • 为了使文字记录更易于阅读,提供了一个 html 文件 transcript_reader.html ,它可以进一步清理并提供"阅读器模式",您可以在其中选择字体、文本大小、文本宽度和切换深色模式。只需在浏览器中打开此 html 文件,然后粘贴 generated_transcript_combined_texts 文件夹中生成的文件之一的转录文本即可。
实际操作的屏幕截图
将成绩单文本粘贴到成绩单阅读器 HTML 文件中 使用深色模式和 Cambria 字体的阅读器

项目链接

https://github.com/Dicklesworthstone/bulk_transcribe_youtube_videos_from_playlist

相关推荐
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_56:(HTML 表格基础完全指南)
前端·javascript·ui·html·音视频
泰兰尼斯稳稳鞋3 小时前
推荐一款视频无损裁剪的软件:losslesscut
音视频·视频剪辑·视频无损裁剪
EasyDSS4 小时前
企业级融媒体生产管理平台/智能会议管理系统EasyDSS构建一体化应急视频指挥体系
音视频·媒体
大拿爱科技6 小时前
视频里的字幕和文案怎么批量提取?从ASR到内容复用的工具拆解
aigc·音视频·语音识别
ZC跨境爬虫7 小时前
跟着 MDN 学 HTML day_55:HTML 音频与视频嵌入实战指南
前端·javascript·ui·html·音视频·媒体
aqi008 小时前
FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid
android·ffmpeg·kotlin·音视频·直播·流媒体
福大大架构师每日一题8 小时前
ComfyUI v0.21.0 更新解读:视频音频同步加载、PyAV 图像引擎切换、动态显存优化、云端与工作流能力全面升级
音视频·comfyui
ZC跨境爬虫8 小时前
跟着 MDN 学 HTML day_57:(HTML 表格进阶特性与无障碍实践)
java·前端·javascript·ui·html·音视频
网管NO.19 小时前
视频核心技术 01:视频基础概念 —— 帧、分辨率、帧率、码率、YUV 色彩系统全解
音视频
网管NO.19 小时前
视频核心技术 04:封装格式详解 —— MP4、FLV、TS、MKV 到底有什么区别?
音视频