Language Selection

English French German Italian Portuguese Spanish

Desktop Recording on my Laptop

Filed under
Linux

After retiring from 34 years of teaching high school computer science and mathematics, I finally thought I'd have some time to create some good instructional video lessons. My initial goal is to produce series of instructional videos for software that is cross-platform FLOSS--Inkscape, the GIMP, OpenOffice.org, computer programming in Ruby and Python, and so on. Along with my desktop computers, I wanted to use my new Acer laptop to produce these videos.

So, I need a good screen recorder program, that will record video to the screen and also record my audio.

RecordMyDesktop won't do the job on my Acer laptop! The on board ALC888 audio records with skips, tonal anomalies, and a great deal of hiss. I've spent a lot of hours try to fix these issues. No joy. So I look around for another Linux screen recorder program that will work. I find DemoRecorder.

The commercial (I purchased a copy) DemoRecorder program does work in its opengl mode, and fixes the sound skips and tonal anomalies, but the video sound still has a (very) loud background hiss. While DemoRecorder records the video in its own proprietary format, I discovered that the sound is recorded as a wav audio file (without the .wav extension), which I can then open and edit with Audacity to remove the hiss. Then I run the demorec-to-avi DemoRecorder program to assemble and transcode the recorded files into one avi video. It works well, and gives good video and audio quality, but the extra step of editing the audio is a lot of work.

Time to look for portable audio hardware compatible with Linux and my Acer laptop. After some searching on the Net, I find the Diamond Sound Tube, a USB Audio sound device. Diamond claims compatibility with Linux. It's available at Newegg for $29.99 US, so I order it.

It arrived yesterday, and looks like an old radio vacuum tube--kind of dorky, but fun too. I plug it in, and try to get it to work with Mandriva 2010, the distro I have installed on my laptop.

I can't seem to get Mandriva to recognize it as my primary sound device. Off to the Net again to see if I can figure out how to do this. I finally discover a solution posted by Adam Williamson when he was working for Mandriva (yes, they were fools to let him go, but, he's now doing good things for Red Hat/Fedora).

To make this long story slightly shorter, suffice to say the Diamond Sound Tube device works well with both RecordMyDesktop and DesktopRecorder. No skips, tonal anamolies, or hiss. My videos now look and sound great. And general sound output to my external speakers is much better too. The Diamond Sound Tube is recommended, particularly if your laptop built-in sound is lacking.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Sound tube howto?

Quote:

I finally discover a solution posted by Adam Williamson when he was working for Mandriva

You still got the link for that?

Set USB SoundTube device as default sound device.

Here's what I've done:

  1. Turn off pulseaudio (using the Mandriva Control Center - Sound option).
  2. Go into KDE Control Center, click the multimedia option, and set the backend from Gstreamer to Xine
    1. You may have to download and install the Xine related packages to see the Xine backend option.
    2. Setting the backend from GStreamer to Xine may not be necessary--I've had some issues with Mandriva in the past with GStreamer as the backend--but this is probably fixed now.
  3. As user root, open the /etc/modprobe.d/sound file.
    My built-in-laptop sound uses the snd-hda-intel driver, while the USB SoundTube uses the snd_usb_audio driver. (Yes, one driver name uses (-) hyphens as separators, while the other uses (_) underscores.)
  4. I've entered the following lines into this sound file:
    alias snd-card-0 snd_usb_audio
    alias snd-slot-0 snd_usb_audio
    alias snd-card-1 snd-hda-intel
    alias sound-slot-1 snd-hda-intel
    options snd_usb_audio index=0
    options snd-hda-intel index=1
  5. Reboot your machine.
  6. Go back into the KDE control center, select multimedia, and set KDE to use the preferred sound card devices.
  7. No guarantees with this howto--good luck!

More in Tux Machines

Linux Kernel 5.8 “The Biggest Release of All Time” is Finally Available Now

