This is the first of a series of short how-to articles for Linux. None shall be overly dense or complex. As the title suggests, it will be about getting the job done simply and easily. Sometimes you go for the big-hack like challenge and others you need something like this.
In this story I will share a simple process for creating instructional videos on a fairly common Ubuntu-ish desktop. They needed to be easily played on a variety of platforms and the creation process itself should require little research or new skills to accomplish. Ultimately it should be easy to accomplish using standard hardware and Linux distribution. I needed to get it done and done quickly. It meets my criteria for such a task: it gets the job done. Once the prerequisites are set up, I can create a new how-to video for Linux in less than 5 minutes (less of course actual recording time).
It meets my criteria for such a task: it gets the job done. Once the prerequisites are set up, I can create a new how-to video for Linux in less than 5 minutes (less of course actual recording time).
As you may recall I am helping a friend come over to the darkside and as part of that process I have been making instructional videos for him. Each one is short (3-6 minutes in length) and demonstrates some common computing activity such as using Open Office or performing updates. Most recently Walter asked about using a CD label maker…he had attempted to install the Windows app he knew but to no avail, as you might guess. I was busy at the time so I shot him a few steps to follow to make it work; he got as far as installing it (yay apt) but could not launch it. This is where we join our story.
Before we begin though, one thing I would like to suggest is this: if you are supporting someone with a desktop significantly different than your own, I would highly suggest installing VirtualBox (sudo apt-get install virtualbox-ose or get the full version here), creating a virtual machine and installing the same version of Linux to that VM. Then when recording your video, tell the software to target the window of the running VM. This way all the user sees is something that at least marginally looks like what they have.
To get started you need to install a program called GTK RecordMyDesktop (sudo apt-get install gtk-recordmydesktop). You may want to install mencoder and ffmpeg if not already installed (sudo apt-get install ffmpeg mencoder). That is all.
The task to be demonstrated here is how to use Kover Artist to create a CD cover; to prepare I grab a picture to use in this exercise and drop in on the VM into the Pictures directory. Then with the VM running I start GTK RecordMyDesktop, click Save As (poorly named button since you have to click Save As before you have anything to save), give it a meaningful name with a .OGG extension. If you are just recording your desktop you can now click Record; if you are targeting a specific window, click on Select Window (which yields a cross-hairs), click on your target window, then click Record.
You are now off to the races. Demonstrate the task at hand, keeping in mind that no audio is being recorded during this process. Still, there is some value is speaking any dialog you have so that it builds in periods of less visual activity and time to explain things.
When you are done, click the GTK RecordMyDesktop icon in your task bar (where it went to live while you were recording). The recording will stop and the encoding should commence. I have noticed that if you try to do too large of a recording RecordMyDesktop tends to go into la-la land and never come back. Another argument for brief lessons.
Now that your video is saved, you need to add some dialog to it. I do it like this. First plug in a headset or other microphone (internal mics can work but sound tinny), load up your video in a media player, then run the Sound Recorder app in Applications->Sound and Video->Sound Recorder. Select external mic for the input source and .WAV as the output type. Then click Record there and play on the video player and record your dialog. When done click stop and save it to a meaninful name with a .WAV extension.
We now have two files: an .ogg file that is the video and .wav file with our audio. You could leave this in the .ogg format and work with it from there but since I knew this might need to be played on a Windows box, I needed to convert it to something that Windows understands. To convert the video I wrote a tiny helper script called cvtmovie.sh:
#!/bin/bash
mencoder $1 -o $2 -oac mp3lame -ovc lavc
Thus running ./cvtmovie.sh rawvideo.ogg rawvideo.avi will transcode the media. Finally we need to add our soundtrack so I wrote the helper muxaudio.sh:
#!/bin/bash INPUTVID=$1 INPUTWAV=$2 OUTPUTVID=$3 ffmpeg -i $INPUTVID -i $INPUTWAV -vcodec copy -acodec mp3 -map 0:0 -map 1:0 $OUTPUTVID
When called as
./muxaudio.sh rawvideo.avi mydialog.wav final_output_video.avi
Your video will be generated. Below is an example of the output. Yes, all dialog was ad-libbed
And that my friends is all there is to it. Sure you can see where you could go fancy on this but this column is called Gettin’ It Done, and so we have.
Peace,
JeffC


