Play your favorite video in your favorite terminal. In ASCII art.
cargo run -- path/to/video.mp4Optional --fps to set playback speed (default 24):
cargo run -- video.mp4 --fps 30Terminal size is detected automatically. If stdout isn’t a TTY, it falls back to 80×24.
The video is decoded on a separate thread and sent over a small bounded channel. The main thread turns each frame into a grid of characters (using a simple luminance-to-character ramp), clears the screen, prints the frame, and sleeps until the next one. Only a few frames are decoded ahead, so memory use stays low.
tplay is a more capable alternative; the main drawback, if any, is its heavy dependencies (especially OpenCV).