SlideShare a Scribd company logo
Multimedia in
WebKitGTK+
Past / Present / Future
Philippe Normand, Igalia
About WebKit itself
 IT IS NOT A BROWSER, it is a framework to build
 browsers
 Fork of KHTML started by Apple, now with
 contributors all over the place.
 Shared base, with ports being built from the
 same tree, with different build systems.
 2 core bricks: WebCore and JavascriptCore
 No stable API, no API documentation
 Each port provides its own API
What is WebKitGTK+?
 a WebKit port providing a GTK+ friendly API
 A regular GtkWidget which you can add to your
 GtkScrolledWindow.
 Rendering backend built with Cairo.
 Resource loading backend built with libsoup.
 Pango for fonts
 Keyring for auth storage
 GStreamer for audio/video
Multimedia in WebKit
3 layers from top to bottom:

  DOM: HTMLMediaElement
  graphics: cross-platform MediaPlayer bridge
  platform-specific MediaPlayerPrivate backend

In the GTK+ port: video painting on a Cairo
surface, buffers retrieved from a custom video
sink.
Until September 2009
(past :))
 36% Skipped media tests, out of 97 (flaky or
 missing features).
 Not really useful without controls UI.
 Demo from the past
Since September 2009
(present!)
 Only 23% Skipped media tests (out of 108)!
 Simple controls UI (initial patch by Zan
 Dobersek)
 Trick modes (reverse playback, ffwd playback)
 QuickTime ref movies: redirections
 Better integration with PulseAudio
 data: uris support (upstreamed to gst-plugins-
 bad)
 on-disk buffering (review in progress)
 WebKit src element (patch by Sebastian Dröge)
 Demo
Youtube and HTML5
video
Oh, and Vimeo too!
Work in progress
(future!)
 More media tests fixing
 Fullscreen video display
 Enhanced controls
 (Web)MediaPlayer (can be used for things like
 codecs installer)
 Closed captions
Contact
 #webkit and #webkit-gtk on irc.freenode.org
 webkit-gtk and webkit-dev mailing lists at
 lists.webkit.org
 http://www.webkit.org/
 http://www.webkitgtk.org/
 http://trac.webkit.org/wiki/HackingGtk
Questions?

More Related Content

PDF
WebKit, HTML5 media and GStreamer on multiple platforms
PDF
Petri Niemi Qt Web Kit
PDF
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
PDF
GStreamer support in WebKit. what’s new?
PDF
WebKit2 And You (GUADEC 2013)
PDF
WebKit and GStreamer
PDF
Ewebkit basic (Web rendering enging of EFL)
PDF
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
WebKit, HTML5 media and GStreamer on multiple platforms
Petri Niemi Qt Web Kit
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...
GStreamer support in WebKit. what’s new?
WebKit2 And You (GUADEC 2013)
WebKit and GStreamer
Ewebkit basic (Web rendering enging of EFL)
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...

What's hot (19)

PDF
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware...
PDF
Chromium Ozone
PDF
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
PDF
WebKitGtk+ Project
PDF
Embedding Chromium into AGL demo platform with WAM
PDF
Contributions to an open source project: Igalia and the Chromium project
PDF
Hw accelerated webkitgtk+ on raspberry pi
PDF
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
PDF
Reaching the multimedia web from embedded platforms with WPEWebkit
PDF
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
PDF
WebKit for Wayland (Web Engines Hackfest 2014)
PDF
Kiosk-mode browser using Chromium Embedded Framework (CEF)
PDF
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
PDF
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
PDF
Essential parts to implement own Ozone backend
PDF
Driving and virtualizing control systems: the Open Source approach used in Wh...
PDF
Introduction to QtWebKit
PDF
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
ODP
How to use WebKitGtk+
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware...
Chromium Ozone
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
WebKitGtk+ Project
Embedding Chromium into AGL demo platform with WAM
Contributions to an open source project: Igalia and the Chromium project
Hw accelerated webkitgtk+ on raspberry pi
Hybrid Desktop/Web applications with WebKitGTK+ (COSCUP 2010)
Reaching the multimedia web from embedded platforms with WPEWebkit
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
WebKit for Wayland (Web Engines Hackfest 2014)
Kiosk-mode browser using Chromium Embedded Framework (CEF)
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
Essential parts to implement own Ozone backend
Driving and virtualizing control systems: the Open Source approach used in Wh...
Introduction to QtWebKit
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
How to use WebKitGtk+
Ad

