YouTube Transcription with Whisper
A web application that allows you to transcribe YouTube videos with OpenAI's Whisper speech-to-text model.
Features
- Paste a YouTube URL and get a full transcription
- Support for individual videos and playlists
- Queue management with video thumbnails
- Real-time progress updates
- Download transcriptions in TXT and SRT formats
- Clean, responsive user interface
Installation
Prerequisites
- Python 3.7 or higher
- FFmpeg (required for audio processing)
- Git (optional, for cloning the repository)
Install FFmpeg
macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg
Windows:
Download from FFmpeg's official website or install via Chocolatey:
choco install ffmpeg
Setup Steps
- Clone the repository:
git clone https://github.com/yourusername/youtube-whisper-app.git
cd youtube-whisper-app
- Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- Windows:
venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- Windows:
-
Install dependencies:
pip install -r requirements.txt
- Run the application:
python app.py
- Open your browser and navigate to http://127.0.0.1:5000
Usage
- Paste a YouTube URL into the input field (supports individual videos or playlists).
- Click "Transcribe" to start the process.
- Watch the progress in real-time with the queue display.
- Click on any queued video to see detailed status.
- Once completed, preview the transcription and download in your preferred format.
Note on YouTube Restrictions
YouTube employs anti-bot measures that may block automated downloads. For best results:
- Run the application locally on your personal computer
- Use your browser's cookies with the
--cookies-from-browseroption - Access from a residential IP address
Technical Details
- Backend: Flask with Flask-SocketIO for real-time updates
- Audio download: yt-dlp for efficient YouTube download
- Transcription: OpenAI's Whisper speech recognition model
- Frontend: Vanilla JavaScript, CSS, and HTML
License
MIT
Description
Languages
Python
74.4%
C++
15.6%
C
5.3%
CMake
3.5%
Cuda
0.4%
Other
0.5%