Skip to content

Multi-Threaded CLI player to render videos in a terminal as ASCII characters at watchable, variable frame-rate.

Notifications You must be signed in to change notification settings

sudoDeVinci/Ascii-Video-Player

Repository files navigation

Ascii-Video-Generator

A script to convert video frames into ascii art and display them in the command line.

  • Rather than the usual contuous scrolling, we use ANSI colour codes to manipulate the cursor. We can use this to redraw the current window, as well as resize the frames to the window dynamically.

  • A simple threaded queue was added to allow a buffer of frames to exist for smoother playback.

  • Framerate targets allow for adjusting the terminal size for better playback depedning on the system abilities. The player is very much IO bound as you'd expect.

  • This downsizes a given video and converts it into ascii art frame by frame. This works simply by matching the "pixel density" of a given ascii character to a light intensity range of a pixel within a greyscaled version of the video. An example can be seen below:

example raster

About

Multi-Threaded CLI player to render videos in a terminal as ASCII characters at watchable, variable frame-rate.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages