The complete guide to screencasting in Ubuntu 14.04 + Gnome Shell
For those developers of you wanting to do more than just develop under Linux, you’ll have realized that there are many things stopping you for doing proper video tutorials as easily as you would do it with some non-free (as in freedom) software.
Fear not, though, as this tutorial, written at a time between Ubuntu 14.04 and 14.10 with the Gnome Shell, will help you go through it and hopefully setup a perfect environment that you will be able to re-use anytime, anywhere (with your laptop).
In order to prepare a good video tutorial, the first thing you need is: standards! You need to get a clear list of what you will record, in which size, which quality and which destination.
A common destination for video tutorials is YouTube, and as explained by @JanetRichard in this article, and combined with what you have natively in Ubuntu, you might be deciding for these:
- Video format/CODEC: MPEG-4
- Aspect ratio: 16:9
- Resolution: 1280 x 720 (16×9 HD)
- Audio CODEC: MP3 or OGA (from OGG)
- Audio bitrate: 44kHz
- Channels: 2
With these basis, we can move on and start preparing tool.
The first tool you will need is a simple, efficient screen recorder. For those who knew stuff like Kazam and other screen recorders, you might have had issues with their latest versions. SimpleScreenRecorder is a well-maintained little GTK application developed by Maarten Baert.
By clicking the link, you will get to the Github page that contains detailed (but simple) installation instructions.
Start SimpleScreenCaster, set the parameters to the ones suggested above (including resolution), pick a destination file and… start recording.
One of the most essential items of a good screencast (considering recording your screen will give you extremely good image quality anyway) is sound quality. If you are going to explain stuff to your public, you don’t want noise/echo/low volume issues anywhere near your screencast. Laptop microphones are usually good quality, but they are omnidirectional, which means they will catch your cat mauwing 6 meters from you, or the rain hitting on your window.
You need a microphone that is built for recording one single voice (or at least focused on that). I personally use a USB Behringer C-1U, which cost me about US$60 delivered at my home. Check my article explaining how to get past the low volume issue.
With this setup, you should get a crisp sound quality focused on your mouth. Oh, and this microphone doesn’t have a base, so I hacked and cut an old plastic CD tower for 50 CDs and screwed the microphone in there, which works just fine.
If you want to embed your webcam inside the screencast, you’ll have to use the command line a bit, because SimpleScreenRecorder doesn’t allow it directly, but it will focus its recording on the area you define, so you can just include a small webcam feed into this area and you’re done.
Check my article on how to do that. Shorthand: use mplayer with the command:
mplayer tv:// -tv driver=v4l2:width=640:height=480 -vo xv
Zooming in and out
Many times, you will want to zoom in and out, so that you can show things in more detail (on a 1024×720 video, sometimes text appears too small to read).
There is a script called gnome-shell-mousewheel-zoom which works (since a recent update) on Ubuntu 14.04 (and before that on 12.04). You’ll need to restart your desktop interface before it starts working (with the ALT key + the mousewheel).
Although there is no single tool at the moment that handles all this, a small combination of tools will easily enable your “videotutorial recording station”. The only missing feature now is the zooming part. Hopefully, someone will either fix an existing system or develop a GNOME extension at extension.gnome.org…