open source multimedia framework
Annual Conference
Planet (Blogs)
Security Center
Mailing Lists
File a Bug
Bug Lists
Follow @gstreamer on Twitter

GStreamer Conference 2015 - speaker biographies and talk abstracts

Dublin, Ireland, 8-9 October 2015

Back to conference main page

Back to conference timetable

GStreamer and WebKit, Philippe Normand (philn), Igalia

This talk is about the current status of the GStreamer support in WebKit and how the latest GStreamer features are used in WebKit ports.

The talk will cover topics ranging from basic video rendering (with GstGL) to advanced features support required for adaptive streaming (Media Source Extensions) and content protection (Encrypted Media Extensions). An update on WebRTC support using the OpenWebRTC library might also be presented during the talk.

Philippe Normand is a software engineer working for Igalia. His expertize spans between GStreamer and WebKit, where he has been improving the multimedia backends required for the HTML5 Living Standard.

ogv.js: bringing open codecs to Safari and IE with emscripten, Brion Vibber, Wikimedia

The ogv.js project will soon be used on Wikipedia and Wikimedia Commons to provide playback of Ogg and WebM media in Safari and MS IE/Edge browsers without requiring codec or plugin downloads -- including on iOS and Windows 10 Mobile.

This replaces the old Cortado Java applet as a compatibility shim for relatively recent browsers that still lack built-in WebM or Ogg support, and provides an API more similar to the native HTML5 video element.

The project uses the emscripten cross-compiler to produce JavaScript code from the standard C codec libraries (libtheora, libvorbis, libopus, libvpx), which is then wrapped in a fairly lightweight JavaScript framework to run decoding and send output to a canvas element and Web Audio (or Flash on IE 10/11).

The JavaScript platform carriers a number of interesting challenges: slightly funky compilation, performance bottlenecks, limitations on threading, and a lack of synchronous i/o which some libraries expect.

Brion Vibber is currently the Lead Software Architect for the Wikimedia Foundation and a member of the Mobile Apps development team.

Chromium: a new media Backend based on GStreamer, Julien Isorce, Samsung

The GStreamer backend has to follow chromium's multiprocess and sandboxing architecture. Unlike in webkit based browsers, GStreamer pipelines cannot live in the tab-specific processes (Render processes). Chromium design and rules require a different approach than WebKit-based browsers. We will explain why it cannot live in any of the existing processes (Browser process, Renderer Process, GPU Process).

For the sake of the project this new backend must be as efficient as existing media backends in chromium (ffmpeg, chunk demuxers, HW decoder wrappers). One of the purpose of using GStreamer is also to re-use HW decoder elements it provides (gst-v4l2, gstreamer-vaapi, gst-omx, ...).

We will detail how the Media Process interacts with other processes using chromium IPC api and how GstPlayer is integrated. We will describe the sandbox policies we defined for the Media Process and how it blocks or filters system calls. We will explain how the GStreamer pipelines get data from the web through Browser Process to respect sandbox restrictions. Due to sandbox restrictions we will describe how GstGL can access the chromium GPU process to produces OpenGL textures.

Announcement: Announcing a new GStreamer Backend for Chromium

Julien Isorce works for Samsung R&D in London.

Bringing GStreamer to Radio Broadcasting, Marcin Lewandowski, RadioKit

A history of building a radio broadcasting software based on GStreamer.

From GStreamer 0.8 to 1.4.

From monolithic attempts to microservices.

From plain C to Ruby wrappers.

From no tests to test-driven development.

Short history of many tries and (unfortunately) even more failures.

Marcin Lewandowski is Spiritus Movens at RadioKit. Some call him a one men army, others prefer to call him a jack of all trades. Marcin has been juggling with IT and media for ages and it seems that in his life all roads lead to RadioKit instead of Rome. He's built several radio stations (both internet and FM) from scratch and always missed a tool that is web-based, simple as hell, easy to integrate and designed for age of social networks, not FM transmitters. So he made one.

How to Contribute to GStreamer, Luis de Bethencourt (luisbg), Samsung

Contributing to the GStreamer project is easier than you might think; the community is very welcoming.

The GStreamer community is spread over 6 continents and coming from a multitude of companies and backgrounds. How does this diverse group push together for the common goal of making GStreamer even better release after release? Luis will share who the community is, how it operates, the tools used and more behind-the-scenes information, with the aim to give you a running start to help you join and contribute.

