Files
ytts/README.md
2025-04-02 21:44:17 -07:00

94 lines
2.2 KiB
Markdown

# 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](https://ffmpeg.org/download.html) or install via Chocolatey:
```
choco install ffmpeg
```
### Setup Steps
1. Clone the repository:
```
git clone https://github.com/yourusername/youtube-whisper-app.git
cd youtube-whisper-app
```
2. Create a virtual environment:
```
python -m venv venv
```
3. Activate the virtual environment:
- Windows: `venv\Scripts\activate`
- macOS/Linux: `source venv/bin/activate`
4. Install dependencies:
```
pip install -r requirements.txt
```
5. Run the application:
```
python app.py
```
6. Open your browser and navigate to http://127.0.0.1:5000
## Usage
1. Paste a YouTube URL into the input field (supports individual videos or playlists).
2. Click "Transcribe" to start the process.
3. Watch the progress in real-time with the queue display.
4. Click on any queued video to see detailed status.
5. 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-browser` option
- 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