Chapter 8. Optimization and Performance

Table of Contents

Component Locations

Feeding components provide data to other components. Some components, such as video producers, provide large amounts of raw data. You should avoid sending this raw data over the network where possible. For instance, try to place the encoder component on the same computer as the producer, so that only the smaller encoded data stream travels over the network. Of course, this is not always possible if you are encoding in multiple formats.

The components' properties can affect how much bandwidth they would need to send data across the network. A high bit rate, resolution, and frame rate will generally produce large amounts of data. For instance, a firewire-producer component will produce 245 MBit/sec if set to 720x568 pixels, 24 bits per pixel, and 25 frames per second (PAL). On the other hand, a firewire-producer component set to 384x288 resolution (Quarter PAL) will produce only 61 MBit/sec of data.

Higher resolutions and frame rates will also cause a higher processor load so you will need a fast machine to encode high quality streams. However, each component runs in parallel in a separate process, so Flumotion will make use of multiple CPUs and multiple CPU cores. However, the actual CPU load is dependent on the input signal, because more complicated content will require more processor time to encode. You should monitor the load on the CPUs, avoiding a CPU load of over 70%.