Recently I tried to record a screencast with audio. I tried many of the options listed here and other websites. My goal was not to write a comprehensive summary of all tools available, but to find a single one which works.
In my case (after several hours of struggling) it was VOKOSCREEN which worked, so I did not look further.
My system is Linux Mint 15 Olivia, 64-bit, which is based on Ubuntu Raring.
This is my summary/log which I wrote while experimenting. Hope it will save you several hours:
avconv: audio and video get out of sync, audio is lagging behind
Tried all the options I could.
This is the command line I used:
avconv -f alsa -i pulse -f x11grab -r 15 -s 1024x768 -i :0.0 -vcodec wmv1 -acodec pcm_s16le -q 7 b4.avi
Byzanz: creates animated gif (not tried, since I need sound as well and longer screencast)
Eidete: unable to install (with 20 years of Linux experience, didn't try forever though)
gtk-recordmydesktop: creates ogg which is fine, but unable to convert to anything. Best converter was mencoder but is speeds up video (but not audio) so they get out of sync.
istanbul: freezes immediately
Kazam: if record area larger than ~640x480 memory starts leaking, leaving at most a few minutes before system becomes unresponsive. Many have reported similar issue, this is a known bug.
pyvnc2swf: Is a tool to record a VNC session. Not convenient if you want to record your own screen (not tried)
screenkey: advertised as a "screencast tool", but is not about recording your screen
tibesti: seems to be no longer maintained (since 2011), does not even install
Quality is good: both audio and video.
After recording I could compress the file to about 1:7 with mencoder without any loss of quality.
I discovered that it uses the following command line:
ffmpeg -f alsa -i pulse -f x11grab -r 15 -s 1024x768 -i :0.0+0,0 -vcodec mpeg4 -acodec libmp3lame -ar 48000 -sameq -r 15 my.avi
xvidcap: As stated above: "We've removed xvidcap from the repository now because it's no longer maintained." (not tried)
wink: distributed as downloadable executable not as package, (not tried)