Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was helping out a friend working on a presentation where he wants to show some videos he has taken but converted to ASCII art. I can do that quite easily with mplayer on a Linux box using aalib (-vo aa). But that only plays the movie, transcoding it live. What I would like to do is to convert those videos to ASCII art and save them in files so that they can be played in a loop on some regular video players (be that vlc, wmediaplayer, whatever).

I have played around with mplayer / mencoder trying to dump streams, videos, piping it to fifos, standard output and so on but I just can not seem to find any way of doing this.

Has any of you done this before and if yes, how?

Thanks a lot!

share|improve this question
+1 for using aalib! – AndrejaKo Oct 16 '11 at 14:32
:) Thanks, it rocks! – danakim Oct 16 '11 at 16:12
that would be an awesome addition to some keygens...just saying. – RobotHumans Oct 22 '11 at 1:14
Sorry, don't know how to save the output. But if you wanted to play the files in ASCII mode on VLC. It already supports playing files in colour ASCII. Just select it in options under "output". – Dracs Nov 10 '11 at 13:54
hmmm... is there an ascii-art codec already? I mean, for actually storing it. You know, like diff frame by frame, then tar -cz... – n611x007 Dec 22 '12 at 9:21

Aalib is incredible. I think the problem is that the mplayer output is in a different window making direct piping difficult. Here are a few routes you could take:

  • One option, is to record the entire desktop. This SE link demonstrates a way to record the entire screen using ffmpeg.

Record entire screen from terminal

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

Then, start the video, maximize the window, wait until it stops, and stop the recording. Crop the screen dimensions and time of the screen capture video manually or with a script. The drawback here is that the work flow is greater than the real time of the video playback.

  • Recording an xterm is another route, but my xterm display never has the aesthetic beauty of my other settings.

  • If you have a tripod, camera, and patience, you could record playback with an analog work flow. Aesthetics go through the roof, but that feels kind of silly.

  • You have the most live playback options playing through mplayer so I would suggest setting up a Linux for your friend as the best option for playback. Also, you can loop the video by using the loop switch:
    -loop 0

I also struggle with recording aalib. I would love to know a better way of doing this. If you find out, please share with me.

share|improve this answer

Just start your video player in xterm or any other terminal and capture this to mpgeg/avi/whatever video file using some screen recording tool. Two examples are in this post: How can I capture frames from X11 into a file?

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .