Qt 5.6 Multimedia Backends: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 270: Line 270:
|-
|-
| Image Processing  
| Image Processing  
| Manual White Balance, Contrast, Brightness, Saturation, Sharpening
|  
|  
|  
|  
|
| White Balance, Contrast, Brightness, Saturation
| White Balance, Contrast, Brightness, Saturation (depends on HW platform, not available on desktop Linux)
| White Balance  
| White Balance  
| White Balance  
| White Balance  

Latest revision as of 10:53, 19 July 2016

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.6.

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 X X 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 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 mode, custom point
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 Manual White Balance, Contrast, Brightness, Saturation, Sharpening White Balance, Contrast, Brightness, Saturation 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 Focus

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 X
Video encoder settings X X X X
Container settings X 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