Skip to content

Play any local or YouTube video in a terminal window.

Notifications You must be signed in to change notification settings

jokelbaf/Video-to-ASCII

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video to ASCII

Code for video playback was taken from theriseof9/ascii-video-player. Improved performance and added a few more features.

About

Plays a video file as ASCII text on your terminal in realtime. High performance C++ code allows realtime smooth 60fps playback (depending on terminal size) with audio playback and A/V sync.

Support

Operating system compatibility:

OS Status
Windows ✅ Verified: Builds and runs.
MacOS ❓ Unknown: Should work in theory but untested.
POSIX-compliant OS ❓ Unknown: Should work in theory but untested.

Features

  • Smooth 60fps playback (depending on terminal size);
  • Audio playback;
  • A/V sync;
  • Supports YouTube video URLs;

Preview

Click to View YouTube video

Dependencies

During project development all dependencies were installed using vcpgk which guarantees that the project will build and run on Windows. If you are using another OS, you may need to install the dependencies manually.

  • FFmpeg (or FFPlay)
  • OpenCV
  • SFML / audio
  • HTTPLib
  • Nlohmann JSON

Usage

Building manually

  1. Install dependencies;
  2. Link dependencies to project;
  3. Build project;
  4. Open console and navigate to the folder where your exe file is located;
  5. Run the file in your console with either path to your video file or link to the YouTube video as an argument.

A few examples of how to run the program:

video_to_ascii.exe "C:\Users\user\Videos\video.mp4"
video_to_ascii.exe "https://youtu.be/mgh07DuvAWM?si=dK12xaNkWardKpGW"

Downloading pre-built executable

  1. Download the latest release from here (currently only Windows executables are available);
  2. Open console and navigate to the folder where your exe file is located;
  3. Run the file in your console with either path to your video file or link to the YouTube video as an argument.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Note that all libraries must be linked statically, to build a single exe file.

About

Play any local or YouTube video in a terminal window.

Resources

Stars

Watchers

Forks