|
|
Log in / Subscribe / Register

Development

UTOSC: Inexpensive audio and video recording

By Jake Edge
October 13, 2010

Clint Savage set out to inexpensively record audio from Linux user group (LUG) meetings that could be easily shared. Soon after he started making podcasts available, though, he started getting requests for video. That led him to investigate cheap video hardware as well as free software solutions for video. At the Utah Open Source Conference (UTOSC), Savage described his journey and the solutions he has found.

Near the beginning of his talk, Savage stressed that he is not an audio/video engineer, just an interested hobbyist, and that he was presenting tools and equipment that worked for him—not necessarily the "best" way to handle audio and video on Linux. He started out very simply, using a $7 microphone from Radio Shack to record LUG meetings. He used Audacity to add in some introductory audio and then made the audio available as podcasts.

Once he had that working, he investigated live streaming with a Shoutcast-compatible server. He tried Icecast, but it "took a long time to set up". In the meantime, his listeners wanted video, and he wanted to stay with free and open solutions while not breaking the bank, so he started looking into cheap video hardware.

For cameras, he settled on a Canon ZR80 MiniDV digital camcorder, but said you can also use almost any webcam, including those built-in to laptops. He wanted to be able to do screen capture for presentation slides and screencasts, which led him to the vga2usb device from Epiphan. While that works well, it costs around $300, so he found a much cheaper solution using a scan converter and EZCap, which does a reasonable job for around $60. Lowering the cost allowed him to outfit each of the half-dozen UTOSC presentation rooms with systems capable of recording audio synced with each talk's slides.

For video capture software he looked, briefly, at the proprietary offerings for Windows and Mac OS X, but was quickly put off by the price. Not only is there the "Apple tax" on hardware, which makes it more expensive than the equivalent Windows or Linux box, but then you need to spend something like $3000 for video software. Windows has similar offerings, but it is just as expensive.

For Linux, there are multiple choices for video editing (Kdenlive, Kino, PiTiVi) and for screen capture (Istanbul, gtk-recordMyDesktop), but none of those directly provide streaming solutions. Flumotion is a free streaming server, but he spent three days and "never got it working". Most of those tools use GStreamer under the hood, though, so he started looking into that.

GStreamer is a library and set of command-line tools for handling multimedia content. Savage showed several examples of using GStreamer from the command line, starting with a very simple:

    $ gst-launch videotestsrc ! ximagesink
and moving up into much more complex examples, including one that combined audio and video. GStreamer is based around the idea of sources (i.e. inputs) and sinks (i.e. outputs), along with capabilities (i.e. filters), that can all be combined with a pipe-like syntax using '!' rather than the shell's '|'. One can examine the available sources/sinks/capabilities with:
    $ gst-inspect | more
But the command line doesn't allow programmatic changes, nor changes "on the fly".

For doing more interesting things with GStreamer, Savage pointed to gst-python, which are Python bindings for the GStreamer library. Using gst-python allows adding and removing filters or adjusting audio/video inputs and outputs in real-time under the control of a program. It has been used to build various applications including audio players like Rhythmbox and Amarok.

Savage is quite excited about another, fairly new tool that uses gst-python. Freeseer is an "open source video studio in a backpack", according to its web page, that is built on GStreamer, Python, and KDE. It originally used the FFmpeg command line, but switched over to gst-python after a fairly short time. It is designed for recording conferences, but is more versatile than that.

Freeseer has a simple interface and, as Savage demonstrated, just hitting the "record" button starts recording the screen. It can record from various sources, including audio sources, and is set up to tag the multimedia files with things like which room is being recorded, title and presenter from an RSS feed, and so on. There are some features that Freeseer is missing—streaming, multiple video sources for picture-in-picture, and automatic upload for example—but development is moving quickly so those things, and undoubtedly others, will be addressed soon.

Savage was the executive director for this year's UTOSC, so he set up systems using Freeseer to do the audio and slide recording for each presentation room. He borrowed refurbished, low-end systems from the Electroregeneration society, and added in around $100 worth of equipment (screen grabber and microphone) for each room. He recommended a $50 Radio Shack wireless lapel microphone as the best he had found for presentations, and recording systems only require a Pentium 4 or better. So, for "a few hundred dollars", anyone can put together a system to record presentations, and it wouldn't take that much more to add in live video.

