GStreamer

Gstreamer is a development framework for multimedia applications. It is a library with a plugin structure to allow for many different input/output formats. For example there are plugins for OSS, ALSA, JACK audio output, X (XVideo extension) and SDL video output and many input formats through plugins for Vorbis,FFmpeg,FLAC,etc.

It is written in C, but has many bindings for other languages, including Perl,Python,Ruby,Java.

The Gstreamer project has also developed several example applications, e.g.
 * gst-player -- Example general multimedia player
 * gst-editor -- Graphical gstreamer pipeline editor
 * gst-recorder -- Example audio/video recorder

Applications that (can) use the gstreamer framework include:
 * GPE NMF audio player
 * JuK
 * Muine
 * RhythmBox
 * Sound Juicer
 * Totem