🎬 ASCII Live
Play YouTube videos and local files directly in your terminal as high-fidelity ASCII art.
Experience video playback like never before, rendered in real-time using ANSI escape codes and half-block characters for a surprisingly detailed "pixelated" look.
✨ Features
- 📺 YouTube Support: Play any YouTube video by simply providing the URL.
- 📁 Local Files: Play MP4, MKV, AVI, and other local video formats.
- 🔊 Audio Sync: Real-time synchronization between ASCII video and audio tracks.
- ⚙️ Highly Flexible:
--no-audio: For silent playback.--fps: Override default frame rates.--quality: Choose between performance or detail.--bw: Sleek monochrome mode.--size: Manual resolution overrides.
- ⌨️ Interactive Controls:
[Space]Play/Pause[←] [→]Seek 10s back/forward[Q]Quit
🚀 Installation
Prerequisites
- Python 3.8+
- ffmpeg (Required for audio extraction)
- Windows:
choco install ffmpegor download from ffmpeg.org - Linux:
sudo apt install ffmpeg - macOS:
brew install ffmpeg
- Windows:
Install from PyPI
pip install ascii-live
📖 Usage
Play a YouTube Video
ascii-live "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
Play a Local File
ascii-live movie.mp4
Options
# Play without audio
ascii-live "URL" --no-audio
# Force a specific resolution
ascii-live "URL" --size 80x40
# Play in Black & White
ascii-live "URL" --bw
# Set a custom FPS
ascii-live "URL" --fps 15
🛠️ How it Works
ASCII Live uses OpenCV to decode video frames, yt-dlp for stream handling, and Pygame for high-performance audio playback. The renderer uses a custom-built ANSI half-block algorithm that packs two vertical "pixels" into a single character cell, effectively doubling the vertical resolution.
📄 License
Licensed under the Apache License 2.0. See the LICENSE file for details.
Metadata
Release files for ascii-live 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ascii_live-0.3.0.tar.gz | 12.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ascii_live-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.0 kB
Release files / ascii_live-0.3.0.tar.gz
| Download URL | ascii_live-0.3.0.tar.gz |
|---|---|
| Size | 12.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28b1daf77e6e6abc2a9d39b1e01067474be6f830508cc5acee7c60daa78e864d
|
|
BLAKE2b-256 checksum How to use checksums |
506c70e1aaddef361b20a41b522c4e9d69e06816360104101fabf1538e2b51cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / ascii_live-0.3.0-py3-none-any.whl
| Download URL | ascii_live-0.3.0-py3-none-any.whl |
|---|---|
| Size | 12.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65bd17a936bbdbead22737c471693f7fb3c05ad558ffcc4007ea01b998db374c
|
|
BLAKE2b-256 checksum How to use checksums |
7fe59ab43edd30d33b97d1007644f77c98a8bb09992154c4aceab7e6bfe296a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for ascii-live 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.