Just like Soylent Green, GStreamer is people.

Luis de Bethencourt is a freedom-loving technocrat, who currently works for Samsung's Open Source Group in London. He has always enjoyed programming and playing around with video, so since he discovered GStreamer 5 years ago he's been hooked. Originally from the Canary Islands, computers felt like a door to the world. Luis saw open source software as the best way to enter the innovative technology community, see how it all works, and become a part of it. He enjoys being in front of the screen, behind the screen, Friday beers, Sunday ice-creams, walks in the park, and people who read bios to the end.

Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspectives, Luis López Fernández

WebRTC is one of the main trends on the multimedia arena in the last few years. The ability of bringing real-time audio and video to WWW browsers opens new horizons for developers to create context aware customized applications for inter-human communications. However, for WebRTC technologies to work seamlessly in WWW applications, it’s necessary to manage with a number of present and future complex challenges.

In this talk, we present the experience of the Kurento Media Server team in creating a WebRTC endpoint for GStreamer. We describe the main problems and limitations basing on current GStreamer status describing which parts of WebRTC standards can be currently implemented with GStreamer and which parts require further evolutions and efforts from the community. We will also describe the plans and drafts that are emerging at different standardization groups, including the WebRTC WG at W3C and the RTCWeb WG at IETF. Basing on this, we will try to forecast how WebRTC technologies in particular, but also how real-time multimedia communications in general, may be evolving in the next couple of years and the activities that the GStreamer community should be considering for adapting to these evolutions.

In particular, we shall introduce in detail topics such as the following:

  • The evolution of ICE (Interactive Connectivity Establishment)
  • Congestion control for RTC streams
  • Implementing WebRTC security securely
  • Implementing and optimizing the AVPF profile for RTP
  • Benchmarking WebRTC: stats metrics
  • Managing sensor data through DataChannels

