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

Víctor Jáquez 27/03/2018

GStreamer VA-API 1.14: what’s new?

As you may already know, there is a new release of GStreamer, 1.14. In this blog post we will talk about the new features and improvements of GStreamer VA-API module, though you have a more comprehensive list of changes in the release notes. Most of the...

Philippe Normand 19/03/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 07/12/2017

Enabling HuC for SKL/KBL in Debian/testing

Recently, our friend Florent complained that it was impossible to set a constant bitrate when encoding H.264 using low-power profile with gstreamer-vaapi . Low-power (LP) profiles are VA-API entry points, available in Intel SkyLake-based procesor and...

Víctor Jáquez 24/11/2017

Intel MediaSDK on Debian (testing)

Everybody knows it: install Intel MediaSDK in GNU/Linux is a PITA. With CentOS or Yocto is less cumbersome, if you trust blindly on scripts ran as root. I don’t like CentOS, I feel it like if I were living in the past. I like Debian (testing, of...

Víctor Jáquez 30/10/2017

GStreamer Conference 2017

This year, the GStreamer Conference happened in Prague, along with the traditional autumn Hackfest. Prague is a beautiful city, though this year I couldn’t visit it as much as I wanted, since the Embedded Linux Conference Europe and the Open Source...

Commits

Changeset in webkit [238738]: [GStreamer][EME] CDMInstance should be shipped as a GstContext to the ...

7 edits in trunk/Source/WebCore [GStreamer][EME] CDMInstance should be shipped as a GstContext to the decryptors ​https://bugs.webkit.org/show_bug.cgi?id=192075 Reviewed by Philippe Normand. So far, we were shipping the CDMInstance in an event to...

Xabier Rodríguez30/11/2018

msdk: don't declare headers in meson

This partially reverts commit 0bae64835302574953c3e5e89fa0822eb4f6ca4b. The compiler tells ninja the header dependency, then there is no need to add them explicity.

Víctor Jáquez23/11/2018

msdk: add support for open sourced MediaSDK

MediaSDK has been released as open source [1], but the directories where it installs its files, are different from the binary only distribution. This patch adds to the libraries path the directory /lib. Also it is defined in meson if the include...

Víctor Jáquez22/11/2018

gl: libs: glib might not define G_HAVE_ISO_VARARGS

This will fix the compiler warning "G_HAVE_ISO_VARARGS" is not defined, evaluates to 0 [-Wundef]

Víctor Jáquez22/11/2018