Your Linux Data Center Experts

I had wanted to record a screencast, but I really wanted audio on it. Unfortunately, the state of Linux audio is (still) fairly sad. So, while I was able to grab a nice USB headset and plug it in and use Audacity with it, screencasting just wasn't happening.

Read the full post for details on how I got this working.

After some mucking about with different software options, all of which seem to be unmaintained, I was able to get the “Istanbul” tool to do a nice job of recording a portion of my screen, with audio!

But not without editing some code… I had to modify the “screencast.py” file, around line 99, to explicitly set the audio source to “autoaudiosrc”. Here is the resulting code, the last line is what I added:

if settings["record_sound"]:
   if Preferences().has_gconf():
      asource = 'gconfaudiosrc name=audiosource'
   else:
      asource = 'autoaudiosrc name=audiosource'
   asource = 'autoaudiosrc name=audiosource'

So, I basically copied the “else” clause to after the condition, and made that the value that is used. Previously, I had found that it was using the “gconfaudiosrc” value. I had also tried using the value “alsasrc device=hw:2”, but that caused Istanbul to go into a “saving to disc” state after the recording and then just hang there.

Now, I probably also had to set the input, because I was using a USB headset but also had audio through the motherboard, so that it picked the right input. I'm not exactly sure what resolved this, but here's what I did…

First, I ran “gstreamer-properties” and in the “Default Input” I selected the “Device” that matched my USB headset. Unfortunately, they were all listed as “Unknown”, but when I selected one it would set the “Pipeline” box which included the name “USB”, so I knew it was the second one I needed. The “Test” button didn't do anything that I could tell.

I then ran “gnome-sound-recorder” and did “File -> Open Volume Control”, I selected the “Input” tab, and clicked on the USB headset device. That has a input level meter, and it correctly was showing the volume when I spoke.

After these changes, I was able to run “istanbul”, and click on the red ball icon in my dock and record video with audio.

Note that I had also tried “recorditnow”, and while it did record audio fine, the screen capture was totally broken, often not updating for quite a while. I'm guessing that had to do with my 3D window effects, but I don't know.

So, Istanbul with that one code hack (thank you Python) seems to have done the job.

comments powered by Disqus

Join our other satisfied clients. Contact us today.