Related Articles
10 users responded in this post
Thanks for putting this out there. I’ve been trying to find something that I could use to build out a “basic computer usage” home school curriculum for my daughter. This fits the bill. I like the “just get it done” approach…
I can see a million uses for this tutorial, and may give it a shot soon. Thanks for the tips.
Glad you folks liked it. Like Henny Youngman used to say, got a hundred of ‘em. Sometimes you want to build the Eiffel Tower and sometimes you just want a roof over your head.
Moreover, I have seen where a simple video (better than this but not totally dissimilar) will get key concepts across where 100 pages of hyper-accurate text cannot.
Cheers
Jeff
What we need now is someone who is a good developer (Like the one who developed K3B) and put all that together and get a great package for the Linux newbie folks.
It would be a tremendous help for the many who have been waiting for a long time for something like this to be available.
Abe; are you talking about an integrated GUI for creating desktop videos (soup-to-nuts)? Should not really be that hard actually…let me look into this….tks for reading and for the suggestion.
JeffC
Yes JeffC, something similar to Captivate from Adobe or Camtasia or even as simple as CamStudio which, I beleive is GPL but only runs on Windows. Yack
As a matter of fact, I was asked to make a presentation about Open Source software, FOSS more specifically to my colleagues at work. It is part of an out of the box technology presentation. My plan is to demonstrate Linux desktop and its various application that also are available on Windows. e.g. OOo, Gimp, etc…
CamStudio is one of them and how it could be used for training and howto tutorials.
Just wanted to add that I will try to use your setup and run a short demo during the presentation.
Thanks for the tips and I hope it will be successful.
Abe; If you do this may I suggest the following strategy:
* keep what you capture to smaller videos.
* even with the smaller videos, once they are in AVI format, you can use the nice set of tools that includes avimerge which I think is part of the transcode package. Also, Avidemux can be your friend with it comes to trimming and basic video editing.
Good luck and write to me here if you have any questions; I did a similar thing a few years ago complete with soundtrack and titles.
Cheers
Jeff
Will do and thanks for the additional tips. The presentation is in late Oct and I have time to prepare. I will try to make it as good as possible. I already added a bookmark to this page and I will let you know how it goes. I have to keep things as anonymous as possible though.
Thanks again.
Abe; I understand about anonymity well; I work for Sony and can barely admit in public that I work for them due to 7K layers of NDA this and that. That said, Sony is a really great company to work for if you like Linux and thinking outside the box.
So keep it as anonymous as you like or need. I simply want to help you put your best foot forward because Linux wins *anywhere* lifts all boats. I am not a pro at this (well the desktop video creation anyhow; I might have laid a line or two of code professionally) and make mistakes but if I can save you some pain, allow me to be of service.
Cheers and good luck on that presentation. Oh yeah, if you don’t have it, grab Audacity; the Sound Recorder mentioned in this story is OK for a slam it together kind of thing but if you need to do audio conversion/editing/syncing/you name it, Audacity is an apt-get away and between that and Avimerge I was able to assemble three chunks of video with two different blocks of audio and have it all synced perfectly. I was amazed myself how easy it was. Also when recording the dialog use the best noise-canceling mic you can; I had one that I had used for Skype conference calls; I could have the TV/music going in the background and none of it was picked up by the mic while my voice came through clearly. Not sure on the model but its a Plantronics headset with boom mic. The headset looks like a set of old style audio headphones. As an added bonus it is comfortable enough to wear for hours.
If I can drudge up any other tips from memory I will post it here. Like I said, good luck mate.
Jeff
JeffC AT JBCobb DOT net
Leave A Reply