|
|
GStreamer Conference 2017 - speaker biographies and talk abstracts
Prague, Czech Republic, 21-22 October 2017
Back to conference main page
Back to conference timetable
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.
|
Implementing Zero-Copy pipelines in GStreamer. Nicolas Dufresne (ndufresne), Collabora
With the wide variety of hardware and their various restrictions,
implementing zero-copy in GStreamer can be difficult. In this talk, I
would like revisit the mechanisms in place to help implement such
pipeline and explain how this is being used in various context. I will
also try to explain some of the well known and recently found traps
that can lead to difficult to debug issues. This talk is addressed to
plugin developers interested in enabling zero-copy while keeping
GStreamer flexibility.
Nicolas Dufresne is a Principal Multimedia Engineer at Collabora. Based
in Montréal, he was initially a generalist developer with background in
STB development. Nicolas started in 2011 contributing to GStreamer
Multimedia Framework adding infrastructure and primitives to support
accelerated upload of buffers to GL textures. Today, Nicolas is
implicated in both GStreamer and Linux Media communities to help create
a solid support for CODEC on Linux.
|
Audio Mixing with the new audiomixer element. Stefan Sauer (ensonic), Google
For a long time adder has been the only audio mixing solution in GStreamer.
3 years ago the work on the new aggregator based elements started. This talk
will describe the feature-space for audio mixing and report on recent
improvements. I will compare the audioixer with the traditional adder to
explain how both approach differ.
Stefan is a software engineer working for Google on build infrastructure tools.
In the past he was working for Nokia on the multimedia stack used on their
maemo/meego internet tablets and phones. In his free time his is contributing
to GStreamer, other GNOME projects (e.g. gtk-doc) and working on his music
editor buzztrax. He has a PhD in Human Computer Interaction from the Technical
University of Dresden/Germany. Stefan now lives in Munich/Germany with his wife
and his two kids.
|
Synchronised Playback Made Easy. Arun Raghavan (Ford_Prefect)
Over the last few years, GStreamer has seen several improvements to
achieve fairly tight synchronised playback across devices on a network.
Despite this, using this in applications requires a fair amount of
knowledge of GStreamer itself, which is not ideal. The gst-sync-server
library aims to address this gap, making it easy to write applications
such as video walls, multi-room audio, and more.
In this talk, I'll cover the motivation for this library, some of the
design choices that make it extensible, and some comments on what else
we need to make writing these apps extremely easy.
Arun is a maintainer of the PulseAudio audio server and a GStreamer
contributor. He enjoys working in the lower layers of the system stack,
long walks on the beach, and thinking about the impact of modern
type-safe languages on software development.
|
So you think you can FEC? Erlend Graff & Mikhail Fludkov, Pexip
Forward error correction (FEC) is a seemingly simple idea when the sender
adds redundant data during transmission for the receiver to be able to recover
from packet loss.
This talk covers challenges faced when implementing FEC for RTP media
in the GStreamer eco system; ranging from an architectural discussion on how to
implement support for standards such as ULPFEC and Flux FEC (used in WebRTC) and
integrate it with GstRtpBin, down to interesting aspects of the Reed Solomon
algorithm (used in Skype).
Mikhail Fludkov is originally from a small Siberian town, Bratsk. He graduated
from Saint-Petersburg State Polytechnic University with a masters degree in
computer science. Worked on H.264 & H.265 codecs in Vanguard Software Solutions,
in Saint Petersburg. 3 years ago moved to Oslo after joining Pexip where got
acquainted with GStreamer framework for the first time. Worked on GStreamer
elements supporting various standards for Forward Error Correction and on
network resilience in general. Participated in porting Pexip media stack from
GStreamer 0.10 to GStreamer 1.x. In his free time bakes sourdough bread and
plays computer games.
Erlend Graff is a software engineer with an MSc degree in computer science from
the University of Tromsø, Norway. He currently works for Pexip, where he's been
having fun with various video conferencing related technologies for more than
two years.
|
GStreamer WebRTC. Matthew Waters (ystreet00), Centricular
WebRTC. Your web browser supports it (or soon will). Let's use GStreamer
to stream with web browsers!
A look into the concepts of WebRTC, the current ecosystem, and a
showcase of a new native implementation for transporting media adhering
to the WebRTC specifications covering a wide variety of use cases from
peer-to-peer streaming, gateways, and streaming servers.
Matthew Waters is the principal maintainer of the OpenGL integration with
GStreamer from the start of GStreamer 1.x and has integrated GStreamer's
OpenGL library with many other decoding, encoding and rendering technologies.
He's also played around extensively with Vulkan, a new high-performance,
cross-platform 3D graphics API. Lately he's been working on a new WebRTC stack
for GStreamer.
Matthew is a Multimedia and Graphics developer for Centricular Ltd, an Open
Source consultancy focusing on GStreamer, embedded systems and cross-platform
multimedia and graphics.
|
Aligning audio and video streams' start and end. Vivia Nikolaidou (vivia), ToolsOnAir
Sometimes, even though we get audio and video from sources of dubious
quality, they must be configured to start and end at exactly the same
time. This is extremely non-trivial in the GStreamer architecture, where
they run in completely different threads (instead of, say, packaging
audio together with video), and requires several tricky tweaks in
several parts of the pipeline. In my talk, I'd like to illustrate how
this is done in the ToolsOnAir media engine.
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.
|
Enabling Cross-Platform Development on macOS and Windows with Meson. Nirbheek Chauhan (nirbheek), Centricular
Historically, GStreamer has relied on the Cerbero build system for
continuous integration as well as binary releases for various
platforms, and is the only supported way to build GStreamer on Windows
and macOS.
However:
- Autotools (and hence Cerbero) can only build with MinGW on Windows
and almost everyone seems to want to build with Visual Studio.
- Doing GStreamer development with Cerbero is a terrible hack, and
the method itself is undocumented.
This means we have a very high barrier to entry for Windows and macOS
developers, and as a result our platform-specific elements have lagged
behind our Linux-specific and platform-agnostic ones.
In this talk, I will talk about how having Meson support in GStreamer
allows Cerbero to build it with the MSVC toolchain on Windows and how
Meson's subproject feature is being used in a new cross-platform
gst-uninstalled implementation to empower macOS and Windows
developers.
I will also talk about the work we're doing to let Windows developers
build GStreamer and hack on it from inside Visual Studio.
Nirbheek Chauhan writes software and hacks on GStreamer for a living and for
fun. In recent times and despite his best efforts, he accidentally became a
build system expert and continues to contribute to the Meson build system as
a core contributor. When not fixing broken builds, he works on interesting
WebRTC applications using GStreamer and complains about how slow Rust
adoption is.
|
Photobooth: An exemplary multi-disciplinary project. Andreas Frisch (fraxinas), make.tv
A Photobooth is an automatic unit that takes photos with a DSLR camera, shows
a preview on a touchscreen and allows users to print them. The Schaffenburg
Hackerspace designed and built such a machine from scratch.
In this presentation, I will talk about our motivation for starting such a big
hobbyist project. Covered topics include:
- evaluation + selection of the used hardware and software components
- building the wooden case and 3d-printing parts
- using Arduino for effect lighting
- setting up the camera and external flash
- focus on the gstreamer- / gtk-based software
- demonstration
- problems and prospects
Andreas aka "Fraxinas" in the FOSS world, graduated from the University of
Applied Sciences in Aschaffenburg with a degree in electrical engineering and
information technology. Formerly employed by Dream Multimedia, the company
which released the first Linux-based STB called "Dreambox", he now works for
SMT make.tv, with their Live Video Cloud. Specialized in Embedded Linux,
GStreamer programming and streaming. Founding member of Aschaffenburg's
Repair Café and monthly television appearance as the "Repairfox" in Germany's
ARD Buffet. Passionately tinkering in the Schaffenburg Hacker/Makerspace.
LGBT Youth activist, musician and Japanese learner.
|
GST-MFX: Full-Featured, High Performance and Cross-Platform GStreamer Plugins Using Intel Media SDK. Ishmael Sameen; Xavier Hallade, Intel
This talk presents GST-MFX, a set of GStreamer plugins that uses
Intel Media SDK (MSDK) to perform high performance decode, encode, video
post-processing (VPP) and rendering for both Windows and Linux platforms.
GST-MFX addresses a key segment of application developers who wish to develop
media-based cross-platform applications for both Windows and Linux while
getting the very best performance from utilizing MSDK, which in itself is a
sophisticated, proprietary media API that is highly-optimized for Intel's
platforms starting from 3rd generation Intel Core processors. MSDK is also
very well-supported and has comprehensive documentation on its capabilities
all the way down to low-level codec performance finetuning.
We first intend to talk about the motivation of this work, and then the very
promising value it brings to the table to the GStreamer ecosystem. We then
discuss some of best features that GST-MFX has, and compare it to existing
alternative GST-MSDK implementations, as well as GST-VAAPI.
Finally, we will briefly summarize the architecture and implementation
details which allowed us to achieve the current state of GST-MFX, and where
it stands in terms of production-level software. You can check out the latest
ongoing development of GST-MFX from here:
- https://github.com/01org/gstreamer-media-SDK/tree/topic_linux_and_window
- https://github.com/ishmael1985/gstreamer-media-SDK
- https://github.com/ph0b/gstreamer-media-SDK
Ishmael Sameen is a former Intel software developer and currently a
PhD research student at University Paris XIII, whose main interests lie in
doing cool stuff and applying real-world solutions in the area of image and
video processing. He has worked (and is still working with a few) with various
technologies such as nVidia CUDA, Altera FPGAs, FFMPEG, QT, Intel Media SDK,
etc., but only recently touched GStreamer two years ago for a customer
requirement (after trying to unsuccessfully convince them to use FFMPEG).
Since then, he enjoys working with the GStreamer framework and learning from
their codebase, even after having left Intel to pursue his research interests
in neural networks for computer vision.
Xavier Hallade is an Application Engineer at Intel, focused on improving
3rd party applications performance and features for upcoming PC platforms.
He’s been helping customers integrate video hardware acceleration in their
Windows applications several times over the past year, and decided to scale
this work by contributing to the GStreamer framework.
|
GStreamer in the world of Android Camera3 cameras. Olivier Crête (ocrete), Collabora
New SoCs include camera modules that comply with the Android Camera3
API, this includes multiple features that are not currently well
handled by GStreamer. I will propose a roadmap that can allow us to
support those.
Olivier Crête has been involved in free software since 2000. He has been
involved in GNOME since 2003 and in Gentoo from 2003 to 2012. He currently
works for Collabora, where he leads the multimedia team. He's been an active
GStreamer developer since 2007, first working on VoIP and video calls, but
lately he's been working on all kinds of multimedia projects.
|
Network Music Performance: A case study using GStreamer. Kostas Tsioutas, Ionian University Corfu
Network Music Performance is happening when two or more musicians
perform their music using their internet connection and stream their
audio through the network as everyone of them is placed in his own
residence. We implemented such experiments using Gstreamer open framework
over the University Campus Network and we measured audio delay using
varius compression codecs.
Konstantinos Tsioutas is a PhD Candidate at the Audio and Visual Arts
Department of Ionian University. His thesis concerns the QoS of Network
Music Performance Service and audio compression delay issues. He holds a
master's degree in the field of telecommunications and networking and a
master's degree in the field of audio design and composition.
|
GStreamer Daemon - building a media server in under 30 minutes. David Soto, RidgeRun
GStreamer is modular, extensible and flexible - but not easy to properly use
the GStreamer API. GStreamer provides all the necessary capabilities to build
a fully functional production quality multimedia server, but getting it right
requires good framework understanding, GLib/GObject handling and in most cases
good debugging skills. A bad dynamic pipeline handling can result in unexpected
behaviours or even complete pipeline stalls. GStreamer Daemon is an OpenSource
project by Ridgerun that encapsulates GStreamer complexity in a standalone
process, exposing a simple high-level API for real-time multimedia handling.
Pipelines can be created in a fashion similar to gst-launch. decoupling the
streamer media logic from the application logic, allows you to focus on what
makes your product unique.
This talks demonstrates a fully functional media server being created in under
30 minutes using GStreamer Deamon. The server will be built in a
NVIDIA Tegra X1 embedded platform using the built-in HW accelerated codecs.
The media server state will be modified at runtime, along with different
streams being safetly activated/deactivated, without the need of transcoding
nor interrupting the rest of the streams. Camera capture, video recording,
taking snapshots, network streaming and playback trick-play are easy using
GStreamer Daemon.
David Soto is the Engineering Manager at RidgeRun and a senior embedded
software engineer working on Linux and GStreamer since 2010. David has a
master degree in digital signal processing and loves looking for efficient
ways to get embedded systems running multimedia, computer vision and machine
learning algorithms for broadcasting, security, consumer and medical products.
|
Video over the Data Distribution Service (DDS) using GStreamer. Stefan Kimmer, S2E Software, Systems and Control
The Data Distribution Service is an emerging middleware that is used more and
more in industry. An advantage is that for example multiple receivers can
subscribe to one sender letting the middleware take care of the data
distribution. The communication can be configured in so called Quality
of Service settings to allow the adaption of the system to the network
structure to where the application is deployed without recompiling. It is
for example also possible to have multiple senders of video where one these
is the preferred publisher and others are redundant and take over in case
the preferred one fails. Multiple implementations of the DDS standard
from various vendors exists thereunder also community editions that
are open source.
We developed a demonstration application that showcases the usage of
GStreamer with DDS in a cross-platform fashion. This allows the development
and deployment of the application for Windows and embedded Linux from
host-system. As such a redundant pair of camera devices can distribute
the video of a wireless network to multiple receivers using different
operating systems.
More infos: http://www.s2e-systems.com/our-projects/videooverdds/.
Stefan was working with the European Space Agency (ESA) where he used GStreamer
to develop the transport of video from earth to space. Meanwhile he founded his
own company S2E Software, Systems and Control together with a colleague also
from ESA.
|
PipeWire. Wim Taymans (wtay), RedHat
PipeWire is a multimedia API that makes it easier to build distributed
multimedia pipelines. It was originally built to provide shared access to
cameras but it can also be used to build a variety of multimedia services
such as a sound server.
PipeWire is built on top of a new low-level plugin API (SPA for Simple Plugin
API) that is designed to be simple and suitable for hard real-time processing.
In this presentation I want to talk about the design ideas, the current status
and the future plans for PipeWire. I will also give a small demo.
Wim Taymans has a computer science degree from the Katholieke Universiteit
Leuven, Belgium. He co-founded the GStreamer multimedia framework in 1999.
Wim Taymans is a Principal Software Engineer at Red Hat, responsible for
various multimedia packages and is currently working on PipeWire.
|
Media Source Extensions on WebKit using GStreamer. Enrique Ocaña González (eocanha), Igalia
The Media Source Extensions HTML5 specification allows JavaScript to generate
media streams for playback and lets the web page have more control on complex
use cases such as adaptive streaming.
This talk starts with a brief introduction about the motivation and basic
usage of MSE. Next we will show a design overview of the WebKit implementation
of the spec. Then we'll go through the iterative evolution of the GStreamer
platform-specific parts, as well as its implementation quirks and challenges
faced during the development. The talk continues with a demo, some clues about
the future work and a final round of questions.
Enrique is a Software Engineer at Igalia with experience in multimedia, open
source web engines and embedded devices. He has several contributions to the
WebKit and GStreamer projects and has been working for 3 years on topics
related multimedia in GStreamer-based WebKit ports, with a special focus on
Media Source Extensions.
|
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):
- A big year for Video4Linux2 support in GStreamer
Nicolas Dufresne, Collabora
- GstGPGPU - GstCUDA and GstOpenCL
Angel Phillips, RidgeRun
- Playbin3/decodebin3 status update
Edward Hervey, Centricular
- GStreamer and OpenCV using a GstOpenCV element
Angel Phillips, RidgeRun
- RTP Bundle Support
Håvard Graff, Pexip
- ipcpipeline - Split a pipeline into multiple processes
George Kiagiadakis, Collabora
- GstPriQueue1
Erlend Graff, Pexip
- DAMPAT: Dynamic Adaptation of Multimedia Presentations in Application Mobility
Francisco Velázquez, University of Oslo
- gst-debugger is still a thing!
Marcin Kolny, Amazon
- GStreamer-sharp: the revival of our .net bindings
Thibault Saunier, Samsung
- GStreamer support for RTSP protocol version 2.0 (the first implementation ever!)
Thibault Saunier, Samsung
- Pitivi 1.0 finally on sight!
Thibault Saunier, Samsung
- Using GStreamer for UAV Computer Vision Applications in Consumer and Commercial Spaces
Braden Scothern and Matt Stoker, Teal Drones
- Alternative RTMP implementation
Jan Alexander Steffens, make.tv
- A source element for Android Camera 2 NDK API
Justin Kim, Collabora
- GStreamer DVR for deploying mpeg-dash format
채창복 (Changbok Chea), LGE
- GStreamer debugging device for computer vision
Hermann Stamm-Wilbrandt
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 Saturday. 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. It's not possible to go over time, you'll have to finish up so that
everyone has an opportunity to present their talk. If you don't want to use up
the full 5 minutes, that's fine as well.
|
GstShark profiling: a real-life example. Michael Gruner, RidgeRun
GstShark is a profiling and benchmarking tool for GStreamer pipelines. GstShark
is an ongoing OpenSource project by RidgeRun which serves as a front-end for
the GstTrace subsystem. GstShark presents raw traces as higher level data
such as scheduling and processing time, bitrate, framerate, CPU usage and
much more. This data is saved in a standard low-footprint format designed for
efficient tracing. The captured data can be plotted and visualized using the
tools included in the project, as well as third party tools. GstShark is the
result of years of experience tuning and optimizing GStreamer pipelines
in resource-limited systems and is key tool RidgeRun engineers use to dispel
the myth that GStreamer is slower that an inflexible custom created
streaming media application.
In this session GstShark will be used to optimize a low-performance WebRTC
streaming pipeline in an NVidia Tegra embedded platform. It will be shown
how the different measurements can be used to identify processing bottlenecks,
sources of latency and general scheduling problems. By using comprehensive
data plots, the pipeline internals are exposed, revealing information before
hidden and allowing you to tune pipelines in a more informed, deterministic
way.
Michael Grüner is the Tech Leader at RidgeRun, a GNU/Linux based embedded
software development company. GStreamer and multimedia have been his main
areas of focus. Michael has a masters degree in Digital Signal Processing
and, among other interests, likes OpenGL, CUDA, OpenCL. Michael is always
looking for ways to implement efficient, real-time DSP algorithms using
GStreamer on embedded platforms.
|
Moar Better Tests. Håvard Graff (hgr), Pexip
"The quality of testing in a codebase is directly proportional to the quality of its functionality" - Albert Einstein.
This talk will discuss how to write short, concise tests for complex scenarios
while maintaining readability. We will show concrete examples of how to use
GstHarness efficiently in different situations, testing a src/sink, a
muxer/demuxer, an encoder/decoder etc, and how to further harness harnesses
to create even better test infrastructure.
Håvard Graff has worked with GStreamer professionally for 9 years in Tandberg,
Cisco and now Pexip. Developing video conferencing systems like Movi, Jabber
Video and Pexip Infinity using GStreamer as the backbone. Was instrumental
in premiering GStreamer in the AppStore. Still pretends to be a musician
with programming as a hobby.
|
The GStreamer-VAAPI report. Víctor M. Jáquez L. (ceyusa), Igalia
GStreamer-VAAPI is a set of GStreamer elements (vaapisink, vaapipostroc, and a
set of encoders and decoders) using the VA-API software stack that aims for
hardware accelerated video processing.
The purpose of this talks is to show the progress done along this last year
and discuss with the community the following tasks.
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. He later returned
to the GStreamer arena, helping with gstreamer-vaapi.
|
Oxidising GStreamer: Rust out your multimedia! Sebastian Dröge (slomo), Centricular
As a continuation of my talk last year, this year I will give an update
of what happened with Rust support for GStreamer based applications and
plugins.
Now is the right time to get started with writing your GStreamer code
in Rust instead of C/C++ or even Python/C# for improved safety &
productivity and hopefully fun writing the code, while still having the
high performance and low overhead usually only known from C/C++ and
being able to run your code on small embedded devices.
While learning a new language might not seem worthwhile and there are
just too many languages anyway, I will show you why you should care and
why the language seems like the perfect fit for multimedia related
applications and many other embedded use cases. And how you can get
started, including some short code examples.
Sebastian Dröge is a Free Software developer and one of the GStreamer
maintainers and core developers. He has been involved with the project
since more than 10 years now. He also contributes to various other
Free Software projects, like Debian, GNOME and WebKit. While finishing
his master's degree in computer sciences at the University of Paderborn
in Germany, he started working as a contractor for GStreamer and related
technologies. Sebastian is one of the founders of Centricular, a company
providing consultancy services, where he's working from his new home in
Greece on improving GStreamer and the Free Software ecosystem in general.
Apart from multimedia related topics, Sebastian has an interest in digital
signal processing, programming languages, machine learning, network protocols
and distributed systems.
|
Linux Explicit DMA Fences in GStreamer. Nicolas Dufresne (ndufresne), Collabora
This talk will cover the use of the explicit DMA Fence in multimedia
pipelines and how these fences can be used to improve smoothness and
reduce latency in your streaming application. We will also outline how
we plan to integrate these new kernel object in GStreamer framework.
Nicolas Dufresne is a Principal Multimedia Engineer at Collabora. Based
in Montréal, he was initially a generalist developer with background in
STB development. Nicolas started in 2011 contributing to GStreamer
Multimedia Framework adding infrastructure and primitives to support
accelerated upload of buffers to GL textures. Today, Nicolas is
implicated in both GStreamer and Linux Media communities to help create
a solid support for CODEC on Linux.
|
Preparing GStreamer for high packet-rate video streaming. Tim-Philipp Müller (__tim), Centricular
As the broadcast and film industry moves towards IP-based
workflows such as SDI-over-IP, with ever-increasing video
resolutions, frame rates and pixel depths, data rates in
the tens of Gbps and packet rates in the hundreds of
thousands if not millions are no longer inconceivable,
but rather inevitable.
Similarly, the emergence of RTP-based WebRTC as de-facto
standard for live streaming to web browsers means streaming
media at high bitrates to hundreds or thousands of clients
will be increasingly common or in demand.
This poses challenges pretty much everywhere in the
multimedia pipeline, from capture to processing to
sending.
This talk will look at the demands of processing
media streams with a very high packet rate in
GStreamer and will propose some solutions.
Tim 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.
|
Efficient Video Processing on Embedded GPU. Kammacher Tobias, Zurich University of Applied Sciences
Learn how to develop and test a 4K video processing and streaming
application on the NVIDIA Jetson TX1/TX2 embedded platform with
GStreamer. To achieve real-time video processing, the diverse processing
resources of this high-performance embedded architecture need to be
employed optimally.
The heterogeneous system architecture allows capturing, processing, and
streaming of video with a single chip. The main challenges lie in the
optimal utilization of the different hardware resources of the Jetson TX1
(CPU, GPU, dedicated hardware blocks) and in the extensive software stack
(from Linux drivers to GStreamer application).
We'll discuss variants, identify bottlenecks, and show the interaction
between hardware and software. Simple capturing and displaying video from
the built-in camera can be achieved using out-of-the-box methods. However,
for capturing 4K from HDMI we had to dig into the documentation, rewrite the
drivers for the Video capture system, write a driver for an external HDMI to
CSI converter and figure out efficient zero-copy methods. GPU-based
enhancements were developed and integrated for real-time video processing
tasks (scaling and video mixing).
Blog post about the drivers: https://blog.zhaw.ch/high-performance/2016/06/01/open-source-driver-for-hdmi2csi-module-released/
Tobias Kammacher has worked for the last three years in the High Performance
Multimedia and Data Acquisition Research Group in the Institute of Embedded
Systems at Zurich University of Applied Sciences. He and his colleagues carry
out research projects with industry partners, focused on implementing signal
and video processing applications on SoC, FPGA, and mixed architectures.
Tobias received his B.S. in electrical engineering and M.S. in engineering.
|
VA-API rust-binding. Hyunjun Ko (zzoon), Igalia
GStreamer VA-API has been supporting to use H/W accelleration when
you're enjoying video playback, streaming and even transcoding on Linux.
This project has been developed actively and still keep improving its
features/performance/stability.
In this talk I will give an overview of the current status of VA-API
Binding to Rust, my experience with Rust so far, what problems I
encountered and what is already possible today.
In the end, we're going to talk about how to integrate into
gst-plugins-rs with showing demo of vaapisink plugin written by Rust as
an example.
Hyunjun started to work on GStreamer in 2013.
He had been working on implementation of Wi-Fi Display using GStreamer
and now he's a regular contributor of GStreamer VA-API project since he
joined Igalia.
|
AV1: The Quest is Nearly Complete. Thomas Daede, Mozilla
AV1 has gained many features over the past year, and the end is finally
in sight! This talk will cover the progress that has been made over the
last year on this royalty-free video codec. It will also cover the
remaining work to be done in preparing to deploy this new format across
the web.
Thomas Daede is a Video Codec Engineer at Mozilla.
|
GStreamer is in the air. Jan Schmidt (thaytan), Centricular
It's everywhere you look around. At least, everywhere
I look around - I may be atypical.
In 2013, I gave a presentation titled "My GStreamer-Enabled Home".
Since the conference is re-visiting the past this year in Prague,
I thought I would too. So this year, I'm talking about a bunch
of best ways I've used or seen people using GStreamer.
Come along and see how GStreamer is in the air, in
every sight and every sound (*) (**)
* Apologies to John Paul Young.
** GStreamer may not actually be in every sight and every sound (yet).
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.
|
Of GStreamer, containers, QA and fuzzing. Edward Hervey (bilboed), Centricular
While some would say that containers are just "yet-another" linux
system, the way they are used and the opportunities involved provide
interesting challenges for the GStreamer project.
In this talk, we will go over how the re-usability, reproducibility
and fast startup time of containers help the GStreamer project. In a
first step we will look at the maintainer/contributor side of things,
with the Continuous Integration setup and providing high(er) Quality
Assurance. This will essentially see how one can automate as much as
possible with containers to provide easier/faster testing environment
and regression detection.
In a second step we will go over what is needed to make the most out
of containers, such as providing the smallest container possible for
GStreamer-based projects. This will dabble into static builds, re-using
3rd party libraries and the pitfalls encountered along the way. One of
the example we will go over is how to integrate into the google
oss-fuzz project.
Edward Hervey has been contributing to the GStreamer project for the
past 14 years, from core components to high-level projects such as the
pitivi video editor. Currently a Senior Engineer at Centricular, he has
helped numerous clients in current and past companies to make the most
out of GStreamer in various areas. He is currently in charge of
Continuous Integration and overseeing QA infrastructure for the
GStreamer project.
|
BoFs / workshops
These are opportunities for interested people to suggest or organise
working groups or get-togethers for a particular topic.
|
|
|
|