Download and transcribe YouTube videos using yt-dlp and whisper-cpp
Project description
yt-transcribe
Download and transcribe YouTube videos using yt-dlp and whisper.cpp. Supports single videos and full channel batch mode with parallel workers.
Install
Homebrew (Apple Silicon Mac)
brew install pascalweiss/tap/yt-transcribe
pipx / uv (any platform, Python 3.10+)
pipx install yt-transcribe
# or
uv tool install yt-transcribe
Requirements: ffmpeg must be available on your PATH.
Usage
Single video
yt-transcribe "https://www.youtube.com/watch?v=VIDEO_ID"
Channel mode
Transcribe all videos from a channel (skips already-transcribed ones):
yt-transcribe --channel "https://www.youtube.com/@CHANNEL" -o ./transcripts --workers 4
Options
| Flag | Description | Default |
|---|---|---|
-m, --model |
Whisper model name or path to .bin file |
base |
--no-gpu |
Disable GPU acceleration (Metal) | off |
-l, --language |
Language code (en, de, auto, ...) |
auto |
-f, --output-format |
Output format: txt, vtt, srt, csv, json, all |
txt |
-a, --audio-format |
Audio download format | mp3 |
-k, --keep-audio |
Keep audio file after transcription | off |
-o, --output-dir |
Output directory | $YT_TRANSCRIBE_OUTPUT_DIR or . |
-c, --channel |
Channel URL for batch mode | |
--min-seconds |
Skip videos shorter than N seconds | 60 |
--amount |
Max new videos to transcribe (0 = all) |
0 |
--workers |
Parallel workers for channel mode | 1 |
--version |
Show version and exit |
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yt_transcribe-0.2.1.tar.gz.
File metadata
- Download URL: yt_transcribe-0.2.1.tar.gz
- Upload date:
- Size: 37.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ff515e8a76e1d8c79ecdbc82c5618602f033129e3ca35a41c3218ef9e080603
|
|
| MD5 |
dc8876489b1a5b29af9351162bf5e5a3
|
|
| BLAKE2b-256 |
d1589885453e78a019a7df3d7cc51e2108368961213ad7a8e2a7cb349773994e
|
File details
Details for the file yt_transcribe-0.2.1-py3-none-any.whl.
File metadata
- Download URL: yt_transcribe-0.2.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09c7552b5036d6a6713b860732f722b2c1efd8f397f0ebd74f2f15b9befc4dfd
|
|
| MD5 |
00824dcb2a07da538d9ce19e3d26941a
|
|
| BLAKE2b-256 |
e7394cf1587e7ccda05effa42bee1581601da2eb094254d0ab26888babd45f78
|