Home / Blog / X window screencast recording script with ruby and ffmpeg

History always repeats itself and sometimes that's good. Here's a second chance to be part of it: tmdtc.com

X window screencast recording script with ruby and ffmpeg

As I didn't find a satisfactory solution to record screencasts, I decided to write a small script tailored to my needs, which were:

  • stable solution, not crashing 50% of the time
  • ability to select the window to record
  • ability to pause and restart recording the same area of the desktop
  • ability to record sound during the capture
  • work with Free/Open Source Software

That's not too much asked I guess.... Anyway, here's the solution: screencaster.rb , a 55 line ruby script using ffmpeg.

When you start, it asks you to click on the window you want to record and what's the directory name (place in /tmp) in which to store the movie(s). It then starts right away recording that region of your desktop. In the terminal where you launched screencast.rb, type p followed by Enter to pause the recording. Then to restart recording, type n followed by Enter (it records each part in separate files). To quit, enter q+Enter.

I've used it to record a screencast, and it worked flawlessly. To produce the final file, I used .Kdenlive

Note: in addition to ffmpeg, it also depends on xwininfo


Log in or create a user account to comment.

I'm available for hire 

If you're looking for someone to temporarily join your IT team, or if you need help to put IT to work in your company, I'm ready to help. Contact me now !

Mon Tue Wed Thu Fri Sat Sun
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31