For most features, Qt Multimedia builds upon the multimedia framework of the underlying system. Therefore there are several multimedia backends based on different technologies and APIs. The glue between platform specific libraries and Qt Multimedia is contained in a plugin. There are currently three kinds of plugins in Qt Multimedia:
- MediaService plugins, to provide media player, camera, radio, and recording features
- Audio plugins, to provide low-latency audio support
- PlaylistFormat plugins, to support a specific playlist file format
Plugins do not necessarily implement all possible features and different backends have different capabilities.
The following tables give an overview of what is supported by each backend in Qt 5.5.0.
MediaService plugins
Supported media player features by backend
|
DirectShow (Windows)
|
Media Foundation (Windows)
|
AV Foundation (OS X / iOS)
|
GStreamer (Unix)
|
Android
|
BlackBerry
|
WinRT
|
MediaPlayer control
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
URL source (local and remote)
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
Stream source
|
X
|
X
|
|
X
|
|
|
X
|
Metadata
|
X
|
X
|
partial
|
X
|
X
|
X
|
|
Playback rate
|
X
|
X
|
X
|
X
|
|
X
|
X
|
Track selection
|
|
|
|
X
|
|
|
|
HW decoding
|
|
Only when using Angle
|
X
|
|
X
|
X
|
X
|
Video window control
|
X
|
X
|
X
|
X
|
|
X
|
|
Video widget control
|
|
|
X
|
X
|
|
|
|
Video renderer control (includes OpenGL textures)
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
Audio probe
|
|
X
|
|
X
|
|
|
|
Video Probe
|
|
X
|
|
X
|
|
|
|
Supported camera features by backend
|
DirectShow (Windows)
|
Media Foundation (Windows)
|
AV Foundation (OS X / iOS)
|
GStreamer (Unix)
|
Android
|
BlackBerry
|
WinRT
|
Camera control
|
X
|
|
X
|
X
|
X
|
X
|
X
|
Video window control
|
|
|
|
X
|
|
|
|
Video widget control
|
X
|
|
|
X
|
|
|
|
Video renderer control (includes OpenGL textures)
|
X
|
|
X
|
X
|
X
|
X
|
X
|
Audio probe
|
|
|
|
|
|
|
|
Video probe
|
|
|
X
|
|
X
|
|
|
ViewFinder settings
|
X
|
|
X
|
X
|
|
X
|
|
Image capture
|
X
|
|
X
|
X
|
X
|
X
|
X
|
Capture destination
|
File
|
|
File
|
File, Buffer
|
File, Buffer
|
File, Buffer
|
File
|
Image settings
|
|
|
resolution
|
resolution
|
resolution, quality
|
resolution, quality
|
resolution
|
Zoom
|
|
|
X (only iOS >= 7.0)
|
X
|
X
|
X
|
|
Flash
|
|
|
X
|
X (depends on HW platform, not available on desktop Linux)
|
X
|
X
|
|
Focus
|
|
|
mode, custom point
|
mode, custom point, focus zones (depends on HW platform, not available on desktop Linux)
|
mode, custom point, focus zones
|
mode, custom point, focus zones
|
|
Exposure
|
|
|
Only iOS >= 8.0: ISO, ShutterSpeed, compensation
|
Scene mode, compensation, ISO, aperture, ShutterSpeed (depends on HW platform, not available on desktop Linux)
|
Scene mode, compensation
|
Scene mode
|
|
Image Processing
|
|
|
|
White Balance, Contrast, Brightness, Saturation (depends on HW platform, not available on desktop Linux)
|
White Balance
|
White Balance
|
|
Locks
|
|
|
|
Focus, Exposure, White Balance (depends on HW platform, not available on desktop Linux)
|
Focus, Exposure, White Balance
|
Focus, Exposure, White Balance
|
|
Supported recording features by backend
|
DirectShow (Windows)
|
Media Foundation (Windows)
|
AV Foundation (OS X / iOS)
|
GStreamer (Unix)
|
Android
|
BlackBerry
|
WinRT
|
Record camera
|
|
|
X
|
X
|
X
|
X
|
|
Record audio
|
Fallback to audio backend
|
Fallback to audio backend
|
Fallback to audio backend
|
X
|
X
|
Fallback to audio backend
|
|
Audio probe
|
X
|
X
|
X
|
X
|
|
X
|
|
Video probe
|
|
|
X
|
|
X
|
|
|
MetaData writer
|
|
|
|
X
|
|
|
|
Audio encoder settings
|
|
|
|
X
|
X
|
X
|
|
Video encoder settings
|
|
|
|
X
|
X
|
X
|
|
Container settings
|
|
|
|
X
|
X
|
|
|
Supported audio decoding features by backend
|
DirectShow (Windows)
|
Media Foundation (Windows)
|
AV Foundation (OS X / iOS)
|
GStreamer (Unix)
|
Android
|
BlackBerry
|
WinRT
|
Decode audio
|
|
X
|
|
X
|
|
|
|
Audio plugins
Audio backends implement QAudioInput, QAudioOutput, QAudioDeviceInfo and QSoundEffect
Here is the list of the current audio backends:
- Windows Multimedia
- CoreAudio (OS X / iOS)
- PulseAudio (Unix)
- Alsa (Unix)
- OpenSL ES (Android)
- QNX
PlaylistFormat plugins