Media Graph Libraries

Today I want to do a quick survery of some popular media processing libraries that are "graph-flavored". By that I mean that their design is based around creating nodes that describe sources, destinations (sinks) and intermediate processings steps, connecting them and then managing the data by "executing" the graph in some form or another.

Libraries

The defining characteristic of these libraries is having composable nodes acting on buffers.

Design Notes

Libraries with other styles

There are media libraries which don't have this, at least at the library surface. Here are some notable ones.

For examples of how these libraries end up using more specific components with occasional interfaces to cobble them together, see the Grafika examples from Android, or read the SurfaceTexture docs for how they can be chained in more flexible ways (but not at all quite like what Media Foundation or GStreamer support).

Happy media processing!

Tags:  graphics

Home