Similar to Multimedia in WebKitGtk+, past/present/future (20)

PDF
Multimedia in WebKitGTK+ (FOSDEM 2010)
PDF
Add the power of the Web to your embedded devices with WPE WebKit
PDF
WebKit, HTML5 media and GStreamer on multiple platforms (GStreamer Conference...
PDF
WebKit and GStreamer (GStreamer Conference 2013)
PDF
Igalia and WebKit: Status update and plans
PDF
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
PPTX
Driving Communications Directly Into The Web Browser
PDF
The WebKit project
PDF
DIY: Computer Vision with GWT.
PDF
DIY- computer vision with GWT
PDF
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
PDF
Igalia and WebKit: Status update and plans
PDF
HTML5 Intoduction for Web Developers
PDF
soft-shake.ch - Introduction to HTML5
PDF
JooinK - DevFest Piemonte 2013
PDF
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)
PDF
[workshop] The Revolutionary WebRTC
PDF
WebRTC in WPE/GTK Ports: Current status and challenges
PDF
WebKit Contributors Meeting 2022
PDF
The WebKit project (LinuxCon North America 2012)
Multimedia in WebKitGTK+ (FOSDEM 2010)
Add the power of the Web to your embedded devices with WPE WebKit
WebKit, HTML5 media and GStreamer on multiple platforms (GStreamer Conference...
WebKit and GStreamer (GStreamer Conference 2013)
Igalia and WebKit: Status update and plans
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Driving Communications Directly Into The Web Browser
The WebKit project
DIY: Computer Vision with GWT.
DIY- computer vision with GWT
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
Igalia and WebKit: Status update and plans
HTML5 Intoduction for Web Developers
soft-shake.ch - Introduction to HTML5
JooinK - DevFest Piemonte 2013
GStreamer support in WebKit. What's new? (GStreamer Conference 2015)
[workshop] The Revolutionary WebRTC
WebRTC in WPE/GTK Ports: Current status and challenges
WebKit Contributors Meeting 2022
The WebKit project (LinuxCon North America 2012)
Ad

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Spectroscopy.pptx food analysis technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Chapter 3 Spatial Domain Image Processing.pdf
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
cuic standard and advanced reporting.pdf
sap open course for s4hana steps from ECC to s4
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
Spectroscopy.pptx food analysis technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Empathic Computing: Creating Shared Understanding
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
The AUB Centre for AI in Media Proposal.docx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton

Multimedia in WebKitGtk+, past/present/future

  • 1. Multimedia in WebKitGTK+ Past / Present / Future Philippe Normand, Igalia
  • 2. About WebKit itself IT IS NOT A BROWSER, it is a framework to build browsers Fork of KHTML started by Apple, now with contributors all over the place. Shared base, with ports being built from the same tree, with different build systems. 2 core bricks: WebCore and JavascriptCore No stable API, no API documentation Each port provides its own API
  • 3. What is WebKitGTK+? a WebKit port providing a GTK+ friendly API A regular GtkWidget which you can add to your GtkScrolledWindow. Rendering backend built with Cairo. Resource loading backend built with libsoup. Pango for fonts Keyring for auth storage GStreamer for audio/video
  • 4. Multimedia in WebKit 3 layers from top to bottom: DOM: HTMLMediaElement graphics: cross-platform MediaPlayer bridge platform-specific MediaPlayerPrivate backend In the GTK+ port: video painting on a Cairo surface, buffers retrieved from a custom video sink.
  • 5. Until September 2009 (past :)) 36% Skipped media tests, out of 97 (flaky or missing features). Not really useful without controls UI. Demo from the past
  • 6. Since September 2009 (present!) Only 23% Skipped media tests (out of 108)! Simple controls UI (initial patch by Zan Dobersek) Trick modes (reverse playback, ffwd playback) QuickTime ref movies: redirections Better integration with PulseAudio data: uris support (upstreamed to gst-plugins- bad) on-disk buffering (review in progress) WebKit src element (patch by Sebastian Dröge) Demo
  • 9. Work in progress (future!) More media tests fixing Fullscreen video display Enhanced controls (Web)MediaPlayer (can be used for things like codecs installer) Closed captions
  • 10. Contact #webkit and #webkit-gtk on irc.freenode.org webkit-gtk and webkit-dev mailing lists at lists.webkit.org http://www.webkit.org/ http://www.webkitgtk.org/ http://trac.webkit.org/wiki/HackingGtk