... One can get recordings (for computer lectures) of reasonable quality using Linux.
We need more non-techie tutorials about doing these things.
I participate in a project funded by (Taiwan's) Ministry of Education to record
lectures (in Chinese of course).
The topics I talk about is free software of course. (Specifically it's Dr. Geo and gnuplot but that's irrelevant to this post.)
Unfortunately the platform for recording the lectures is Microsoft Windows.
This makes me feel like going on the stages with only underwear, to talk
about the importance of dress code.
It was bad enough that I had to do this last year. This time I shall try to do it using Linux.
Quick summary: One can get recordings of reasonable quality using Linux. We need more non-techie
tutorials about doing these things.
Here are the steps I have taken:
- Record using
xvidcap.
- After all recordings are finished,
extract ("demux") all sound tracks using ffmpeg:
ls | sed 's/\.mpeg//' > ~/file-list.txt
for f in $(cat ~/file-list.txt) ; do ffmpeg -i $f.mpeg -vn $f.mp3 ; done
- Manually reduce noise for each .mp3 file using
audacity
- Join ("mux") the mp3 files back into the video in a batch:
for f in $(cat ~/file-list.txt) ; do mkvmerge -o $f.mkv -A $f.mpeg $f.mp3 ; done

The following are the details.
Initially I had most trouble with
sound recording. The volume was
so small that the noise became
intolerably large after increasing the volume using audacity.
Eventually I figured out something that reveals me being a total audio-newbie: it's iGain (not microphone) in aumix that has to be maximized in order to get larger volume in recording,
supposing that you connect using the line-in jacket (typically blue) and supposing that the chosen audio input device is /dev/dsp in xvidcap.
Another big trouble was audio-video synchronization. I still don't know why the audio and video was badly
out of sync in my other computer
but was quite ok in my final successful setup. There are uncaptured frames/audio in both cases (about 85-90% capture success ratio). But in the unsuccessful case the video was
somehow automatically slowed down to match the capture success ratio, whereas in the successful case
no compensation was done with either audio or video.
I tried to use "effect => change tempo" to speed up the audio to match the video according to the
capture success ratio and ended up
only with synchronized start and finish. If anybody knows of the details, please point me to relevant documents. Incidentally, I use xubuntu in the final successful setup, hoping that
by using xfce instead of gnome or kde, more resources are left for the recording job.
Audacity's "effect" menu is very worthy of exploration.
"Amplify" increases the volume. Be sure to check "allow clipping"
if there are a small number of spikes in your recording that
prevent other parts to be amplified. "Noise removal" is a two step
procedure: first select a few seconds of "supposed" silence to let
audacity know what noise looks like, and then select the entire
recording to do the real job. I prefer smaller removal effect in the
second step. Here is a short clip to show its effect.
original
(I don't think you can hear anything),
amplified,
noise-removed.

To me, the easiest part was the batch commands for demuxing and muxing.
You learn regular expressions and command substitution once, and it makes
you look like a wizard ever since, whether the job at hand is image processing
or converting proprietary file formats into open ones. By the way that's why
I feel like requesting the audacity team to make their amazingly powerful
brain child scriptable like sox. A final note: I learned of the matroska container format in
this process. It seems to be technically better than ogg media
according to
the wikipedia comparison.
There seems to be a huge gap between the FLOSS audio-video developers and
the casual users. The audio howtos such as The Sound Playing Howto
are quite of out of date. If only some of the technically proficient people would step
aside from their coding job and write some audio-video tutorials for us mere mortals,
I am sure it would be greatly appreciated. Ideally it would not talk about any
specific software in detail but would rather center around a task (like recording
computer lectures) and make simple uses of many pieces of relevant FS.
Anyway I am glad that this time I am able to wear the right suite
(and even the right underwear; but most people wouldn't care)
to step on the stage to record FS lectures. :-)