bulk_transcribe_youtube_videos_from_playlist  by Dicklesworthstone

CLI tool for bulk YouTube video transcription

created 1 year ago
576 stars

Top 56.9% on sourcepulse

GitHubView on GitHub
Project Summary

This Python tool automates the transcription of YouTube playlists and individual videos using OpenAI's Whisper, enhanced by faster-whisper for local inference and optional SpaCy integration for NLP. It's designed for researchers, content creators, and educators needing to convert video audio into structured text with metadata.

How It Works

The tool downloads audio from YouTube videos using pytube, then transcribes it locally with faster-whisper (leveraging CUDA for GPU acceleration) or optionally via the OpenAI API. Transcripts are processed for sentence splitting using either SpaCy or regex, and metadata like timestamps and confidence scores are generated. Output includes plain text, CSV, and JSON formats, plus an HTML reader for improved usability.

Quick Start & Requirements

  • Install dependencies: pip install -r requirements.txt
  • Configure script variables (bulk_transcribe_youtube_videos_from_playlist.py) for video/playlist URL, and transcription method.
  • Run: python bulk_transcribe_youtube_videos_from_playlist.py
  • Requires Python 3.12, pytube, faster-whisper, spacy (optional), and optionally CUDA for GPU acceleration.

Highlighted Details

  • Supports both local faster-whisper (recommended for accuracy) and OpenAI API transcription.
  • Optional SpaCy integration for advanced sentence splitting.
  • Generates transcripts in TXT, CSV, and JSON formats, plus an interactive HTML reader.
  • Utilizes tqdm for progress tracking and asyncio for concurrent downloads.

Maintenance & Community

The project is maintained by Dicklesworthstone. Contributions are welcomed via pull requests on GitHub.

Licensing & Compatibility

Licensed under the MIT License. This permissive license allows for commercial use and integration into closed-source projects.

Limitations & Caveats

The OpenAI API transcription uses an older, less accurate Whisper model compared to the local faster-whisper implementation. CUDA support is required for GPU acceleration, otherwise, CPU will be used.

Health Check
Last commit

5 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
32 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.