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.