How to record screencasts

From Inforail
Jump to: navigation, search

Generic requirements

  • Everybody loves high-res videos, please take that into account
  • The ones I make are usually 960x720
  • Try to keep the audio noise down, make a few test recordings and play with the sensitivity of the microphone before you begin


Hints

Making screencasts is very difficult, and it gets frustrating too. If you make a mistake, you will be tempted to stop the recording and start from scratch. After several iterations your morale is down. There are some ways to deal with that.


  • Milestones - divide the scenario into little bits (under 7 minutes, maybe even shorter), as soon as you're done with one bit - save it. Continue recording the remaining parts into other files. If something goes wrong, you will have to redo just the last part, not the whole thing.
  • Repeat - if you didn't say something correctly or something didn't go as expected, do not stop the recording - just repeat your last actions. Once you're done, remove the faulty part in post-processing.
  • Relax - you are not on national television, slang is acceptable.
  • Silence instead of "aaaahhmmm" or "uuuuuh" works very well.
  • Mistakes are a part of the learning process. Do not remove the parts in which the code does not compile or does not work correctly - leave that in the video, such that others can see how you've debugged the issue. It is very helpful, because they will be making similar mistakes.
  • Re-record audio only - sometimes the picture and the actions are right, but the audio is bad because you either forgot a word, or you pronounced it incorrectly. If this happens, you can replace a subset of the video's audio track, by re-recording it.
    • Extract the soundtrack into a separate file
    • Open it with an editor like Audacity
    • Select the problematic chunk and replace it with silence (via Generate in the main menu)
    • Record a new chunk in a separate track
    • Render a new WAV file, merging the existing tracks

Windows

  • CamStudio - the recording tool, open-source, has all the features you could ask for.
    • Enable the 'follow mouse' feature
    • To zoom the screen into a specific area, rely on Windows' built-in screen zooming tool (Win + NUM_PLUS, Win + NUM_MINUS)
  • VirtualDub - cut videos into chunks, remove unnecessary parts of the video
    • Make sure you enable the Direct stream copy feature, otherwise things will be much slower


Linux

  • To zoom in and out, rely on Compiz - it does it very well
  • recordMyDesktop (with a GUI front-end, ex: GTK-recordMyDesktop) - this tool works out of the box on my distro, it picks up the microphone correctly, there is no wizardry with Pulse-audio or ALSA. It just works.
    • Disable Encode on the fly to increase performance
    • Enable Follow mouse
    • To specify a custom video size, enter this in the Extra options - --width 1280 --height 720 (adjust the numbers to your needs)
  • Avidemux (with GTK front-end) - an equivalent of VirtualDub

Note that by default (at least on my platform), recordMyDesktop encodes the video in a way that Youtube cannot handle. To deal with that, I transcode it with ffmpeg, ex: (replace the size and the paths)

/usr/bin/ffmpeg -i "/home/alex/advice-01-input.ogv" -f avi -r 29.97 -vcodec libxvid -vtag XVID -s 920x720 -maxrate 1800k -b 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv -trellis -aic -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -ab 128k -ac 2 "/home/alex/advice-01-output.avi" 
  • Istanbul - does not pick up the microphone
  • XVidCap - does not provide a Follow mouse feature

YMMV