#terminal #media-file #ffmpeg #image #shell #ansi #escaping

app png2t

Render any media file supported by FFMPEG into your terminal!

2 releases

0.2.1 Jul 6, 2024
0.2.0 Oct 10, 2023

#1416 in Command line utilities

Download history 13/week @ 2024-09-12 9/week @ 2024-09-19 4/week @ 2024-09-26

66 downloads per month

MIT license

23KB
359 lines

🖼️ png2t 🎬

Who needs a GUI anyways?

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

Visit https://rustup.rs/ for installation instructions!

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

~10–56MB
~819K SLoC