How does one go about creating screencasts, like this one?
Also see the related question: Should the use of screencasts be encouraged?
How does one go about creating screencasts, like this one?
Also see the related question: Should the use of screencasts be encouraged?
A good way is to use screenkey
(to display keypresses) and byzanz-record
(which records directly to small gifs).They are included in the Debian repositories, so they can be easily installed with
sudo aptitude install screenkey byzanz-record
Create a small script gifrec
and make it executable with chmod +x gifrec
(and add it to your path or ~/bin/
if you want to):
#!/bin/sh
#
# Usage: screencast-window [ARGUMENTS_FOR_BYZANZ_RECORD...]
#
# Take a video capture, in GIF format, of a single window.
#
# Written in 2010 by Suraj N. Kurapati <https://github.com/sunaku>
echo 'Usage: gifrec filename.gif (--duration=5)\n'
echo 'After selecting window place mouse over this window.'
echo 'When done recording click on mouse (to select this window'
echo 'and press Ctrl-c - this stops the recording.\n'
echo 'The gif can be directly uploaded to a Stackexchange post'
echo 'Select the window you want to video capture...'
byzanz-record $(xwininfo | awk '
/Absolute upper-left X/ { x = $4 }
/Absolute upper-left Y/ { y = $4 }
/Width/ { w = $2 }
/Height/ { h = $2 }
END { print "-x", x, "-y", y, "-w", w, "-h", h }
') --delay=3 --duration=60 -v "$@"
To perform a screencast do the following:
screenkey
screenkey
output is centered above itgifrec example.gif
. The scripts asks you to select a window: double click the terminal with Vim to select this window and focus it. Then move the mouse over the the other terminalCtrl-c
pkill screenkey
to stop screenkey
.This results in a gif like this (30 seconds, 219kb):
I used a custom-made tool to create the mini-screencasts in my answer: https://github.com/KeyboardFire/mkcast
It's quite simple to use for Vim screencasts (only tested in GNOME on Ubuntu):
Create a gnome-terminal
profile called mkcast
.
Check "Run a custom command instead of my shell" under the Title and Command menu of the preferences window, and enter vim
in the text entry field.
When you want to take a screencast, simply press Alt+F2, type newcast
, and press Enter.
When finished taking the screencast, quit Vim (:q!
). The finished screencast should now be saved to ~/out.gif
.
Check out showterm.
"Showterm lets your record a terminal session exactly as you experience it, right down to the syntax highlighting."
https://github.com/ConradIrwin/showterm
It essentially combines these technologies (which it credits on the website):
You can also use ttygif: