Department of Engineering

IT Services

Screencasts

Screencasts are recordings of a computing session done without a video camera. They're useful for educational videos, etc. Camtesia is often used within Cambridge for talks. This page lists some Open-Source solutions which may be fine for short clips.

Acquisition

  • Windows: Camstudio produces avi/swf output.
  • Linux: vnc2swf outputs swf, but requires a vnc server. RecordMyDesktop records as Ogg Theora Vorbis files. Vncrec requires transcode to convert into a sensible format for publishing, though this can take a lot of processing. The Teaching system has istanbul which creates Ogg Theora files. byzanz (not installed but easily compiled) saves animated GIFs.
  • Windows from Linux: vnc2swf as above.
  • MacOS: there are many options available depending on which MacOSX version you have and whether you want sound. Try screenflick (records sound too. Shareware), screenmimic (exports to Adobe Flash (SWF), Flash Video (FLV), or Quicktime (MOV). Shareware), ishowu (exports to Quicktime. Shareware), etc.
    Silverback is a Mac-only program that makes use of the built-in webcam, but it's not free.

For Macs and Linux (and maybe Windows), ffmpeg is freely available. It can record screencasts (and do much else besides).

Publishing

  • Shockwave flash: Via Shockwave applet plugin - produces delay on IE until the entire file has been loaded.
  • Ogg Theora/Vorbis: Via Cortado Java applet - requires on-demand streaming server. Flumotion also provide an open source streaming server that can handle on-demand streams as well as record and stream live aquisition. A manager with multiple workers can be used to distribute live streams from several machines.
  • Something similar to the following markup can be used to include screencasts on HTML 4.0.1 pages. It attempts to use the java applet before the shockwave applet. If both are unavailable it can supply a link to a file by placing markup in the final object tag.
          	
          <!--[if !IE]>-->
                <!-- actually netscape likes the embed tag!! -->
                <object classid="java:com.fluendo.player.Cortado.class" 
                        type="application/x-java-applet"
                        archive="cortado-ovt-debug-0.2.2.jar" 
                        height="300" width="450" >
                  <!-- Konqueror browser needs the following param -->
                  <param name="archive" value="cortado-ovt-debug-0.2.2.jar" />
                  <param name="url" value="http://ondemandserver:8800/somevideo.ogg"/>
          	<object type="application/x-shockwave-flash"
                        height="500" width="500"
          	      data="somevideo.swf" >
          	      <param name="movie" value="somevideo.swf">
          	      <!-- no applet or flash - can we send then to a link? -->
    
          <!--<![endif]-->
          	  <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
                          codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"
                          height="300" width="450" > 
          		<param name="code" value="com.fluendo.player.Cortado.class" />
          		<param name="archive" value="cortado-ovt-debug-0.2.2.jar" />
          		<param name="url" value="http://ondemandserver:8800/somevideo.ogg"/>
          	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
          	      codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
                        height="500" width="500"
          	      data="somevideo.swf" >
          	  <param name="movie" value="somevideo.swf">
          	  
                    </object>
          	  </object>
          	  <!-- NB it has been a problem with IE that Nested objects have not been handled correctly - this seems to be fixed in IE 7 --> 
          <!--[if !IE]>-->	
          </object>
          </object>
          <!--<![endif]-->
    
    NB. Conversion from swf to Ogg can be done via ffmpeg and ffmpeg2theora.