In a video broadcast production environment, multiple different video sources have to be rendered into multiple different outputs. As the technology evolves, for example in the recent transition to IP-based broadcast, the needs of the market are continuously fluctuating. In order to successfully meet those needs, the key values to adhere to are openness, flexibility and interoperability. Our approach describes a Linux-based video broadcasting system that is built around these values.
We are greatly aided in this effort by the GStreamer framework. GStreamer is an open source pipeline-based multimedia framework, with pipelines dynamically constructed out of small composable components in a greater hierarchy. GStreamer's open and flexible nature enables us to easily support multiple types of input and output, therefore enhancing interoperability while still relying on open standards. Furthermore, its GL extensions enables us to use a cross-platform abstraction layer for GPU-accelerated video processing. Another important aspect in our use case is the ability GStreamer gives us to dynamically and seamlessly change the pipeline, adding and removing inputs and outputs as it runs without interrupting already running inputs or outputs.
In this talk, we demonstrate the use of GStreamer in a distributed IP-based production environment, which still also support SDI inputs and outputs. It is location independent, meaning that several physically isolated pipelines can nicely work together over the network while still keeping synchronization. Network synchronization is achieved by leveraging open standards like PTP, RTP/RTSP, which also allows interoperability with third party solutions.
We explain the architecture of our product and show the range of input and output types supported - for example, Decklink and URI (file or network) inputs can be combined, and the output can be shown locally, written to a file and also redirected to an RTSP server. We also present our development model, with emphasis on the contributions to the GStreamer project that it has enabled and still enables us to make.
Paraskevi Nikolaidou (also known as Vivia) is currently working as a GStreamer developer. She has been active in the Open Source community and has participated in various Free and Open Source projects since 2004 when she joined the Agent Academy project. Vivia has obtained her PhD in Electrical and Computer Engineering from the Aristotle University of Thessaloniki in 2011, where she worked on multi-agent systems as well as data mining methods in supply chain management. Her open source contributions range from SCCORI Agent which was part of her PhD studies, to her contributions to the GStreamer multimedia framework, passing by her involvement with the aMSN project during her spare time. She lives in Thessaloniki, Greece, where she is currently working remotely for ToolsOnAir, a company based in Austria that works with broadcast production software, working on their GStreamer-based platform. She likes ducks, green tea, learning foreign languages and playing the flute.
Geelong is Victoria's second largest city, located on Corio Bay, and within a short drive from popular beach-front communities on the Bellarine Peninsula as well as being the gateway to the famous Great Ocean Road
linux.conf.au is widely regarded by delegates as one of the best community run Linux conferences worldwide and is the largest Linux and Open Source Software conference in the Asia-Pacific.
Our Sponsors help make linux.conf.au become the awesome conference everyone comes back to year after year. Come see who's on board this year, or find out how to get in contact with us