gitmyhub

subwayCLI

Go ★ 36 updated 15d ago

endless subway surfers gameplay rendered right in your terminal

A Go program that plays video inside your terminal by converting each frame into ASCII characters, with a Subway Surfers clip built in so it works immediately after install.

Goffmpegsetup: moderatecomplexity 2/5

subwayCLI is a Go program that plays video directly inside a terminal window by rendering each frame as ASCII characters. The project ships with a default Subway Surfers gameplay clip embedded in it, so it works out of the box without any additional media files.

The only external requirements are Go 1.22 or later and ffmpeg installed and available on your system path. Ffmpeg is an open-source tool for decoding video and audio; subwayCLI uses it to process each video frame before converting it to text characters sized to fit the terminal. The terminal output resizes automatically to match the current dimensions of your terminal window.

You can run the program directly with go run, build a standalone binary using the included Makefile, or install the binary to a system-wide location for permanent use. On macOS, the README shows placing it in the Homebrew bin directory so the command is available from anywhere on the command line.

A flag controls the playback frame rate. If you want to play a different video instead of the default Subway Surfers clip, you supply a path to a local video file. Width and height flags let you set a specific output size rather than relying on the automatic terminal detection. The README is brief and focuses entirely on installation and invocation; it does not explain how the ASCII conversion is implemented internally, what encoding formats are supported, or what happens when the terminal is resized during playback. The supported input formats are whatever ffmpeg handles on the platform, which covers most common video types.

Where it fits