Linus Torvalds has called it “the biggest release of all time”. Check out what are the key changes in the recently released Linux Kernel 5.8. Read more

Android Leftovers

Programming: Python, Perl, and GNOME/GTK

           
  • Why proactively clean Python 2 up?

    It seems a recurring complaint that we’re too aggressive on cleaning Python 2 up from packages. Why remove it if (package’s) upstream still supports py2? Why remove it when it still works? Why remove it when somebody’s ready to put some work to keep it working? I’m pretty sure that you’re aware that Python 2 has finally reached its end-of-life. It’s past its last release, and the current version is most likely vulnerable. We know we can’t remove it entirely just yet (but the clock is ticking!), so why remove its support here and there instead of keeping it some more? This is best explained on the example of dev-python/twisted — but dev-python/pillow is also quite similar. Twisted upstream removed support for Python 2 at version 20. This means that we ended up having to keep two versions of Twisted — 19 that still supports Python 2, and 20 that does not. What does that means for our users? Firstly, they can’t normally upgrade Twisted if at least one of its reverse dependencies supports Python 2 and is installed. What’s important is that the user does not have to meaningfully need or use Python 2 in that reverse dependency. It is entirely sufficient that it supports Python 2 and the user is using default PYTHON_TARGETS. Of course, you could argue that changing the default PYTHON_TARGETS would resolve the problem without having to proactively remove Python 2 from Twisted revdeps. Today, I’m not sure which of the two options is better. However, back when cleanup started changing default PT would involve a lot of pain for the users. We’d have to reenable 2.7 via package.use for many packages (but which ones?) or the users would have to reenable it themselves. But that’s really tangential now.

  •        
  • Python Bytes: #192 Calculations by hand, but in the compter, with Handcalcs

    Idea by Guido van Rossum to bring back the print statement.

  •        
  • PyDev 7.7.0 released (mypy integration improvements, namespace packages)

    This release brings multiple improvements for dealing with type hints as well as improvements in the Mypy integration in PyDev: The MYPYPATH can now be set automatically to the source folders set on PyDev and the --follow-imports flag is set to silent by default (this flag is required because only one file is analyzed at a time in PyDev as failing to do so would end up showing errors for other files).

  •        
  • PSF GSoC students blogs: Weekly Check-in #10
  • PSF GSoC students blogs: Weekly Check-In: Week 10
  • Perl Weekly Challenge 71: Peak Elements and Trim Linked List
  • The Perl Weekly Challenge #071

    With another Linked List related task, I am now enjoying it a lot. It also gives me the opportunity to work with Class in Raku. Learning Raku has changed my thinking a big way. The developer inside me is more organised than before. Also doing regular weekly challenge made me think from unit test point of view every time I come up with a solution. In fact, it dictates the design of my solution. Now with the regular Live Video Raku Reviews by Andrew Shitov gave me the insights of others Raku solutions. It is amazing how he break the code into pieces to make it easy to understand. No book can teach you that. You only learn from experience or watching video from Andrew Shitov. Running [The|Perl] Weekly Challenge also taught me how to manage my spare time. I use my spare time very carefully. Before I would jump to anything that excites me. Last few weeks, I have started playing with Swift programming language. I am enjoying the journey. Please checkout my Swift solution to the Task #1 of Peak Elements.

  • Mariana Pícolo: The Second milestone

    By discussing with my mentor how could the best approach be, I found out that the notifications were already grouped on the code level, but these groups were not being represented in the UI. In the code, there's a class named Source, which is responsible for the group. They handle the info's about the app that have sent us any notification and store them. There's also a class named Notification, that creates a single notification, with title, banner, and has optional parameters such as playing sounds etc. Each Source has an array property that contains its notification objects, which gives us the groups. [...] Lastly, I'd like to talk about GUADEC which this year was completely remote. This was my first talk at a conference, in a language that I'm not a native speaker. I want to thank my mentor and the GNOME community for creating a comfortable environment for the interns to talk about their projects.

today's howtos