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