RecordingScreencasts
|
Size: 9469
Comment:
|
Size: 7507
Comment: updated page
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| ||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; background-repeat: no-repeat; background-position: 98% 0.5ex; margin: 0 0 1em 1em; padding: 0.5em;">'''Contents'''[[BR]][[TableOfContents]]|| | <<Include(ScreencastTeamHeader)>> |
| Line 5: | Line 6: |
| == Introduction == | <<Include(ScreencastTeamHeader)>> |
| Line 7: | Line 8: |
| This is how I make screencasts. They come out fairly well. There are of course other ways to make them, this is just the way that I have found is best. You can see some examples of the screencasts I have made with this procedure at http://doc.ubuntu.com/screencasts . | ||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents(3)>>|| |
| Line 9: | Line 10: |
| All this was done on an Intel Core 2 Duo PC with 2GB of RAM, running Ubuntu Edgy (6.10) or Feisty (7.04). It is of course possible to do this on a lower spec machine but there may be difficulties on very low spec machines. | |
| Line 11: | Line 11: |
| The basic procedure (which is covered in more detail below) is as follows:- | = Introduction = |
| Line 13: | Line 13: |
| === Dry run === | This guide will help you get your computer set up and guide you through the process of making a screencast. There are many different ways to do this and different applications you can use. This guide will use as many default applications as possible. |
| Line 15: | Line 15: |
| == Setup == Some setups will differ slightly depending on preference and what kind of screencast you are making. It is recommended you use a virtualization environment. In a VM you can record your screencast from a default install. This way your custom themes, icons and setup will not confuse a user. A VM allows you to save snapshots. This make it easy to go back to your VM setup before the demo. Ideal for rehearsing your screencast as well as making it easy to keep a standard default install. If the intention is to demonstrate application usage and/or the host configuration is sufficiently similar to a standard install a VM is not necessary. == Applications == * [[http://www.virtualbox.org/|VirtualBox]] (virtualization enviroment). Resources for help installing and setting up Virtual Box: * Ubuntu wiki[[https://help.ubuntu.com/community/VirtualBox | VirtualBox]] * howtoforge.com - [[ http://www.howtoforge.com/installing-virtualbox-3.0-on-an-ubuntu-9.04-desktop | Installing VirtualBox 3.0]] * wikihow.com [[http://www.wikihow.com/Install-Ubuntu-on-VirtualBox | How to Install Ubuntu on VirtualBox]] * [[http://recordmydesktop.sourceforge.net/ | gtk-recordmydesktop]] (record the screencast video/audio) * [[http://audacity.sourceforge.net/ | audacity]] (recording audio separately) * [[http://www.openoffice.org/ | openoffice.org]] (for titles) * [[http://www.pitivi.org/ | pitivi ]] (for combining video and audio together and re-encoding to some other formats) = Making the Screencast = Once the applications are installed It is time to make the screencast. == Script == First step is to decide exactly what it is you are wanting to show. Keep the videocasts short and focused. Cover only one topic in each screencast. It is sometimes preferable to record the video first, and add in the audio later. If you're sufficiently able to multi task reading aloud instructions whilst doing them, then record audio and video together. == Dry Run == You will want to rehearse the steps you are going to take. Say or read the script while you so this and make sure they are working well together. Before doing anything you will want to save a snapshot of your VM so that you can easily go back to a clean fresh install. |
|
| Line 16: | Line 37: |
| * Go through the software to be demonstrated | * Go through the software and practice the steps to be demonstrated. You might need to do this a couple of times until you are comfortable with the steps and you know the script very well. == Record the Screencast == Once you are familiar with the steps you will be taking, it is time to record the screencast. If the demo requires the installation of additional packages then to save time it can be preferable to setup the necessary repositories, download the necessary packages without installing them, then remove the repositories. This of course assumes that you want to show how to enable repositories and install software within the screencast. To download packages and not install them use apt-get with the -d option: apt-get -d packagename1 packagename2 ... <<BR>> {*} Start a virtual machine running the operating system and application which is to be demonstrated.<<BR>> {*} Start a recording application to capture the contents of the virtual machine window.<<BR>> With recordmydesktop the simplest way to record is to open the application and either left-click the icon in the panel or click the record button in the main window. For additional details on the Main Window [[http://recordmydesktop.sourceforge.net/rug/p1_1a.php | see here, ]]and the Panel(tray) Icon [[http://recordmydesktop.sourceforge.net/rug/p1_1b.php | see here.]] If you do not want to capture the entire desktop there are three ways of selecting the area on which you will confine the recording. 1. Using the preview thumbnail on the main window you can draw a window with the crosshairs. 2. Using the “Select Window” button and then select a window on your desktop. 3. Using the “Select Area on Screen” function accessed by right-clicking on the panel icon. |
| Line 18: | Line 48: |
| === Live recording === | |
| Line 20: | Line 49: |
| * Start a virtual machine running the operating system and application which is to be demonstrated | [[ http://recordmydesktop.sourceforge.net/rug/p1_2b.php | Additional details on defining an area for recording]]<<BR>> {*} Go through the software and execute the steps you rehearsed.<<BR>> {*} Watch the screencast to ensure all is ok.<<BR>> {*} Add a 'intro', 'outro' slides to the start and end of the screencast.<<BR>> |
| Line 22: | Line 54: |
| {{{ Note: If the demo requires the installation of additional packages then to save time it can be preferable to setup the necessary repositories, download the necessary packages without installing them, then remove the repositories to put the system back to an post-install state. This of course assumes that you want to show how to enable repositories and install software within the screencast. To download packages and not install them use apt-get with the -d option:- apt-get -d packagename1 packagename2 ... }}} |
|
| Line 25: | Line 55: |
| * Start a recording application to capture the contents of the virtual machine window - with no audio narration recorded * Watch the screencast to ensure all is ok * Add a 'intro', 'outro' slides to the start and end of the screencast * Open an audio recording application and record a narration whilst watching the screencast again * Check the audio recording for defects * Post-process the audio to clean it up and ensure it's the right duration for the video * Combine the audio and video together * Check the combined audio/video for errors/glitches/sync problems * Encode/compress video to other formats * Encode/compress audio to other formats * Upload video and audio to hosting provider * Upload video to Google |
Again there are different ways to do this. I will show you one way. Open !OpenOffice Presentation. Make a slide containing the graphics and text you want. Maximise the presentation of the first (header) slide within the virtual machine. You can do this by running Slideshow -> Slideshow(f5) in !OpenOfffice. Using the same process as you did for the main demo record 5-10 seconds. Repeat for the [footer] slide. <<BR>> {*} If you are recording the audio separately now would be the time to do that. <<BR>> {*} Combine the audio and video together.<<BR>> Ubuntu now has a movie editor, Pitivi, installed by default. You can get the Pitivi Manual [[ http://www.pitivi.org/manual/ |here]]. Use the Import Clips button in Pitivi to bring your screencast and the header and footer video clips you did into the project. Then you simply click on the clip thumbnails in the upper left of your screen and drag them from the Clip Library to the Timeline. Do this for each clip placing them sequentially in the timeline. When you are ready to output the video, select 'Render Project'. In the Render Project Window click 'Modify' To adjust the size, frames per second, container, audio codec, vide codec, etc. For size we recommend 1024x768/1280x720 at 24fps. <<BR>> |
| Line 38: | Line 60: |
| The reason for recording a virtual machine rather than the current desktop is to ensure the screencast is showing what a user would see. Most developers (or even experienced users) have additional software installed (such as the video recording application), have customised their desktop, or are running a version of Ubuntu (such as the current development version) which users might be less likely to use. | {*} Check the combined audio/video for errors/glitches/sync problems.<<BR>> {*} Optionally encode/compress screencast to other formats.<<BR>> You Tube (recommended) * Video Format: H.264, MPEG-2 or MPEG-4 preferred * Aspect Ratio: Native aspect ratio without letterboxing (examples: 4:3, 16:9) * Resolution: 640x360 (16:9) or 480x360 (4:3) recommended * Audio Format: MP3 or AAC preferred * Frames per second: 30 * Maximum length: 10 minutes (we recommend 2-3 minutes) * Maximum file size: 1 GB Itunes (ipod/iphone) * Resolution: 320x240 * Video Format: MPEG-4 {*} Upload screencast to webhosting.<<BR>> |
| Line 40: | Line 75: |
| It also allows for a "gold" build to be kept in a disk image which can be re-used after a screencast is recorded. This means each screencast starts from the same basic starting point of a fresh (new) installation of Ubuntu. If screencasts are made which assume levels of knowledge or that certain software is already installed then it's possible users will get lost or give up when they see that the screencast doesn't match what they see. | ==== Making the video available to others ==== |
| Line 42: | Line 77: |
| == Preparation == | |
| Line 44: | Line 78: |
| Preparation is the key. Getting the environment setup takes a while, but is worth doing it well because it means the time taken to create each screencast is lower. | ===== Upload to Archive.org ===== |
| Line 46: | Line 80: |
| === Planning a screencast === | Archive.org will automatically transcode the video to other formats including MPEG4 video. As a by-product of uploading the video, this can be useful as a transcoding service, upload the video, let them do the transcode, download the resulting files. |
| Line 48: | Line 82: |
| ==== Subject matter ==== | * http://www.archive.org/create/ |
| Line 50: | Line 84: |
| Pretty much anything is fair game for demonstrating using this method. Some things are tricky, but can be worked around, and these are detailed under "Technical Limitations" below. | ===== Upload to YouTube ===== |
| Line 52: | Line 86: |
| It can be beneficial to run through the whole screencast without | * http://www.youtube.com/my_videos_upload |
| Line 54: | Line 88: |
| ==== Technical Limitations ==== | ---- ''go back to [[http://doc.ubuntu.com/screencasts/|Ubuntu Screencasts]]'' |
| Line 56: | Line 91: |
| The following might be issues when recording using the method described here:- * Binary video driver installations - QEMU emulates a simple Cirrus Logic or VESA display, so it's not possible to show it running an ATI/NVidia video driver. * This could be overcome by using VNC to control a remote machine which does have an ATI/NVidia chipset rather than using a virtual machine. * Showing reboots or switching to the console - the QEMU window changes resolution when the video mode changes - which happens when you restart the virtual machine or switch to a virtual console. If you are recording the window and this happens then your video will capture either:- * Only a portion of the window - if it has increased in resolution (e.g. during the switch from console to x output in the vm) * The console and its window decorations (on the host) - if it has decreased resolution (e.g. during switch from x to virtual console in the vm) * Some slow computers will not be able to run an entire host, a virtual machine and the recording software together and will likely end up dropping frames during the recording. * Text in a terminal may be difficult to read - especially so when rendered using low bandwidth and highly compressed video. It may be preferable to record console text and scale the video size up using tools such as avidemux. Alternatively for a terminal inside a graphical environment the usual scaling features of the desktop environment might be used - for example in GNOME the text in a terminal can be scaled up with [CTRL]+[+] and [CTRL]+[-]. === Tools needed === I have based this how-to around the tools listed below. It is possible to find other drop-in replacements for some of these - for example using vmware instead of QEMU, but this combination worked well for me. * One (or more) of (kqemu & QEMU), (kvm & QEMU [if your CPU has VT instructions]), VMWare, Parallels or Xen. * This guide suggestions qemu * xvidcap (record the session - video only, audio dubbed on later) * audacity (record the audio) * openoffice.org (for titles) * avidemux (for combining video and audio together and re-encoding to some other formats) * ffmpeg2theora (convert to ogg/vorbis/theora) * oggenc (make an ogg/vorbis version of the audio track) .. and all their dependents ==== kqemu & QEMU ==== Install qemu package from universe repository. {{{ sudo apt-get install qemu }}} kqemu is a closed-source kernel based accelerator designed for QEMU. Its author is the main developer behind QEMU itself. https://help.ubuntu.com/community/KQEmu ==== kvm & QEMU ==== kvm is a kernel based virtual machine. It includes a kernel module and a modified QEMU package. It utilises the VT instructions in modern CPUs to accelerate emulation. Feisty has kvm in the 2.6.20 kernel. Other releases need to compile kvm manually from http://kvm.sf.net/ using http://kvm.sourceforge.net/howto.html as a guide. {{{ Note: From this point on it is assumed that you have either chosen kqemu or kvm or neither and have the necessary kernel module loaded when running QEMU. Alternatively you may use a different virtualisation system such as VMWare, Parallels or Xen, but the use of those tools is documented elsewhere and is beyond the scope of this document. }}} ==== xvidcap ==== Downloadable .deb from http://xvidcap.sf.net/. {{{ wget http://kent.dl.sourceforge.net/sourceforge/xvidcap/xvidcap_1.1.4p1_i386.deb sudo dpkg -i xvidcap_1.1.4p1_i386.deb }}} ==== OpenOffice.org ==== Should already be installed. ==== avidemux ==== Install avidemux package from multiverse repository. {{{ sudo apt-get install avidemux }}} ==== ffmpeg2theora ==== Install ffmpeg2theora package from universe repository. {{{ sudo apt-get install ffmpeg2theora }}} ==== oggenc ==== Install vorbis-tools from the main repository. {{{ sudo apt-get install vorbis-tools }}} === Setting up the environment === ==== Download ISO(s) or Obtain CDs ==== Get ISO images of the versions you want to screencast. ==== Create a virtual disk ==== {{{ qemu-img create -f qcow dappervm.qcow 10G }}} "10GB should be enough" - yes, quote me on that in 10 years :) ==== Boot up and install into VM ==== Use more memory (-m) if you have it available. {{{ qemu -hda dappervm.qcow -cdrom dapper.iso -m 256 -boot d -net nic -net user -soundhw all }}} Follow the usual procedure for installing. When prompted for a user, create a generic username which will be used during the screencasts. ==== Boot up installed VM ==== {{{ qemu -hda dappervm.qcow -m 256 -net nic -net user -soundhw all }}} Add all necessary updates but do not make any further changes, so that this becomes a "golden" image. Backup the image. ==== Test recording software ==== * Start the vm The environment variables set below will casue a WAV file to be created which holds all the audio output made by QEMU. This can be mixed later with the narration. {{{ export QEMU_AUDIO_DRV=wav export QEMU_WAV_PATH=$HOME/capture.wav qemu -hda dapperbase.qcow -m 256 -net nic -net user -soundhw all }}} * Start the video recording application. {{{ xvidcap</xvidcap> }}} http://gallery.popey.com/gallery/screenshots/Screenshot_XVidCap * Select the window to record * Start recording yourself doing some stuff Note the colour bar in xvidcap shows whether you are hitting your fps target - red is bad, green is good. * Stop recording. * Test playback of the resultant video in various players for smooth playback. === Record a screencast === |
-------- CategoryUbuntuTeams |
NEXT SCREENCASTTEAM MEETING: |
Screencasting how-to
NEXT SCREENCASTTEAM MEETING: |
Introduction
This guide will help you get your computer set up and guide you through the process of making a screencast. There are many different ways to do this and different applications you can use. This guide will use as many default applications as possible.
Setup
Some setups will differ slightly depending on preference and what kind of screencast you are making. It is recommended you use a virtualization environment. In a VM you can record your screencast from a default install. This way your custom themes, icons and setup will not confuse a user. A VM allows you to save snapshots. This make it easy to go back to your VM setup before the demo. Ideal for rehearsing your screencast as well as making it easy to keep a standard default install. If the intention is to demonstrate application usage and/or the host configuration is sufficiently similar to a standard install a VM is not necessary.
Applications
VirtualBox (virtualization enviroment). Resources for help installing and setting up Virtual Box:
Ubuntu wikiVirtualBox
howtoforge.com - Installing VirtualBox 3.0
wikihow.com How to Install Ubuntu on VirtualBox
gtk-recordmydesktop (record the screencast video/audio)
audacity (recording audio separately)
openoffice.org (for titles)
pitivi (for combining video and audio together and re-encoding to some other formats)
Making the Screencast
Once the applications are installed It is time to make the screencast.
Script
First step is to decide exactly what it is you are wanting to show. Keep the videocasts short and focused. Cover only one topic in each screencast. It is sometimes preferable to record the video first, and add in the audio later. If you're sufficiently able to multi task reading aloud instructions whilst doing them, then record audio and video together.
Dry Run
You will want to rehearse the steps you are going to take. Say or read the script while you so this and make sure they are working well together. Before doing anything you will want to save a snapshot of your VM so that you can easily go back to a clean fresh install.
- Start a virtual machine running the operating system and application which is to be demonstrated
- Go through the software and practice the steps to be demonstrated. You might need to do this a couple of times until you are comfortable with the steps and you know the script very well.
Record the Screencast
Once you are familiar with the steps you will be taking, it is time to record the screencast. If the demo requires the installation of additional packages then to save time it can be preferable to setup the necessary repositories, download the necessary packages without installing them, then remove the repositories. This of course assumes that you want to show how to enable repositories and install software within the screencast. To download packages and not install them use apt-get with the -d option: apt-get -d packagename1 packagename2 ...
Start a virtual machine running the operating system and application which is to be demonstrated.
Start a recording application to capture the contents of the virtual machine window.
With recordmydesktop the simplest way to record is to open the application and either left-click the icon in the panel or click the record button in the main window. For additional details on the Main Window see here,and the Panel(tray) Icon see here. If you do not want to capture the entire desktop there are three ways of selecting the area on which you will confine the recording.
- Using the preview thumbnail on the main window you can draw a window with the crosshairs.
- Using the “Select Window” button and then select a window on your desktop.
- Using the “Select Area on Screen” function accessed by right-clicking on the panel icon.
Additional details on defining an area for recording
Go through the software and execute the steps you rehearsed.
Watch the screencast to ensure all is ok.
Add a 'intro', 'outro' slides to the start and end of the screencast.
Again there are different ways to do this. I will show you one way. Open OpenOffice Presentation. Make a slide containing the graphics and text you want. Maximise the presentation of the first (header) slide within the virtual machine. You can do this by running Slideshow -> Slideshow(f5) in OpenOfffice. Using the same process as you did for the main demo record 5-10 seconds. Repeat for the [footer] slide.
If you are recording the audio separately now would be the time to do that.
Combine the audio and video together.
Ubuntu now has a movie editor, Pitivi, installed by default. You can get the Pitivi Manual here. Use the Import Clips button in Pitivi to bring your screencast and the header and footer video clips you did into the project. Then you simply click on the clip thumbnails in the upper left of your screen and drag them from the Clip Library to the Timeline. Do this for each clip placing them sequentially in the timeline. When you are ready to output the video, select 'Render Project'. In the Render Project Window click 'Modify' To adjust the size, frames per second, container, audio codec, vide codec, etc. For size we recommend 1024x768/1280x720 at 24fps.
Check the combined audio/video for errors/glitches/sync problems.
Optionally encode/compress screencast to other formats.
You Tube (recommended)
- Video Format: H.264, MPEG-2 or MPEG-4 preferred
- Aspect Ratio: Native aspect ratio without letterboxing (examples: 4:3, 16:9)
- Resolution: 640x360 (16:9) or 480x360 (4:3) recommended
- Audio Format: MP3 or AAC preferred
- Frames per second: 30
- Maximum length: 10 minutes (we recommend 2-3 minutes)
- Maximum file size: 1 GB
Itunes (ipod/iphone)
- Resolution: 320x240
- Video Format: MPEG-4
Upload screencast to webhosting.
Making the video available to others
Upload to Archive.org
Archive.org will automatically transcode the video to other formats including MPEG4 video. As a by-product of uploading the video, this can be useful as a transcoding service, upload the video, let them do the transcode, download the resulting files.
Upload to YouTube
go back to Ubuntu Screencasts
ScreencastTeam/RecordingScreencasts (last edited 2010-05-04 21:03:01 by ip72-213-131-215)