LinuxCommandLibrary

cacaplay

Play ASCII art animations

SYNOPSIS

cacaplay [options…] [filename…]

PARAMETERS

-h, --help
    Print short help message

-V, --version
    Print program version

-l, --list-drivers
    List available output drivers

-d DRIVER, --driver=DRIVER
    Select display driver (e.g., ncurses, raw)

-f FORMAT, --format=FORMAT
    Force input video format (mpeg, avi, mov, etc.)

-x WIDTH, --width=WIDTH
    Scale video to WIDTH characters wide

-y HEIGHT, --height=HEIGHT
    Scale video to HEIGHT lines high

-r RATIO, --ratio=RATIO
    Set physical aspect ratio (e.g., 4/3)

-g GAMMA, --gamma=GAMMA
    Set gamma correction value (0.1-10.0)

-s DELAY, --delay=DELAY
    Set frame delay in milliseconds

-L, --loop
    Loop video playback

-D, --daemon
    Daemon mode (ignore keyboard)

-v, --verbose
    Increase verbosity level

DESCRIPTION

Cacaplay is a command-line tool from the libcaca (Colour ASCII Art) library that converts and plays video files directly in the terminal emulator. It decodes video frames using libraries like FFmpeg or libavformat and renders them as high-contrast ASCII characters with ANSI escape codes for colors and attributes.

Supporting formats such as MPEG, AVI, MOV, and more, cacaplay provides a nostalgic, low-bandwidth playback experience perfect for text-only environments, remote sessions, or fun demos. The output scales to fit terminal dimensions, with adjustable width, height, gamma correction for contrast, and frame delays. It uses various output drivers (e.g., ncurses, raw, gem) for flexibility across terminals.

While not suited for high-fidelity video, it's CPU-intensive for real-time conversion but offers unique visual effects like dithering patterns. Keyboard controls include pause (space), quit (q), and seeking in some modes. Ideal for enthusiasts of ASCII art or constrained systems.

CAVEATS

CPU-intensive for HD videos; requires color-supporting terminal; limited format support depends on linked libraries; no audio playback.

EXAMPLES

cacaplay video.mpg
cacaplay -x 80 -y 24 -L file.avi
cacaplay -d ncurses -g 1.5 movie.mov

INSTALLATION

Debian/Ubuntu: apt install caca-utils
Fedora: dnf install libcaca-utils

HISTORY

Part of caca-utils from libcaca project, initiated by Sam Hocevar in 2002; cacaplay added circa 2006 for video support; actively maintained with modern distro packages.

SEE ALSO

cacaview(1), img2txt(1), cacaserver(1), ffmpeg(1)

Copied to clipboard