You could use OBS, Open Broadcaster Software, which is open source that has features geared toward streaming, but could ultimately prove more valuable than "simple" screencasting software. For instance, want to show your code always even when you're googling answers? That is very easy in OBS.
I second OBS. It works great for capturing windows and screens. The only issue I had with it is that Windows Media Player won't play the "Advanced Video Codec" that it records with, so I had to run it through Handbrake.
On the flip side, I found that OBS brought my -- admittedly older -- MPB to its knees such that the app I was trying to show wouldn't perform. Huge lengths of video were frozen. Same on an older first-gen i7 Windows machine. I never did figure it out.
This is probably a configuration issue, although OBS has more issues OS X for a variety of reasons. I've ran OBS on my 10 year old PC while coding without much issue.
VLC is not optimized to prioritize video quality at all last time I saw or used it. Additionally, it felt clunky and seemed to perform worse than MPC-HC.
I wonder if it's just the profile that WMP has problems with. I'd be interested in comparing the `mediainfo` output of both a Handbrake and a OBS encoded video - I suspect Handbrake is still extremely conservative with what it outputs (at the expense of a bit of quality)
The only snag I've found is that in the fairly rare case that I want to record myself (usually the course introduction video for off-campus students), the sync between the audio and video is a bit out, whereas Quicktime etc tend not to have that problem. Not sure why -- I assume it's because OBS is always putting the video through some processing.
It's not out by much -- not enough to notice for a screen recording or doc-cam for drawing on paper -- but when there's a face in the video the lip-sync isn't quite right.
I believe this often has more so to do with the hardware/os. You can also alter delay of audio/video in OBS studio to sync things up better. I regularly stream and the only lag I have is due to a weird setup I have.
On OS X, Quicktime player can also record the screen, or part of the screen. File > New Screen Recording.
AFAIK by default, it will only record the mic and not the audio card output. I don't know of a free option to do that (does ffmpeg?), but I've found Rogue Ameoba's Loopback[1] to be invaluable to capture output from the soundcard and add it as an audio track in the Screencast
If you're using Linux only like me, Kazam is unbeatable to capture your screen. I got similar results with ffmpeg, but Kazam is just dead easy to use.
After that, in case you need some editing, I recommend Blender. It has a steep learning curve, but as long as you don't want to do really complex editing and your hardware is not too old, it is perfect and the results are great.
I used to use a ffmpeg approach to make my screencasts [1], but now I use OBS. Great piece of software. I wrote some notes about it some time back http://dabase.com/blog/Screencasting_from_Archlinux_gotchas/ and I think they've addressed all my issues.
Like the author, I've found that the x264 codec with the ultrafast preset does the best job of avoiding framedrops (which from what I've observed can be caused by either the CPU spending too long encoding or the disk spending too long writing data).
Gnome3 has already a screen recording functionality. Pressing Alt+Ctrl+Shift+R recording will start. There should be a red icon on the message tray in the right-bottom corner of your screen. If the message tray is hidden, Super+M will activate it. Pressing the red icon will stop the recording. The video is saved in the Video directory on your home directory on webm format."
I just use ShareX and enable sound recording in Task Settings -> Capture -> Screen recorder -> Screen recording options. Seems easier than downloading three separate pieces of software and recording each track individually then joining them...
You can also use https://jumpshare.com, which uses FFMPEG for screen recording. We built this app to help everyone be more productive. You can capture and annotate screenshots, record screencasts and audio clips, compose notes (in text, markdown, and code), and more.
For me, the cost of having to go through all those steps and learn all those tools is significantly higher than the $300 or so cost of buying Camtasia. For me, it's not just the time cost, but the energy and cognitive resources consumed by not paying for the easy solution.
...just offering an opposing perspective, I respect your approach.
For some reason that OS X recording command line (pasted in directly) won't work for me. I'm using ffmpeg 3.0, the latest from Homebrew. It seems to be OK until I try to open it in QuickTime and it says the file is broken. I wonder if OS X 10.11 is the problem -- what version are you on?
It's because of the color profile used by avfoundation, quicktime requires a specific profile. You should be able to open the file with mpv/mplayerX or VLC. If you want to open it with quicktime or imovie, you need to reencode the file with a specific color space, more info on the ffmpeg wiki[0] (Using -pix_fmt yuv420p should be sufficient). Sadly, you cannot record directly in yuv420p with avfoundation.
Screenr.com used to be an amazing and awesome tool for cheap user testing/screen recording. I would embed their widget and then go to Mechancial Turk and pay each tester $1 to go through various steps they recorded using the Screenr widget. It worked like a charm and was inexpensive compared to say $50 a pop at usertesting.com.
It sounds like Inspectlet might do what you need. It records DOM changes and mouse movement, rather than video, but watching recorded sessions feels similar to watching video.