Download this utility
My job occasionally involves hosting “Brown Bag” type sessions where I demonstrate a technology to other folks in the office. The topics can range from Web Services to basic .NET stuff to Remoting etc.
Recently I decided to demonstrate Biztalk 2004 including the integration with Visual Studio, the new orchestration designer, the pipeline editor, mapper and schema designer and so on. Traditionally this would mean I create a PowerPoint presentation and some sample code on my laptop, get everyone together over lunch and project the entire thing onto a big screen with an overhead projector.
Couple of issues with this are that
a) It means getting everyone who’s interested together at one time. When some folks are in Bangalore India, New Delhi India, Chicago, Boston or offsite at a client that can be difficult.
b) If I ever needed to give the demo again it would mean setting up the entire thing, including the project from scratch. This sucks when you’re dealing with Biztalk as the system is very complicated, even for the simplest orchestrations and to set it up takes a lot of time and planning.
c) If heaven forbid something went wrong during the demo, I have to scramble and debug it on the spot which rarely happens but when it does it’s a nightmare.
So, the answer I felt was to somehow record the session offline into a movie and make the movie available on our corporate network.
I figured I’ll just download some free software and get started. I come to find out there really is no free software and I’m not about to spend my hard-earned cash just to give a demo for the good of my health. Especially with a compiler and Visual Studio gleaming in my Programs menu.
So last week once my daughter had gone to bed I fired up Studio and whipped up a simple utility to capture screenshots every X milliseconds and convert them into an AVI file. It’s multi-threaded and gets pretty good performance without slowing down what you’re trying to demonstrate.
It also draws a fake mouse “pointer” as it’s not possible to capture the mouse image with a screenshot.
Since AVIs can get pretty large, it automatically chunks the screenshots so for example, every 50 screenshots it’ll start a new AVI file.
Lastly it captures audio in the form of a WAV at about 11Khz which isn’t CD quality but is good enough to get the message across without bloating the resulting movie.
Once you have the AVI and the WAV, these can be combined using Windows Movie Maker into a WMV file or into an MPEG2 encoded movie using TMPGEnc. Both are free.
So now I have a complete presentation with mouse-movements and audio stored in about 5 WMV files, each about 20MB in size that I can distribute to whomever’s interested. The entire thing’s about 1 hour in length. Not bad for a weeks’ work.
You can download the utility from this site [HERE] , instructions on how to use it are included in the README.txt.