GitHub - joelibaceta/video-to-ascii: It is a simple python package to play video...
source link: https://github.com/joelibaceta/video-to-ascii
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
It's a simple python package to play videos in a terminal using ASCII characters.
Installation
pip install video-to-ascii
The installation should copy the main script to your PATH and making it available for general use.
How to use
Just run video-to-ascii your video path
in your terminal
$ video-to-ascii -f myvideo.mp4
How it works
Every video is composed by a set of frames that are played at a certain frame rate.
Since a terminal has a specific number of rows and columns, we have to resize our video to adjust to the terminal size limitations.
To reach a correct visualization of an entire frame we need to adjust the frame height to match the terminal rows, avoiding using more characters than the number of terminal columns.
When picking a character to represent a pixel we need to measure the relevance of that pixel's color in the frame, based on that we can then select the most appropriate character based on the intensity they represent.
The reduced range of colors supported by the terminal is a problem we need to account for. Modern terminals support up to 256 colors, so we need to find the closest 8 bit color that matches the original pixel color, we call this set of 256 colors ANSI colors.
Finally, when putting it all together, we will have an appropriate character for each pixel and a new color.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK