#ffmpeg #terminal #media #media-file #render

app png2t

Render any media file supported by FFMPEG into your terminal!

1 unstable release

0.2.0 Oct 10, 2023

#228 in Video

MIT license

23KB
359 lines

🖼️ png2t 🎬

Who needs a GUI anyways?

Examples

TODO lol

What?

png2t is a fun little program that allows you to print out image or play a video format in a shell, so long as the shell supports ANSI escape codes!

How?

png2t was written entirely in Rust! It currently depends on FFMPEG being installed to the system, but later versions of this will hopefully use an internal image library rather than external shell calls. png2t decomposes videos into .exr image files of each of their frames, loads them into memory, then prints them as individual RGB pixels using ANSI Truecolor sequences. It even plays the sound!

Why?

It's cool!

Building

Unix

1. Install cargo to your system

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

2. Install ffmpeg

Debian-based:

sudo apt install -y ffmpeg

Fedora-based:

sudo dnf install -y ffmpeg

3. Clone this repository

git clone git@github.com:bepri/png2t.git && cd png2t

4. Build

cargo build --release

Resulting binary will be at target/release/png2t

Windows

1. Install cargo on your system:

2. Install FFMPEG for Windows

Downloads can be found at this link.

3. Clone this repository

git clone git@github.com:bepri/png2t.git && cd png2t

4. Build

cargo build --release

Resulting binary will be at target/release/png2t.exe

Dependencies

~18–66MB
~861K SLoC