“A picture is worth a thousand words” – Attributed to Fred R. Barnard
What is screen-cast:
Screen-cast is a video capture of what ever actions happen on your computer screen. It can capture user interaction and what’s more even sound can be recorded at the same time. The screen cast can then be replayed while conducting, say, a training program to demonstrate visually how to accomplish tasks.
Why screen-cast:
It is much easier and quicker to share your thoughts and ideas in pictures. That is why so much emphasis is laid on creating presentations rather than giving written papers. When doing any sort of software training it can be very useful to have a graphics shots of computer screen for each and every step. while the application is launched and run this is accomplished by taking screen-shots while running your programs and use these is a presentation. However a better method is to make a complete video to cover step by step use of software which can make the training program a super success. Alternatively you can use screen-casts to post on internet video sites like Goggle Video or You Tube for educational value.
Commercially many videos are available for training from vendors but usually these come with their own set of drawbacks:
-
How to locate such video in a hurry
-
As they are commercially produced the costs can be high, especially for custom training programs
-
You do not get videos in case of any special software or customised software
-
Language used in commercial product may not suit your audience
-
One size fits all philosophy used by commercial vendors rather than customising to your needs
So the obvious answer is to create your own training videos / screen-cast. Which leads us to ask “How to create screen-casts?”
This was a problem for Linux users for a long time but is now becoming thing of the past. As usual under Linux there are many solutions but one of my favourite is “recordMyDesktop” and its more user friendly companion “gtk-recordMyDesktop”. Both packages are available for most of the popular distributions like Ubuntu, Debian, Fedora etc. and can be downloaded and installed from the repositories.
Despite an ungainly, but intuitive, name it is very easy to use and set up. In fact almost within minutes of downloading and installation you can be creating your screen-casts.
Under Ubuntu all I had to do was go to launch from menu “System>Administration>Synaptic Package Manager”, give password for administrative rights. Once synaptic is launched use search button to locate “gtk-recordmydesktop”, choose the package for installation and then click on “Apply” button to start downloads and installation. When you choose the package for installation synaptic takes care of all dependencies and installs them as well. For the purists you can do the same from command line by giving the command in a terminal “sudo apt-get install gtk-recordmydesktop” and approving installation of all dependencies. Similarly you can proceed to install under fedora using yum and so on. However for purpose of this article I am using Ubuntu installation as the base.
Once installed you can only find the application is you restart X (or easier to restart the computer) After login it can be launched from the menu “Applications>Sound&Video>gtk-recordMyDesktop” This is something that could be hopefully taken care of in the next release.
Interface:
Once launched two things happen. One a small “red button” attaches itself to the task-bar and two a program window will open up giving allowing you to do some tweaking in the program set up. As far as the program window is concerned it provides you with option of controlling what is to be recorded, quality of video and audio recordings as well as some hardware software settings. Apart from this it also has a preview windows showing the complete desktop.
First thing you should do is to set the area of recording. By default the complete desktop would be recorded. However by using “Select Window” button and use the mouse pointer to select the area for recording. When the mouse pointer comes on top of preview windows it turns to cross-hair. Use this to select area you want to record by point-click-drag action of mouse.
At this point you are set to record your first screen-cast and if you click on the “red” button icon on the tool bar or the “Record” button in program window recording is started and the program window is hidden. While in recording mode the icon in task bar changes to a “grey” square. Now onwards any action that happens in the area under recording is captured in a temporary file till you stop recording.
To stop recording a session click on the “grey” icon and automatically a small windows showing progress of encoding process pops up. It is important to wait for this process to be finished before moving further. If you press cancel button while encoding is not complete all you recording will be trashed.
After encoding is over you are returned to the main program window. Where you can save your recording for use or editing by clicking on the “Save As” button on the bottom right. Usual file menu pops up to help you store your recording under given file name and location. The output can only be saved in OGG format and if you want to convert this to some other format you will have to use some other conversion tools.
Advanced options:
Clicking the button for advanced options opens up preferences dialogue box with all preferences / settings grouped in to four tabs Files, Performance, Audio and Misc. Built in tool tips give good guidance and pop-up as soon as you hover your mouse over any button or setting.
-
Files:
Really not much to do here but give location where all working files would be stored. If you have limited space in /tmp partition you can create a temporary directory under you /home/$USER directory and give this as default.
-
Performance:
These setting will determine how quality and speed of recording is set. A higher rate of FPS (frames per second) will put more pressure on your hardware. Default rate of 15FPS is good but you can reduce it to 8FPS without too much problems. Other settings can be used to reduce load on your system. Overall the approach to determine best setting is with trial and error with following guidelines:
-
Reduce refresh rate lower and compromise with output quality.
-
Enable quick sub-sampling but some colour loss may occur.
-
Enable zero compression so that CPU usage is reduced but file size will become larger.
-
If all of the above do not improve performance enough, you can always try capturing a smaller area of the screen.
On the other hand if your hardware has enough power you can enable encoding on the fly and save time.
-
Audio:
If in your system has working audio recording system then you can record audio along with the screen capture. Alternatively you can use audio dubbing software to add audio later on. In practise the first option is good and I would recommend using an external microphone rather than built ones as they tend to give very low voice quality and volume.
-
Misc:
I have found any reason to change these settings but you can use to capture output of one or the other screen if you are running a dual head display.
Summary:
-
Quick steps involved in making a screen cast are:
-
Launch gtk-recordMyDesktop
-
Select area to be captured (or leave as is for full screen capture)
-
Press record button
-
Demonstrate your activity as usual
-
Press stop recording button
-
Wait till the screen-cast is encoded
-
Save screen-cast file
-
Quit program
-
Now you can open the output file in a media-player and watch your screen-cast.
Hardware requirements:
While the screen-cast program is in capture mode it is recording and saving all information at screen refresh rate set by you, by default this is fifteen frames per second (FPS). This puts lot of load on the system so it requires higher hardware abilities to run flawlessly therefore you should run this program on a beefy hardware. The current crop of dual-core CPU’s, 2GB of RAM and a fast display card are essential. You also need to set the colour depth of 24BPS or more in xserver settings for recordMyDesktop to work.
On a machine with lesser hardware power with normal settings the screen will feel buggy and give jerky mouse and keyboard movements. On a single core 2GHz processor with 1GB RAM and plain display card you can make screen-casts but be prepared for slow response times and have patience.
Resources:
To learn more on how to use this program the following sites are useful.
RecordMyDesktop: http://recordmydesktop.iovar.org/about.php
Sourceforge: http://sourceforge.net/projects/recordmydesktop/
List of figures:

Figure1.png : Launching gtk-recordMyDesktop

Figure2.png : Red Button Icon docked in toolbar

Figure3.png : Grey Square Icon indicating recording on progress

Figure4.png : Encoding in progress after recording is stopped by clicking on Grey Square

Figure5.png : gtk-recordMyDesktop window

Figure6.png : Performance settings
Similar software:
While there are many commercial software, most for windows world and few for Linux, the following OSS projects also are worth looking at if you want to learn or experiment.
WINK: http://www.debugmode.com/wink/
Wink creates animated flash files for creating tutorials. However the overall it is slower and the interface is difficult to understand and master. As the output is in flash format which, while very popularly used, is not open format and thus best avoided and especially if you are looking at using 64bit O/S.
ISTANBUL: http://live.gnome.org/Istanbul
This project is very similar to recordMyDesktop in its approach and usage. However it is still in early stages of development.
XVIDCAP: http://xvidcap.sourceforge.net/
Another nice tool to create screen-casts but mostly works from command line interface and has lot of difficult to remember options.
BYZAZ: http://people.freedesktop.org/~company/byzanz/
This program creates GIF files as output which can be played back on your browser. One advantage with GIF files is you can loop them to play the back continuously. However the file size becomes too large if you record a long screen-cast.