GStreamer

GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete a complex workflow.

GStreamer supports a wide variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing.

The following figure shows the GStreamer framework.
Figure 1. GStreamer Framework