HowTo Create A Screencast

From NST Wiki
Revision as of 11:39, 26 April 2011 by Paul Blankenbaker (talk | contribs) (Set Up Area To Capture)
Jump to navigationJump to search

This page provides some notes on creating Screencasts using a NST system.

Installing Packages

We have found that the gtk-recordmydesktop provides a simple and free method for capturing screens and producing a screen cast. The totem package provides a viewer for the Ogg Video format screencasts (the VLC media player is also capable of playing back these files). To install these packages:

yum install gtk-recordmydesktop totem

Sound Card Configuration

Configuring and choosing the sound card for gtk-recordMyDesktop can be difficult on systems with multiple sound devices. Here are some tips:

ALSA sound sources are used by gtk-recordMyDesktop and by default, the ALSA sound source of hw:0,0 is used if you leave the sound device set to DEFAULT. To see what sound devices you have available, use the following command:

[pkb@rice ~]$ cat /proc/asound/cards
 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfe024000 irq 16
 1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0xfdffc000 irq 19
 2 [Headset        ]: USB-Audio - Logitech USB Headset
                      Logitech Logitech USB Headset at usb-0000:00:12.0-2, full speed
[pkb@rice ~]$ 

From the output above, there are 3 ALSA sound sources available. To use the Headset, I needed to change the sound device in gtk-recordMyDesktop from DEFAULT to hw:2,0.

To adjust the recording levels, I used alsamixer.

Set Up Area To Capture

Prior to starting your screencast, you should think about your final output. Here are some things to consider:

  • YouTube limits video uploads to 15 minutes.
  • YouTube permits HD video uploads up to 720p (1280x720). NOTE: 1280x720 corresponds to a 16:9 aspect ratio (wide screen format) and is known to work. I am not sure if YouTube permits 4:3 aspect ratio, but if it does, this would correspond to a screen size of 960x720.

So, my theory is that to get the best rendering on the final HD video, it's best to start with a screen size that matches the 720p resolution. You basically have three options to do this if you want to capture the entire screen:

  • Resize your screen to 1280x720 and capture your full screen.
  • Pull up a 1280x720 VNC desktop of a system you want to capture and select this window as the source to be captured (sans window decorations).
  • Use the rdesktop command to create a 1280x720 desktop view of a remote system and select this window (sans window decorations).
  • Set up a virtual machine running in a 1280x720 window and capture this window (sans window decorations).

VNC Set Up

The following command will setup a 1280x720 VNC desktop on a NST system (you might prefer to use the WUI instead).

nstvncadmin --mode setup -display 1 --width 1280 --height 720

RDP Set Up

The following command can be run from the NST command line to launch a 1280x720 RDP viewer of a RDP server (typically a Windows box).

 rdesktop -g 1280x720 192.168.1.8

Capturing

To create your screencast:

  • Launch the gtk-recordMyDesktop application. From the GNOME Desktop, it should be found under the Applications | Sound & Video menu.
  • There are numerous Advanced Options that can be adjusted before starting your capture. If you are only intending on capturing a single window, you may want to consider turning off the Include Window Decorations option (especially if your window contains a Virtual Machine, VNC, or RDP session).
  • After adjusting your options and selecting a window (if not recording the entire desktop), you can press the Record button to start the recording. NOTE: If you right click on this button you can temporarily pause your recording.
  • The small red record button on the GNOME panel will turn into a small gray square stop button. At this point you can start talking and using the application.
  • When you are done press the small square button on the GNOME panel.
  • At this point the raw screen capture data will be encoded and the output file will be saved. By default this will be save to the file $HOME/out.ogv unless you press the Save As button before recording.

It's highly recommended to make a short test screencast to verify your settings (it's easy to have the wrong sound device selected).

Editing

For editing the captured video, I came across a program called OpenShot. However, the installation was a bit tricky. Here are the steps I followed:

Download and install the OpenShot RPM for your system.

yum install openshot-1.2.2-1.fc13.noarch.rpm

Install the following packages (if they are not already on your system):

yum install blender freeze frei0r-plugins

After starting OpenShot, open up the preferences panel and change the Melt Executable from melt to mlt-melt.

Once you finish with your edits, you can Export your final screencast from the File menu. The following screen shot shows the settings I used for HD output for YouTube uploading.

OpenShot Export Settings

Publishing