It turns out I can create those movies in Java pretty easily. I made an application that ties into the RepaintManager (and listens for MouseEvents and ComponentEvents), and with that I'm able to get anywhere between 5 and 90 fps as I capture data using the Robot class.
Because I'm only capturing the parts of the window that are dirty, the size of your window doesn't matter: it's how much activity is taking place that counts. (Well, that and your processor speed. And RAM.)
Here is a demo of what this program can do:
Is it perfect? No. In my opinion the biggest two drawbacks are:
Also the mouse location sometimes is recorded out-of-whack (there are at least 2 parts in the demo movie where the mouse "jumps" for a fraction of a second).
So... whatever it's shortcomings may be: here is the demo program that captured the video above. Note it is bundled with my previous blog entry so it can write MOV files, but you're welcome to remove those classes if there's another way you'd like to encode the animation. (The animation is iterated through as a series of BufferedImages, so you can do whatever you like with it.)
(In the interest of full disclosure, I should point out the movie on this webpage was NOT directly created by this app. To publish the movie for the web, I re-encoded the movie this application created using MPEG-4 level compression.)
Also a truly professional-looking tutorial movie will not really record every mouse movement the user makes: it will smooth out your gestures to give you a super-human grace. (There will be no wobbly bits, no corrections, etc.). I suppose that wouldn't be too hard to do in this package: so long as you knew exactly where the start/stop points for a mouse gesture were...