Appendix C. Under the hood

Table of Contents

Flumotion uses two technologies to pull everything together. The distributed nature and network abstraction is provided by Twisted. [3] The streaming and data handling is handled by GStreamer. [4]


The processing and streaming of large amounts of data is what takes up the most processing power. Hence it needs to be very optimized. GStreamer is written in C and has been tested extensively in a number of projects.

GStreamer has a pipeline-based architecture, where elements are linked to handle a media flow through the pipeline. The parts used by Flumotion are suitably optimized to run as efficiently as possible, so that Flumotion can handle large volumes of data and clients.

[3] Twisted is a framework, written in Python, for writing networked applications. See twisted-home.

[4] GStreamer is a multimedia framework written in C. See gstreamer-home.