您查看的文章来源于http://www.oklinux.cn
Stefan Kost describes GStreamer features that have been implemented and that are in the works, and he steps users through setting up an example with which to play.
Introduction
GStreamer is mostly known as a back-end for media players like Totem and Rhythmbox. Besides that, it is used as a foundation for content creation tools like Jokosher, Buzztard, Marlin, and PiTiVi.
Recent changes make the framework more useful for creative media processing. GStreamer-0.10.12.1 (cvs) got latency handling. This allows realtime effects on live sources (alsasrc ! effects ! alsasink). Also, lots of work went into flexible data format support [int (8/16/32 bit) and float (32/64 bit)] in audio processing effects. Finally, the new jacksrc provides a bridge between the desktop applications and the professional Linux Audio world. Using the jackd daemon allows routing audio signals between applications.
What kind of effects are there?
The package gst-plugins-base mostly provides elements to convert or adapt properties such as number of channels, formats (float/int and bit-depths) and sampling rate.
In gst-plugins-good is the audiofx plugin, that brings audiodynamic, audioamplify, audioinvert, and audiopanorama elements. There is also a peak-level meter.
In gst-plugins-bad is the equalizer plugin with several equalizer variants and a spectrum analyzer. Currently, the LADSPA wrapper is also there. LADSPA is the Linux Audio Developers Simple Plugin API. On my Linux system, I have 231 elements installed, and the GStreamer LADSPA plugin makes those available for use in GStreamer.
The code repository of the Buzztard project brings more elements. First, there is a gst-buzztard module which provides some experimental GStreamer extensions, a simple software synthesizer (simsyn), and an effect called audiodelay. Second, one can install the bml, gstbml modules. This provides a wrapper like LADSPA, but this time for so called “buzz machines.” These are win32/x86 DLLs of a discontinued freeware music composer called “buzz.” Buzz comes with more than 500 free sound generators and effects. The gstbml wrapper makes most of them available as GStreamer elements. Please note that these modules are a bit more difficult to set up. If you have problems, help is just one click away.
Example
Lets get practical! As a shameless act of self-advertisement, I recommend you to install buzztard from CVS if you want to try the examples yourself. The example also needs an up-to-date GStreamer from CVS. For the not-so-fearless, I have some screenshots: