04

Multimedia

Multimedia processing is one of the most demanded and complex tasks in computing. It traverses all the software stack, ranging from the kernel up to the end-user application. Igalia has a strong team of multimedia experts with experience in all the layers of the stack, both on desktop environments and embedded devices.

GStreamer is the framework of choice for Linux-based multimedia and it has been powering multimedia embedded solutions for many years now. Our multimedia team includes many experienced GStreamer developers who are very familiar with the framework internals and contribute to its core and to many of its plugins.

We are the main developers and maintainers of the GStreamer-based multimedia back-ends of WebKit that are used by many of its ports, including WebkitGTK+ and WebkitEFL.

We also have experience bringing hardware acceleration to GStreamer, writing plugins and infrastructure required to use hardware accelerated multimedia such the case of asymmetric processing of media using multiple cores.

Beside media playback and recording, we are pioneers in digital media content discovery and browsing, and as a result, we are the main developers and maintainers of Grilo, a framework designed to provide application developers with tools that make digital media content integration extremely easy, scalable and highly maintainable.

Igalia can help you build top-notch solutions for media centres and players targeting TV, Set-top boxes and other multimedia enabled devices based on open source technologies. Our multimedia team can lead specific parts of the software development, provide advice and insight on the solutions used, join an in-house team to leverage its strenghts or help companies align their work and needs with the open source community.

  • Multimedia Middleware
  • Media Players
  • End-user Applications
  • Content Discovery
  • WebKit Multimedia
  • GStreamer
  • Grilo
  • PulseAudio
  • VAAPI/VDPAU
  • Kernel
  • V4L2

Featured Media

Encrypted Media Extensions with GStreamer in WebKit (GStreamer Conference 2018)
Servo and GStreamer (GStreamer Conference 2018)
Video Editing with GStreamer, status update and plans for the future (GStreamer Conference 2018)
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer Conference 2018)
WebRTC in WebKitGTK+ and WPE (Web Engines Hackfest 2018)
The GStreamer-VAAPI report (GStreamer Conference 2017)
Media Source Extensions on WebKit (GStreamer Conference 2017)
VA-API binding to Rust (GStreamer Conference 2017)
GStreamer VA-API. A year after (GStreamer Conferece 2016)
Streams API (Web Engines Hackfest 2015)
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware (GstConf 2015)
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conference 2014)
WebKit: getUserMedia GStreamer implementation
WebKit and GStreamer (GStreamer Conference 2013)
WebKitGTK+ New media controls
Cairosink and GPU Buffer Sharing (GStreamer Conference 2013)
WebKitGTK+ Multimedia: HTML5 WebAudio API
Grilo: Enhancing the multimedia experience in MeeGo (SF 2011)
Grilo at ELC-E 2010
Browse your multimedia content
Browse your multimedia content
Browse and watch your videos from YouTube
Browse and watch your videos from YouTube
Combine media from different sources
Combine media from different sources
Manage your music, video and images with Grilo
Manage your music, video and images with Grilo

Updates

Philippe Normand 08/12/2018

Web overlay in GStreamer with WPEWebKit

After a year or two of hiatus I attended the GStreamer conference which happened in beautiful Edinburgh. It was great to meet the friends from the community again and learn about what’s going on in the multimedia world. The quality of the talks was...

Philippe Normand 08/12/2018

GStreamer’s playbin3 overview for application developers

Multimedia applications based on GStreamer usually handle playback with the playbin element. I recently added support for playbin3 in WebKit. This post aims to document the changes needed on application side to support this new generation flavour...

Víctor Jáquez 23/11/2018

Building gst-msdk with MediaSDK opensource

I tried, several months ago, the open source version of Intel MediaSDK and it was a complete mess. In order to review some patches for gst-msdk I tried it again. I am surprised how the situation has improved since then. Install dependencies $ sudo apt get...

Thibault Saunier 31/07/2018

WebKitGTK and WPE gains WebRTC support back!

WebRTC is a w3c draft protocol that "enables rich, high-quality RTP applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols". The protocol is mainly used to...

Víctor Jáquez 17/04/2018

How to setup a gst-build environment with Intel’s VA-API stack

gst-build is far superior than gst-uninstalled scripts for developing GStreamer, mainly because its meson and ninja usage. Nonetheless, to integrate external dependencies it is not as easy as in gst-uninstalled. This guide aims to show how to integrate...

Commits

Changeset in webkit [237488]: [GStreamer][EME] Post key received to bus should be done before waking ...

2 edits in trunk/Source/WebCore [GStreamer][EME] Post key received to bus should be done before waking up other threads ​https://bugs.webkit.org/show_bug.cgi?id=190822 Reviewed by Philippe Normand. Notify after posting message to...

Xabier Rodríguez27/10/2018

gstelementfactory: Remove MEDIA_HARDWARE FactoryType

Using the MEDIA_ classifier prefix was inappropriate. It is sufficient to specify the additional klass name that element can set in their metadata. (follow-up of commit...

Philippe Normand12/10/2018

Changeset in webkit [236462]: [EME] Fix variable name that should have gone in r236317 ...

3 edits in trunk/Source/WebCore [EME] Fix variable name that should have gone in r236317 ​https://bugs.webkit.org/show_bug.cgi?id=189944 Reviewed by Jer Noble. m_cdmInstanceClientWeakPtrFactory becomes m_cdmInstanceSessionClientWeakPtrFactory as...

Xabier Rodríguez25/09/2018

Changeset in webkit [236244]: Unreviewed. Add W3C imported tests to the MSEEME watchlist. * ...

2 edits in trunk/Tools Unreviewed. Add W3C imported tests to the MSEEME watchlist. Scripts/webkitpy/common/config/watchlist:

Xabier Rodríguez20/09/2018

Changeset in webkit [236243]: Unreviewed. Fix the Streams API watchlist. * ...

2 edits in trunk/Tools Unreviewed. Fix the Streams API watchlist. Scripts/webkitpy/common/config/watchlist:

Xabier Rodríguez20/09/2018