HowTo:ScreenCast
On Mac OSX, you should be able to create screen recordings from QuickTime (File -> Screen Recording).
There are two great methods for screen capture on Linux.
The first is an old-school terminal capture agent, ttyrec and ttyplay. They store and play back the traditional 80x24 color terminal to millisecond accuracy.
The second is a X-windows based capture from our friends at ffmpeg, and worked out by a friendly hacker [1]. The command that worked for me was:
<source lang="bash"> ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1024x600 -i :0.0 -sameq -acodec pcm_s16le output.avi </source>
You can also single out a window using:
<source lang="bash"> xwininfo | grep -e Width -e Height -e Absolute </source>
and the clicking in a window, adding (e.g.) the options to ffmpeg
<source lang="bash">
-s 664x486 -i :0.0+383,184
</source>
The result can be compressed with
<source lang="bash"> ffmpeg -i output.avi -acodec libmp3lame -ab 128k -ac 2 -vcodec libxvid -qscale 8 -me_method full -mbd rd -flags +gmc+qpel+mv4 -trellis 1 -threads 0 our-final-product.avi
- or
ffmpeg -i output.avi -an -vcodec libvpx -b 1000k -pass 1 our-final-product.webm ffmpeg -i output.avi -acodec libvorbis -ab 128k -ac 2 -vcodec libvpx -b 1000k -threads 2 -pass 2 our-final-product.webm
- or
ffmpeg -i output.avi -acodec libvorbis -ab 128k -ac 2 -vcodec libtheora -b 1000k our-final-product.ogg </source>
for a completely free file.
A range can be selected with, e.g. <source lang="bash">
-ss 00:00:10 -t 00:07:22
</source>
The HTML5Video MediaWiki extension lets you play these formats easily within most modern browsers.