Dr. Luis Lopez is associate professor at Universidad Rey Juan Carlos in Madrid, where he carries out different teaching and research activities in areas related to WWW infrastructures and services. His research interests are concentrated on the creation of advanced multimedia communication technologies and on the conception of Application Programming Interfaces on top of them. The aim of such technologies is to simplify the development of professional real-time communication services satisfying complex and heterogeneous requirements. Dr. Lopez research ideas have generated more than 60 scientific and technical publications and have been included into important research and industrial projects including FI-WARE ( and NUBOMEDIA ( Currently, Dr. Lopez is leading the initiative: an open source software infrastructure providing server-side capabilities for WebRTC with features such as group communications, computer vision, augmented reality, transcoding, mixing and much more.

Improving GStreamer performance on large pipelines: from profiling to optimization, Miguel París Díaz, Kurento

When using GStreamer for creating media middleware and media infrastructures performance becomes critical for achieving the appropriate scalability without degrading end-user QoE. However, GStreamer does not provide off-the-shelf tools for that objective.

In this talk, we present efforts carried out for improving the performance of the Kurento Media Server during the last year. We present our main principle: “you cannot improve what you cannot measure”. Developing on it, we introduce different techniques for benchmarking large GStreamer pipelines including callgrind, time profiling, gst-meta profiling, chain-profiling, etc.

We present results for different pipeline configurations and topologies. After that, we introduce some evolutions for GStreamer which could be helpful for optimizing performance such as the pervasive use of buffer-lists, the introduction of thread-pools or the appropriate management of queues.

To conclude, we present some preliminary work carried out in the GStreamer community for implementing such optimization and we discuss their advantages and drawbacks.

Miguel París is software engineer and has a Msc in Telematics Systems. He works as researcher in new multimedia systems and is the manager of real-time communication area in Kurento team, where is the responsible of the WebRtcEndpoint. He has participated in the design of Kurento architecture and APIs and in the development of Kurento GStreamer elements. In addition, he has contributed to GStreamer community with some patches and discussions about RTP stack and other stuff.

Kurento Media Server: experiences bringing GStreamer capabilities to WWW developers, José Antonio Santos, Naevatec/Kurento

GStreamer is a powerful framework, but creating applications using it requires a high degree of expertise, which is not available on the common WWW development community. However, the emergence of technologies such as WebRTC is increasing the interest of media technologies on that community, which opens a relevant opportunity of reinforcing the GStreamer community.

In this talk, we present the experience of Kurento Media Server for bringing GStreamer capabilities to WWW developers. We describe how we have created an abstraction layer on top of GStreamer for making available complex media capabilities through simple and seamless APIs enabling the creation and management of dynamic pipelines. We describe the limitations, problems and challenges we have found in doing so as well as the feedback gathered from WWW developers in relation to the simplicity and appropriateness of GStreamer for solving their needs. Through this feedback, we will analyze the evolutions further capabilities that WWW developers may be demanding in the near future.

To conclude, we present the roadmap of Kurento Media Server for answering to such demands using and extending GStreamer.

José Antonio Santos is a programmer and a software engineer working at Naevatec. He has been working in research, specially in the field of multimedia communications for the last 6 years. As part of this research, the Kurento project was born. Currently he is leading development of Kurento Media Server inside the Kurento project as well as working in integration with client APIs (java and JavaScript).

GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware, Víctor M. Jáquez L., Igalia

GStreamer-VAAPI is a set of GStreamer elements (vaapidecode, vaapipostroc, vaapisink, and several encoders) and libgstvapi, a library that wraps libva under a GObject/GStreamer semantics.

This talk will be about VAAPI and its integration with GStreamer. We will show a general overview of VAAPI architecture, the role of libgstvaapi, and finally, the design of GStreamer elements. Afterwards we will show what is ahead in the development of GStreamer-VAAPI, and the current problems and challenges.

Víctor started to work in GStreamer in 2006, on an initial implementation of GStreamer elements wrapping OMX components. Later on, he moved to other related projects such as the WebKit, Ekiga, etcetera. Last year, he returned to the GStreamer arena, helping with gstreamer-vaapi.

Hardware-accelerated multimedia on TI’s Jacinto 6 SoC, Pooja Prajod, Texas Instruments

Performance is an inevitable factor for any product. In software world we quantize performance by time and efficient use of memory. To improve the time factor the best solution is to use hardware for computations. TI's J6 SoC has a dedicated IP called IVA-HD for hardware accelerated decode and encode. There is another IP called VPE which takes care of de-interlacing, scaling, colorspace conversion, cropping etc. Efficient use of memory is also interleaved with using hardware of accelerated multimedia. Gstreamer framework gives the flexibility to change the buffer allocation strategy for each plugin. The technique of dmabuf is used to share the buffer memory between hardware and userspace. To improve the performance the allocated buffers can be re-used provided the fd values associated with the buffer is stored as a metadata. The pipelines and buffer flow between plugins depends on the use-case.

Pooja Prajod has been working for Texas Instruments, India Pvt Ltd. since July 2014. Pooja is 24 years old and did her bachelors in Computer Science and Engineering from NIT Calicut, India. She handles GLSDK multimedia components with module ownership of J6 GStreamer deliverables, and before that handled the TI gstreamer plugin migration from 0.10 to 1.2. Pooja loves reading sci-fi books and travelling.

Colorspaces and HDMI, Hans Verkuil, Cisco

Colorspaces are a complex topic and this is even more true once theory meets practice. This talk will go into the practical details of implementing colorspace and colorspace conversion support for HDMI transmitter and receiver drivers. I will demonstrate the effect of the most common colorspace mistakes and look at some of the HDMI limitations with respect to colorspace handling.

Hans Verkuil started contributing patches to the MPEG encoder/decoder ivtv driver in early 2004 and it snowballed from there. Since 2013 he is the video4linux co-maintainer responsible for V4L2 bridge drivers and video receivers and transmitters. He lives in Oslo, Norway, working as a senior R&D software engineer at Cisco Systems Norway, developing - surprise! - video4linux drivers.

Pointing cameras at TVs: when HDMI video-capture is not an option, Will Manley,

At we use image processing to perform automated black-box testing of set-top boxes. This means that we capture video over HDMI and look for UI elements based on screenshots we'd previously captured. This works great for set-top boxes, but what about Smart TVs which don't have an HDMI output?

This talk will describe how we use GStreamer, OpenCV and OpenGL to go from an image captured with a camera back to a nice flat image as if it had been captured over HDMI.

William Manley is software developer and a co-founder of, a company that provides automated testing equipment and services for set-top box manufacturers. In a previous life he worked on set-top box middle-ware. He has been working with GStreamer since 2012 with a particular interest in v4l and sending video over IPC.

GstPlayer - A simple cross-platform API for all your media playback needs, Sebastian Dröge (slomo), Centricular

Many applications need the ability to play back audio or video media in one way or another, and somehow integrate this media playback into their user interface. While GStreamer allows us to do that since 15 years now, it was never an easy task to do and especially much harder than on other platforms like Microsoft's MediaFoundation, Apple's AVFoundation and Android's MediaPlayer API. Adding cross-platform, GStreamer based playback to an application usually meant writing tens of hundreds of lines of code.

And this is where GstPlayer comes into play. It provides you with a simple media playback API that hides all the GStreamer details you don't want to worry about and allows you to write a simple "Hello World" playback application in less than 10 lines of code. On the other hand it also provides you with all API a full-features media playback application would need. This includes an API for all the basic playback operations (play, pause, seek, ...), media information, trick modes, audio visualization, subtitles and a simple video embedding API for embedding video into the application's user interface. And if all that is not enough, you still have access to the low-level GStreamer API and can customize everything.

In this talk I will introduce GstPlayer and give an overview of its API, the already existing features and the future plans, including integration into GStreamer. This will be followed by some time for questions and discussions.

If you write an application that needs to do media playback in some way, this talk is for you. Get an idea of GstPlayer and let's discuss if anything is missing to make GstPlayer the solution for your application.

The current status of the code can be found at

Sebastian Dröge is a Free Software developer and one of the GStreamer maintainers and core developers. He has been involved with the project for almost 10 years now. He also contributes to various other Free Software projects, like Debian, GNOME and WebKit. While finishing his degree in computer sciences at the University of Paderborn in Germany, he started working as a contractor for GStreamer and related technologies.

Nowadays Sebastian is working at Centricular, a company providing consultancy services around GStreamer and Free Software in general.

Apart from multimedia related topics, Sebastian has an interest in digital signal processing, programming languages, machine learning, network protocols and distributed systems.

Synchronised multi-room media playback and distributed live media processing and mixing with GStreamer, Sebastian Dröge (slomo), Centricular

Many use cases today require synchronised multimedia handling between several, independent devices, possibly in different rooms. These requirements arise in consumer use cases, like multi-room playback of videos on TVs, mobile devices and other parts of a home entertainment system, to allow the user to switch between rooms without interrupting his multimedia experience. Similar requirements also arise in industrial and professional use cases, for example for building video walls as used for digital signage or control rooms, or for distributed live media processing and mixing in professional media production and editing scenarios.

In this talk we will discuss how the flexibility of the GStreamer multimedia framework allows to implement these use cases, and which features are already provided to make it very simple to develop such applications. We will briefly introduce how data flow handling and synchronisation works in GStreamer. After this we will discuss how various open standards like RTP/RTSP and PTP/NTP can be leveraged to implement these use cases, while providing interoperability with other solutions. We will discuss how these are integrated into GStreamer and which challenges exist.

Sebastian Dröge is a Free Software developer and one of the GStreamer maintainers and core developers. He has been involved with the project for almost 10 years now. He also contributes to various other Free Software projects, like Debian, GNOME and WebKit. While finishing his degree in computer sciences at the University of Paderborn in Germany, he started working as a contractor for GStreamer and related technologies.

Nowadays Sebastian is working at Centricular, a company providing consultancy services around GStreamer and Free Software in general.

Apart from multimedia related topics, Sebastian has an interest in digital signal processing, programming languages, machine learning, network protocols and distributed systems.

OpenGL Desktop/ES for the GStreamer pipeline, Matthew Waters (ystreet00), Centricular

OpenGL is a powerful API usually accompanied by dedicated hardware. Equipped with GLSL, one can envisage complex (or simple) filters, mixers, sources and sinks that transform, produce or consume the typical video stream in extraordinary ways.

This talk will provide for an overview on the current integration state of GStreamer + OpenGL and a look into the future of GStreamer with OpenGL.

Matthew Waters has only just started his hopefully long and rewarding FOSS career after using Linux for the past couple of years. When he isn't hacking on GStreamer's OpenGL support, he is attending University and playing around with waveforms.

Robust lipsync error detection using GStreamer and QR Codes, Florent Thiery, Ubicast

Audio to video synchronization (also called lipsync ) is a critical aspect of multimedia processing that may be affected anywhere along the media workflow, from capture to delivery. This talk will describe a blackbox-style approach and analysis software based on gstreamer and QR Codes designed to help solve this recurrent problem regardless of the nature of the system.

Florent Thiéry is the C.T.O. and one of the co-founders of UbiCast, a 2007-founded french startup company that builds gstreamer-based solutions designed capture and webcast interactive videos, like the Gstreamer Conference video archive.

Bin It! AKA, How to use bins and bin subclasses to keep state local and easily manage dynamic pipelines, Vivia Nikolaidou, ToolsOnAir

At ToolsOnAir we have dynamic pipelines, where inputs and outputs of varying complexity are added when the main pipeline is PLAYING. In this scenario, state changes and callbacks can be very tricky and can lead to bug-prone spaghetti code. An easy way to keep our code clean, manageable and bug-free™ is by using bins and bin subclasses. These help manage groups of elements that usually go together and perform all the complicated state change black magic for us. As an added bonus, error handling is made much easier. At the end of the day, these advantages greatly outbalance the initial overhead required to write a bin subclass.

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 20211, 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.

The HeliosTv Distributed DVB stack, Romain Picard, Soft@Home

HeliosTv is a project whose aim is to allow the implementation of a distributed DVB stack. Distribued in this context means that the different components of a DVB stack can be implemented in different processes and in different devices. The project is composed of a deamon and a client library. The daemon manages the reception of DVB services, and forwards the TS streams or DVB sections to clients via an IPC or network link.

The client library is used by client applications to communicate with the server. A GStreamer source element based on this library was developed.

This project allows to implement DVB components that are independent from each other and that do not have to manage the frontends : EPG database, live player, live recorder, DSMCC downloader, AIT monitoring can all be implemented independently, and can be executed on different devices in the LAN.

HeliosTv is inspired from the TvHeadend and Sat2Ip projects, and is based on GStreamer, Boost, and MsgPack.

The project is at an early stage where only services are streamed by the daemon. The next step is to add DVB section support.

Romain Picard is software architect at SoftAtHome where he designs and develops software for set-top-box devices. During the last years he was especially involved in GStreamer based software and adaptive streaming technologies.

Video Filters and their Applications, Sanjay Narasimha Murthy, Samsung

Video filtering is not only for noise removal and enhancement but it also has a huge number of applications. Application can range from simple effects which work on player or camera like sketch, paper camera to advanced uses of AR applications, high speed filtering for sports mode, camera effects.

High speed filtering has become very important too these days due to the introduction of High frame rate cameras on mobile phones.

This talk will cover some of the most popular filtering techniques including convolution and some of the practical use cases which are already in use. This talk will also cover the challenges faced in terms of memory requirements and CPU usage and quality of output. Finally we will see the near term possibilities of these filters.

Sanjay currently works for Samsung Research India in Bangalore. He has a masters degree in computer science. He has around 14 years of experience in the field of Multimedia. He has worked on various Samsung Mobile phones which range from SHP, Bada to Android and has implemented several multimedia features and applications for Samsung Mobiles, is currently working on Tizen Multimedia and contributing to GStreamer Open Source. Tizen Multimedia is mostly based on GStreamer.

Tiled Streaming of UHD video in real-time, Arjen Veenhuizen, TNO

Since 2011, Dutch independent contract research organization TNO has been developing a technology for interactive delivery of ultra-high resolution video. This technology, referred to as tiled streaming, enables (mobile) devices to display and freely navigate (using pan-tilt-zoom) ultra-high resolution (4K, 8K, 16K and up) video recordings, while keeping bandwidth requirements low (e.g. 4-6 Mbps). Key asset is that this streaming technology is based on standard protocols and codecs (MPEG DASH/HLS and H.264) and that it potentially scales to millions of simultaneous users in real time.

With tiled streaming, the high resolution panorama is spatially divided into in a number of video regions (“tiles”) at various resolutions and the end-user device only retrieves those tiles that are required to render a specific viewpoint. Display and interaction takes place at the front-end (e.g. a tablet) while the tiles are actually rendered at the back-end.

Processing such ultra-high resolution video streams in high quality (e.g. bandwidths of 1Gbps+ or higher) poses great challenges, especially when the processing must be performed in real-time.

GStreamer is extensively used in the back-end of the tiled streaming system and a (distributed) tiled streaming platform is currently being developed, optimized and tested within the Amsterdam ArenA football stadium in the Netherlands. Our talk will focus on this distributed back-end, its design, challenges, lessors learned and future work.

Arjen Veenhuizen (1985) is a Research Scientist at the Netherlands Organization for Applied Scientific Research (TNO) with a passion for hands-on development of cutting-edge technology in the area of media networking. He excels in rapid prototyping and achieving his goals in a lean and mean fashion and is profound in coordinating and developing larger scale platforms. Furthermore, he values the importance of applying new technologies to the present day. He is lead architect for TNO tiled streaming technology, allowing for real time efficient and scalable delivery of ultra-high resolution video to mobile devices. He has been pioneering multi-source and multi-device synchronisation technology in the European HBB-Next project which has party been standardized in HbbTV 2.0.

Camera Sharing and Sandboxing with Pinos, Wim Taymans (wtay), RedHat

Pinos is a deamon that aims to make it easier to access multimedia content in applications. It is built on top of DBus and GStreamer and uses fd-passing to efficiently pass multimedia around. It's first goal is to provide access to v4l2 cameras and provide the access control checks needed for sandboxing. We will go over the design, show some demos and talk about the future.

Wim Taymans has a computer science degree from the Katholieke Universiteit Leuven, Belgium and decades of software development experience. He co-founded the GStreamer multimedia framework in 1999 and is the person behind much of the current design. Wim Taymans is a Principal Software Engineer at Red Hat, responsible for various multimedia packages and pulseaudio.

Going Live with ToolsOnAir’s GStreamer-based broadcast mixing architecture, Heinrich Fink, ToolsOnAir

Within the last year, we have used GStreamer to develop the architecture of a new live broadcast mixing engine. A single large live pipeline is constantly running. Inputs, outputs and new channel busses can be created and added to the running pipeline at any time. The mixer output and its inputs can be manipulated and monitored remotely by an accompanying OSX mixing application. This application also uses GStreamer to play back streams coming from the engine. Application and engine are both synchronised to a common global PTP clock, using GStreamer's own synchronisation methods.

In this talk we are going to present the overall architecture of this system. We show how bleeding-edge features of GStreamer 1.6 enable a very powerful and extensible mixing pipeline for IP-based broadcast video. Among those are PTP clocking support, RTP/RTSP enhancements, improved use of GPUs, improved OSX support, better decklink elements etc. We'll also show the successful integration of BBC's IP studio system with our GStreamer-based pipeline. This is the result of a recent field-trial of the ICoSOLE EU project that ToolsOnAir and the BBC are part of.

Heinrich Fink is a software engineer at ToolsOnAir. He has a MSc in Visual Computing and is currently working in the R&D team at ToolsOnAir. He has been working as a teaching assistant for several years together with Professor Michael Wimmer at TU Vienna. His work “Teaching a modern graphics pipeline using a shader-based software renderer” was published by the Computers & Graphics Journal. During his master thesis “GPU-based Video Processing in the Context of TV Broadcasting” he implemented the open-source OpenGL benchmarking tool “gl-frame-bender”. At ToolsOnAir, he is leading the development of a new GStreamer-based media engine which is used by future and current products.

Faster transcoding with GStreamer in the cloud, Thiago Sousa Santos, Samsung

Transcoding media files is a common activity when dealing with online content. Users will submit files in different formats which need to be transcoded before distribution as clients on different target devices will have different requirements. Transcoding can be a resource and time consuming task and a possible way to reduce the time needed is to distribute the processing to multiple machines.

This talk will show how GStreamer pipelines were used in a distributed transcoding solution and present some of the results obtained in its experiments when compared with a single computer transcoding.

Thiago started writing multimedia applications from the early days of his Computer Science course. He first used OpenCV and, a bit later, got interested in developing with and in GStreamer itself, and he's been part of the community ever since. Thiago has chosen Open Source to be his career and is now one the founder members of the Samsung OSG Multimedia team. Day to day work includes maintaining GStreamer and bringing internal projects closer to upstream.

Distributed Acoustic Triangulation, Jan Schmidt (thaytan), Centricular

There are already a lot of microphones connected to computers in most houses.

This talk is about using them as an array to do clever things like narrowing down which light a person means when they say 'turn on the lights'

Jan Schmidt has been a GStreamer developer and maintainer since 2002. He is responsible for GStreamer's DVD support, and primary author of the Aurena home-area media player. He lives in Albury, Australia and keeps sheep, chickens, ducks and more fruit trees than is sensible. In 2013 he co-founded Centricular - a consulting company for Open Source multimedia and graphics development.

Stereoscopic 3D Video in GStreamer Redux, Jan Schmidt (thaytan), Centricular

Last year, I talked about a plan to implement handling of stereoscopic video in GStreamer. This talk is about how that plan played out.

GStreamer doesn't currently provide any explicit support for stereoscopic content. This talk is about ongoing work to integrate strong 3D and multiview support for GStreamer 1.x - to support technologies like 3D TV that are already widely available, as well as an extensible framework for future systems.

Jan Schmidt has been a GStreamer developer and maintainer since 2002. He is responsible for GStreamer's DVD support, and primary author of the Aurena home-area media player. He lives in Albury, Australia and keeps sheep, chickens, ducks and more fruit trees than is sensible. In 2013 he co-founded Centricular - a new company for Open Source multimedia and graphics development.

Interactive video playback and capture in the Processing Language via GStreamer, Andres Colubri,

The Processing project is a Java-­based open­‐source programming language and development environment that aims to bridge art, science, and design by turning code into a creative medium for artists and designers, and by promoting visual thinking among scientists and engineers.

These goals often require the use of video in different applications: interactive installations, generative artworks, and data visualizations, to name a few. The GStreamer framework provided the underlying foundation for real­‐time video playback and capture in Processing for almost a decade since the 0.10 release, and by doing so has allowed creators all around the world to use high­‐quality, interactive video in their work (e.g. this or this).

In this paper, we would like to show how the development of the java bindings for GStreamer accompanied this and were refined over the years to allow innovative uses of video.

After the 1.0 release of GStreamer, new strategies needed to allow Processing and Java applications in general to continue to GStreamer, and we will describe the ongoing work in order to update the bindings and video library in Processing to use GStreamer 1.x.

Andres is a researcher working on data visualization and interactive graphics. He is an active contributor to the Processing project, a language and programming environment for computational arts and design, and the Java bindings for the GStreamer multimedia framework. He is the main developer of the OpenGL renderer and the GStreamer-based video library in Processing 2 and 3. He originally studied Physics and Mathematics in Argentina and later on did an MFA at the UCLA Design Media Arts program. He uses Processing as the main tool to bridge his interests in computer graphics, visualization, and statistical modeling.

GStreamer State of the Union, Tim-Philipp Müller (__tim), Centricular

This talk will take a bird's eye look at what's been happening in and around GStreamer in the last twelve months and look forward at what's next in the pipeline.

Tim Müller is a GStreamer core developer and maintainer, and backseat release manager. He works for Centricular Ltd, an Open Source consultancy with a focus on GStreamer, cross-platform multimedia and graphics, and embedded systems. Tim lives in Bristol, UK.

Demystifying the allocation query, Nicolas Dufresne (stormer), Collabora

The allocation query is a powerful and yet to be fully understood mechanism of the GStreamer 1.0 framework. Many contributors go through a long series of uncertainties when comes the time to implement such a mechanism for their elements. In this talk, I'd like to better explain how this mechanism works, where are the pitfalls and what solutions can be employed to get around them.

Nicolas is Senior Multimedia Engineer at Collabora, based in Montréal, he was initially a generalist developer, with background in set-top-box development. Nicolas started in 2011 contributing to GStreamer Multimedia Framework, adding infrastructure and primitive to support accelerated upload of buffers to GL textures. His work toward fully Open Source general purpose use of accelerator in GStreamer continues today at Collabora with the recent addition of Video4Linux accelerated decoders and converters support, enabling playback of today's content on Cotton Candy and the HardKernel Odroid U2.

Decodebin3, or dealing with modern playback use-cases, Edward Hervey (bilboed), Centricular

decodebin2 (decodebin in 1.x) is 10 years old. While it did serve its purpose, there are a number of limitations in regards to handling modern use-cases, features that are in playbin that should be present in decodebin, non-optimal memory usage, and so forth. This talk might include apologies from the original decodebin2 author *cough*.

After looking at the current design and limitation of stream handling in general, and decodebin2 in particular, we will look at at proposal for a new way of handling stream listing, stream selection, how this help with having predictable behaviour and drop all 0.10-ism that still remain in decodebin2.

The new design will allow reducing cpu/memory usage by only using the decoders actually needed, re-use decoders when switching streams (where possible), and better deal with adaptive streaming and dynamic MPEG-TS use-cases in general, amongst other things.

Edward Hervey has been contributing for over 12 years to GStreamer, ending up there after starting the PiTiVi video editor and then maintaining various components over the years. After having started Collabora Multimedia in 2007, attempting to go on sabbatical, and doing various freelancing, Edward Hervey is currently a part-time consultant for Centricular.

Daala, NETVC, and the Alliance for Open Media: the plan for royalty free video, Thomas Daede, Mozilla

NETVC is a new working group at the IETF to create a high quality and royalty-free video codec for the Internet. It follows the success of Opus, the audio codec standardized by the IETF as RFC 6716. The working group is receiving contributions from Xiph and Mozilla's Daala codec, as well as the new Thor codec contributed by Cisco.

The Alliance for Open Media is a brand new group formed to do the patent analysis necessary to achieve a royalty free codec. Its founding members represent some of the biggest names in online video, such as Netflix, Amazon, and YouTube, multiple browser vendors including Mozilla, Microsoft, and Google, and key technology providers like Cisco and Intel.

This talk will cover progress made in the last year in the development of Daala, as well as an overview of Thor and other contributions to the NETVC working group. It will also discuss the role of the Alliance and the importance of high quality video that anyone can use without complex and costly licensing.

Thomas Daede is a Video Codec Engineer at Mozilla.

Simple techniques of pipeline performance measurements and time profiling of individual elements, Kyrylo Polezhaiev

In this talk I will present few simple ideas (and tools) for time profiling and data flow inspection between particular elements in GStreamer pipelines. I will underline few aspects that makes common profiling tools usage less effective for GStreamer-based applications and propose few tweaks for GStreamer to make tracing easier.

Kyrylo Polezhaiev is a software engineer and former video game developer, and has an MSc in Systems Engineering. He assembled radio receiver at age eleven, and created a video game (using GStreamer) with 200k+ downloads when he was 21. Kyrylo lives in Kharkiv, Ukraine.

Lightning Talks

Lightning talks are short talks by different speakers about a range of different issues. We have the following talks scheduled so far (in no particular order):

  • Industrial application pipelines · Marianna Smidth Buschle, QTechnology
  • Hyperspectral imagery · Dimitrios Katsaros, QTechnology
  • gst-gtk-launch-1.0 · Florent Thiery, Ubicast
  • liborc (JIT SIMD generator) experiments · Wim Taymans, RedHat
  • V4L2 GStreamer elements update · Nicolas Dufresne, Collabora
  • Analyzing caps negotiation with GstTracer · Thiago Sousa Santos, Samsung
  • Know your queues! queue, queue2, multiqueue, netbuffer and all that · Tim-Philipp Müller
  • Nle: A new design for the GStreamer Non Linear Engine · Thibault Saunier
  • What is new in GstValidate · Thibault Saunier
  • Continuous Integration update · Edward Hervey
  • Remote GStreamer Debugger · Marcin Kolny
  • gstreamermm C++ wrapper · Marcin Kolny
  • Multipath RTP (MPRTP) plugin in GStreamer · Balázs Kreith
  • OpenCV and GStreamer · Vanessa Chipi
  • Handling Interleaved and Non-Interleaved streams with GStreamer · Ramesh Venkatachalapathy, LGE
  • Done in 6.0 seconds: a new build system for GStreamer? · Jussi Pakkanen
  • Gst daemon and interpipes: A simpler way to get your application done
    Melissa Montero, RidgeRun
  • Another android camera source for Gstreamer
    Justin Kim, Collabora
  • ...
  • Your talk here?

Lightning talk speakers, please export your slides into a PDF file and either send it to Tim by e-mail (you will receive an e-mail from him about your lightning talk before the event) or have it ready on a usb stick before the start of the lightning talks on Thursday. The idea is that everyone uses the same laptop so that we don't waste time hooking up laptops to the projector and configuring them. There is no particular order or schedule for the talks. When a speaker is called up, we will also mention who is up next. Every speaker has up to ca. 5 minutes for their talk. There will be a countdown timer running, and there will be some music playing towards the end so the speaker knows they have to wrap up. If you don't want to use up the full 5 minutes, that's fine as well. It's not possible to go over time, you'll have to finish up so that everyone has an opportunity to present their talk. We will try to squeeze as many talks into the Thursday slot as possible, and then finish with the rest on Friday.

Report a problem on this page.