Since Qt 4.5, QtWebKit has included an implementation of HTML5 media based on the Phonon framework. However, this implementation is experimental and hasn't been productized on mobile platforms. This project productizes HTML5 media elements with QtWebKit based on the Qt Multimedia framework from the Qt Mobility project also on the mobile platforms.
Project manager: Simon Hausmann
Technical lead: Tor Arne Vestbø
To be defined
- Application that embeds QtWebKit to render HTML5 media content
- QtWebKit, including HTML5 media support in cross-platform parts of WebKit, and Qt specific integration to Qt Multimedia
- Qt, including support for video on Graphics View
- Qt Multimedia from Qt Mobility
- the platform specific implementations (backends) of Qt Multimedia
- platform specific multimedia frameworks
Only full screen video playback on mobile platforms, without overlays or any CSS effects, is required in phase 1.
An animated transition is provided when going from the web view to full screen video view or back. This transition is a security feature, protecting against malicious video content that could look like some other view, as the user will see that she or he is watching a full-screen video view rather than the web view.
The transition image can be the poster image or a single frame of the video (in other words, showing live video during the transition is not required).
Support for the the following attributes is needed for the video and audio element.
- src attribute - required
- preload - required
- autoplay - required
- loop - TBD is this required?
- controls – required
- if the controls attribute is set to true, then QtWebKit needs to provide a user interface to begin playback, pause playback, seek to an arbitrary position in the content (if the content supports arbitrary seeking), change the volume, and show the media content as a full-screen video
- in phase 1, even if the controls attribute is not set, the video is always shown full screen.
- QtWebKit should provide this UI out of the box. Enablers for using e.g. Symbian^4 widgets are NOT needed.
In addition, the following attributes are needed for the video element:
- width and height
Support for the ended, onerror and timeupdate events is particularly important.
Support for the HTML5 source element is required. QtWebKit should select the appropriate source as supported by the local system's multimedia framework.