Skip to main content

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 large-v3-turbo
--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
--tab Channel tab: videos, shorts, streams videos
--min-seconds Skip videos shorter than N seconds 60
--after Only videos after this date (YYYY-MM-DD, approximate)
--before Only videos before this date (YYYY-MM-DD, approximate)
--amount Max new videos to transcribe (0 = all) 0
--workers Parallel workers for channel mode 1
--version Show version and exit

License

MIT

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

yt_transcribe-0.3.1.tar.gz (38.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yt_transcribe-0.3.1-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file yt_transcribe-0.3.1.tar.gz.

File metadata

  • Download URL: yt_transcribe-0.3.1.tar.gz
  • Upload date:
  • Size: 38.3 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

Hashes for yt_transcribe-0.3.1.tar.gz
Algorithm Hash digest
SHA256 ea1f56949e50530679b7f9d8488b9dbbce3eee669f8d5c666fef2ed051ca345c
MD5 1090b954d7b3863a9fdd9a69db2d8b63
BLAKE2b-256 f7f85492c2b44efeab965e942847639a462bbdb0e62d18611bc198f0076249df

See more details on using hashes here.

File details

Details for the file yt_transcribe-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: yt_transcribe-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 14.3 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

Hashes for yt_transcribe-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e9dd0d338b5209f81429828691f0f6b47088612dea806049e3f26b2d5d9eef74
MD5 6372718ad99fb2a8eab0875c929fe68e
BLAKE2b-256 a9a749dd013e21275c5baf235f65a53ac91e2b5fc5e6e7e89f86eaa0f12fab78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page