That was clearly a major part of Savage's intent with his presentation: to get other conferences, LUGs, and user groups of all kinds to do more recording of the presentations that they have. From a financial standpoint, it is well within the budget of almost any group, and the free tools are available and getting better. The financial barriers to entry for any group—technical or not—are pretty low, which is quite a change from where things stood five or even three years ago.

Comments (4 posted)

Brief items

Quotes of the week

When you build software in Java and the JVM, you are being locked into only running it on a platform controlled by a single company - Oracle. Oracle is working to maintain this platform control, by refusing to remove the field of use clauses in the TCK, effectively preventing Apache Harmony from ever being able to ship a real release. The lawsuit against Google also confirms Oracle belief about using their control of the platform aggressively.
-- Paul Querna

As Roozbeh noted, Unicode 6.0 came out yesterday. Somewhat fittingly (given it having been National Coming Out Day), it adds
U+1F46C 👬 TWO MEN HOLDING HANDS and
U+1F46D 👭 TWO WOMEN HOLDING HANDS

Unfortunately most people will probably be looking at small boxes with numbers in there for a while yet, which is probably a wonderful metaphor but I'm not quite sure for what.

-- Matthew Garrett

Please pull the changes below, I've forgotten about them for too long now. They've been in my tree long enough to develop a full colour, an exquisite bouquet and a nutty, slightly cheddary flavour. It's just too good, I can't hold that back from anyone. Best enjoyed with crack(ers), because clearly anyone who tackles grab code needs that anyway.
-- Peter Hutterer

Comments (1 posted)

Evolutionary Algorithms in Python (0.6)

The first public release of EAP (Evolutionary Algorithms in Python) is out; EAP is a package intended to make the implementation of evolutionary algorithms easy. "This public release (version 0.6) is more complete and simpler than ever. It includes Genetic Algorithms using any imaginable representation, Genetic Programming with strongly and loosely typed trees in addition to automatically defined functions, Evolution Strategies (including Covariance Matrix Adaptation), multiobjective optimization techniques (NSGA-II and SPEA2), easy parallelization of algorithms and much more like milestones, genealogy, etc."

Full Story (comments: none)

Firefox 4 beta for Android and Maemo

For those of you looking to run Firefox on mobile devices: the first Firefox 4 beta for mobile is available. "Firefox 4 Beta includes Firefox Sync to create a seamless Web browsing experience between desktop and mobile. With Firefox Sync, you can take your browsing history, bookmarks, tabs, passwords and form-fill data with you anywhere so you never have to retype passwords or long URLs again."

Comments (12 posted)

Call for bids: GTK+/MeeGo Handset integration work

The GNOME Foundation is requesting bids from developers who would like to work toward the integration of GTK+ with the MeeGo handset platform. "The tasks to be achieved are: Ensure that GTK+ applications display as expected on the MeeGo Handset platform, including checking that fixes to the compositor are made if necessary...."

Full Story (comments: none)

The Linspotting project - Linux video editing workflow ready for action

The Linspotting project provides a video editing workflow that is now ready for production use. "The solution includes most features expected in professional video editing packages, such as: multi-track editing, support for a wide range of formats and codecs (mp3, mpeg2, mpeg4, DnxHD, Theora and others) and platforms (eg, Vimeo, Youtube), an important set of effects and transitions, support for screen captures, custom rendering profiles and subtitle support."

Comments (4 posted)

Pogo 0.1 released

Pogo is a new audio player; the first release (0.1) is now available. "Pogo plays your music. Nothing else. It tries to be fast and easy-to-use. Pogo's elementary-inspired design uses the screen-space very efficiently. It is especially well-suited for people who organize their music by albums on the harddrive."

Full Story (comments: 2)

Newsletters and articles

Development newsletters from the last week

Comments (none posted)

Seigo: activities as homonyms

On his blog, KDE hacker Aaron Seigo looks at the differences between "activities" in GNOME 3 and KDE 4. Both desktop environments use the term, but they each have their own interpretation. "They [GNOME] call this "activities" in an attempt to make the abstract and geekish "virtual desktops" more approachable to people. It is not, however, what most humans would call an activity in every day conversation. It's just a more recognizable name for an old concept that they gave some polish. [...] In KDE software, an "activity" is actually much closer to what we'd call an activity in the real world: it's a collection of tools with a task based theme. What the theme is remains up to the person using the computer; Plasma just provides an interface with which to create an activity and start defining what belongs to it."

Comments (16 posted)

Page editor: Jonathan Corbet
Next page: Announcements>>


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds