Skip to main content

ytascii-player

Play any YouTube video as synced, true-color ASCII art in your terminal.

pip install ytascii-player
ytascii "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

That's it — no cloning a repo, no copying .py files, no python script.py syntax, and no separate ffmpeg/yt-dlp install. pip install is genuinely all that's needed.

Requirements

  • Python 3.8+ — that's it. Everything else is a normal pip dependency: yt-dlp (used as a Python library, not a CLI tool), opencv-python, numpy, and imageio-ffmpeg (ships a real ffmpeg binary inside the pip package itself, so there's nothing to separately download or add to PATH).

Usage

ytascii "https://www.youtube.com/watch?v=VIDEO_ID"
ytascii "URL" --width 140
ytascii "URL" --mode grayscale
Flag Default Description
--width 120 ASCII art width in characters. Higher = more detail, more CPU.
--mode color color = true 24-bit RGB per character. grayscale = classic single-color, faster.

Press Ctrl+C anytime to stop playback.

Tuning tips

  • Maximize your terminal and shrink the font (try 8pt) before running.
  • Windows Terminal renders far more smoothly than the legacy conhost cmd window.
  • If playback is choppy, lower --width or use --mode grayscale.

Troubleshooting

ytascii : command not recognized, right after installing Pip installs the command into a Scripts folder that isn't always on your system's PATH by default — this depends on how Python itself was installed on your machine. Two options:

  1. Quick workaround, no setup changes: run python -m ytascii.cli "URL" instead — this works immediately because it doesn't rely on PATH at all.
  2. Permanent fix: when you ran the install, pip prints a warning like The script ytascii.exe is installed in 'C:\...\Scripts' which is not on PATH. Copy that exact folder path, then: Win key → search "Environment Variables" → Edit environment variables for your account → select PathEditNew → paste the folder → OK. Open a new terminal and ytascii will work directly.

'pip' is not recognized Same PATH issue, one level up. Use python -m pip install ytascii-player instead, which works regardless of PATH.

Legal note

Only use this on videos you have the right to download — your own uploads, Creative Commons content, or otherwise permitted use.

For developers: installing from source

git clone <this-repo>
cd ytascii-player
pip install -e .

-e installs in "editable" mode — code changes apply instantly without reinstalling.

Publishing (maintainer notes)

pip install build twine
python -m build
twine upload dist/*

Username is literally __token__; password is your PyPI API token from Account Settings → API tokens. Remember to bump the version number in pyproject.toml and src/ytascii/__init__.py before every new upload — PyPI never allows re-uploading the same version number.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytascii_player-0.2.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

ytascii_player-0.2.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file ytascii_player-0.2.0.tar.gz.

File metadata

  • Download URL: ytascii_player-0.2.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.9

File hashes

Hashes for ytascii_player-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c3cf823e12b9e746eff467738d1f7c92c431a3e6631a41b1353b2da72ae45386
MD5 35639889a250864acef04ad0b76871ee
BLAKE2b-256 811877535b10d3c7d4df4b77ec104af79a5e9f1603ef705a3e48ba90189c6517

See more details on using hashes here.

File details

Details for the file ytascii_player-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ytascii_player-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.9

File hashes

Hashes for ytascii_player-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49edc37062e79edc09a2f79ba2ae87c5b3b75d99855836921422e179e6c21976
MD5 05b3471d3c63f44deeb14a818854d9cb
BLAKE2b-256 0297378d6d9c8b0e34088856263f22551d348defda72834f2c7c6ccb1e088083

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page