Pages
Categories
Archives
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- December 2008
- November 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
Creating Screencasts on Linux
Edit: I have updated and moved this guide to here: https://wiki.ubuntu.com/ScreencastTeam/RecordingScreencasts.
I recently created a couple of screencasts for the Ubuntu-UK LoCo team, of which I am a member. I’ve been tinkering with screencasting for nearly a year now but only recently has everything come together in such a way that I find it easy to make the screencasts. I’ve been asked to write a guide showing how I created the screencasts at quickones, and here it is. Before I go into the detail there’s some technical things I should outline up front. Various tools and utilities have been suggested to me over the last year and I have discounted many of them for a number of reasons. Hopefully this will explain what those reasons are so that you can understand why I used the tools I did. In a previous blog post I talked about screencasting in general – part 2 of that article is in the works. This post is more technical, showing how to actually do it for real.
Some arbitrary decisions I made early on in the process:-
These decisions led me to choose the following infrastructure to record the videos.
It’s also worth pointing out the tools I chose not to use and why:-
Add repositories
System –> Administration –> Software Sources
Tick “Community maintained Open Source software (universe)
Tick “Software restricted by copyright or legal issues (multiverse)”
Close
Reload
Install QEMU, avidemux, ffmpeg2theora, audacity on the host
Alternatively (preferably) qemu could be compiled from source. It’s not nearly as hard as it sounds. There’s a great guide to compiling QEMU on the Hampshire LUG wiki. Doing this means you can enable the (closed source) KQEMU module which dramatically improves performance of QEMU.
Install xvidcap
Home page: http://xvidcap.sf.net/
Visit download page: http://sourceforge.net/project/showfiles.php?group_id=81535&package_id=83441
Download xvidcap_1.1.4_i386.deb from mirror.
Prepare emulation environment
The following command tells qemu to use
edgyimage.qcowas the hard disk/dev/hdaand the ISO imageubuntu-6.10-desktop-i386.isoas the CDROM on/dev/hdc. It will boot with 256MiB of RAM, the audio hardware enabled and the network setup so that the virtual machine is firewalled from your LAN.Begin a recording session
Applications –> Sound and Video –> Xvidcap Screen Capture
Right click –> Preferences
General tab –> Switch off “Capture Mouse Pointer”
Multi-Frame tab –> Switch off “File format – auto” and choose “General AVI file (DIVX default) (mpeg)”. Switch off “Video Codec – auto” and choose “MPEG2 Video”. Switch off “Enable Audio”.
Click “OK”
Right click –> Save Preferences
Click the padlock to detach the selected area (red box) from the actual xvidcap window itself.
This will start QEMU without a CDROM image, and so will boot off the hard disk image created earlier.
In xvidcap click the pipette icon and then select the qemu window to select it for recording – do not subsequently move the qemu window.
Click the record icon to start recording.
Click the QEMU window to select it then press CTRL+ALT to set the focus inside the QEMU window – do not use ALT-TAB to get to QEMU because the ALT-TAB chooser will appear on the screen of the host and will be recorded by xvidcap.
This is where you do whatever you want to record, inside the QEMU virtual machine.
When finished, press CTRL+ALT to detach the focus from QEMU then click the “Stop” button in xvidcap.
$ mv ~/test-0000.mpeg ~/VideoDemos/demoname/YYYYMMDD-demoname_body.mpeg
It should play back in most video players. Alternatively you can play it back in the editor Avidemux.
Record the front and back pages
At this point you can shutdown the QEMU session to preserve CPU cycles. This is achieved by shutting down the OS running inside QEMU. It may shutdown completely or you may have to wait until the OS stops then just close the QEMU window.
Add the front and back pages to the video
Record the audio
Clean up the audio
Audacity has a simple "Noise removal" tool which gets rid of most of the nasty background noise. It's not perfect but for speech it's good enough.
Create an audio-only file
Add the audio track to the video track
This will create the master MPEG video with an MPEG2 audio track. This is the best format for the master as it can then be converted using other free tools into other formats.
Encode to OGG/Vorbis/Theora
Convert the master MPEG2 video into a compressed OGG/Theora/Vorbis version.
Upload to Google Video
Upload the full size MPEG video to Google video.
A by-product of uploading to Google is that they produce an ipod compatible "mp4" version of your video. Download this and add it to your collection of media.
Upload to hosting provider
Upload to archive.org
Backup everything