I'm trying to export (pipe) the output device CACA in FFMPEG whithout sucsess.

The script work's fine, but no OUTPUT is recorded.

ffmpeg -i final3.mp4 -pix_fmt rgb24 -color fullgray -window_size 244x66 -f caca - | ffmpeg -i - output.mp4

Please help me!!!


When you use the -f caca - arguments, you are telling ffmpeg to convert frames of a video to a text approximation of the image, then write the text to your screen via stdout. The output text isn't in a video format, it is text that your terminal or console can understand.

It would be like if you used text to speech to convert a sentence into an audio file, and then tried to take that audio file and pipe it into a text file. To do what you're trying to do, you'll need to account for the fact that the text output needs to be rendered in a terminal (or something like a terminal) and then recaptured.

Luckily there are several routes to do what you're trying to do. I'd start here: http://stariocek.asuscomm.com/watch-ascii-libcaca.html That page contains a script where ffmpeg is used to output frames of a movie to image files, then the image files are converted to an HTML file (the HTML file would look a lot like the output of libcaca), then those HTML files are output using img2txt, then those HTML files are rendered to image files with webkit2png, and finally the image files are recombined into a movie using mencoder.

An alternative route would be to use VLC to render the video using libcaca (vlc --vout caca final3.mp4, then capture the resultant output using a standard desktop capture tool (like QuickTime Screen Recording if you are on a Mac).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.