ascii-video

Convert video, audio, and generative input into colored ASCII character MP4 and GIF video.

Updated Jun 7, 2026
One-click install
npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill ascii-video-chensihakniroth
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ascii-video
Source: https://github.com/Chensihakniroth/ANAKOT-AGENT/tree/main/skills/creative/ascii-video
Command: npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill ascii-video-chensihakniroth

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, pillow, scipy, opencv, ffmpeg, and includes references (resource) components.

What problem does it solve? Creating animated ASCII art video from scratch requires solving font rasterization, grid composition, audio analysis, shader post-processing, and ffmpeg encoding all at once, which is a large amount of specialized pipeline code to design and debug. ## Core Features & Use Cases - Six Input Modes: Convert existing video to ASCII, build audio-reactive visualizers from FFT and beat analysis, generate procedural animations from math, or combine video, audio, lyrics, and TTS narration. - Full Effect Vocabulary: 21 value field generators, 24 character palettes, 38 composable shaders, 20 blend modes, particle systems, feedback buffers, and masking for layered multi-grid composition. - Hardware-Adaptive Rendering: Auto-detects CPU and RAM, selects quality profiles from 540p draft to 4K, and parallelizes encoding across workers piping raw RGB frames to ffmpeg. - Use Case: Give the agent an audio file and ask for a 3-minute music visualizer; it writes a single Python script with beat-triggered particles, per-section palettes, and a shader chain, then renders a 1080p MP4. ## Quick Start Use the ascii-video skill to turn my song 'track.mp3' into an audio-reactive ASCII music visualizer at 1080p.

Frequently Asked Questions about ascii-video

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a video to ASCII art in Python?▼

Decode the source video with ffmpeg, sample per-frame luminance and edges, map brightness values to a sorted character palette on a fixed grid, then composite pre-rasterized font bitmaps onto a pixel canvas and pipe raw RGB frames back to ffmpeg for H.264 encoding.

How to make an audio-reactive ASCII music visualizer?▼

Analyze the audio with SciPy FFT to extract frequency bands, RMS energy, spectral centroid, and beat detection per frame. Drive value field generators, particle systems, and beat-reactive shaders from those features, then render and encode with ffmpeg.

Does ASCII video rendering require a GPU?▼

No GPU is required. The pipeline runs on CPU using NumPy vectorized operations and Pillow font rasterization, with concurrent.futures workers for parallel encoding. Hardware detection adapts resolution and worker count automatically.

Why is my ASCII video output too dark?▼

ASCII characters are small bright dots on black backgrounds, so linear brightness multipliers clip highlights while leaving frames dark. Use percentile-based adaptive tonemapping with gamma correction around 0.75, lowering to 0.50-0.60 for solarize or posterize scenes.

Why does ffmpeg hang during long video encoding?▼

Setting stderr=subprocess.PIPE on a long-running ffmpeg process deadlocks once the buffer fills at roughly 64KB. Redirect stderr to a log file instead and keep stdin as the raw frame pipe.

What are the limitations of ASCII video rendering?▼

The per-cell Python compositing loop runs at roughly 100-150ms per frame, so a 5-minute 1080p video takes about 17-33 minutes on typical hardware. Unicode palette characters may also render as blank glyphs in some fonts and must be validated at initialization.