Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

QtMultimedia: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Add to a category for the module.)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:QtMultimedia]]
'''English''' [[QtMultimedia_Turkce|Türkçe]]
'''English''' [[QtMultimedia_Turkce|Türkçe]]


Line 7: Line 9:
== Chart of backend completeness by platform ==
== Chart of backend completeness by platform ==


{background:#009900}. |''. Interface |''. AVFoundation|''. QuickTime 7 |''. DirectShow |''. WMF |''. GStreamer |''. Android |''. Blackberry |
 
|[[Doc:QAudioDecoderControl]] | | | | | | | |
{| border="1"
|[[Doc:QAudioEncoderSettingsControl]] | | | | | | | |
|- style="background-color:#00BB00;"
|[[Doc:QAudioInputSelectorControl]] | yes | | | | | | |
! Interface  
|[[Doc:QAudioOutputSelectorControl]] | | | | | | | |
! AVFoundation
|[[Doc:QCameraCaptureBufferFormatControl]] | | | | | | | |
! QuickTime 7  
|[[Doc:QCameraCaptureDestinationControl]] | | | | | | | |
! DirectShow  
|[[Doc:QCameraControl]] | yes | | | | | | |
! WMF  
|[[Doc:QCameraExposureControl]] | | | | | | | |
! GStreamer  
|[[Doc:QCameraFeedbackControl]] | | | | | | | |
! Android  
|[[Doc:QCmaeraFlashControl]] | | | | | | | |
! Blackberry  
|[[Doc:QCameraFocusControl]] | | | | | | | |
|-
|[[Doc:QCameraImageCaptureControl]] | yes | | | | | | |
|[http://doc.qt.io/qt-5/qaudiodecodercontrol.html QAudioDecoderControl] || || || || || || || |
|[[Doc:QCameraImageProcessingControl]] | | | | | | | |
|-
|[[Doc:QCameraLocksControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qaudioencodersettingscontrol.html QAudioEncoderSettingsControl] || || || || || || || |
|[[Doc:QCameraViewFinderSettingsControl]] | | | | | | | |
|-
|[[Doc:QCameraZoomControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qaudioinputselectorcontrol.html QAudioInputSelectorControl] || yes || || || || || || |
|[[Doc:QImageEncoderControl]] | | | | | | | |
|-
|[[Doc:QMediaAudioProbeControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qaudiooutputselectorcontrol.html QAudioOutputSelectorControl] || || || || || || || |
|[[Doc:QMediaAvailabilityControl]] | | | | | | | |
|-
|[[Doc:QMediaContainerControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qcameracapturebufferformatcontrol.html QCameraCaptureBufferFormatControl] || || || || || || || |
|[[Doc:QMediaGaplessPlaybackControl]] | | | | | | | |
|-
|[[Doc:QMediaNetworkAccessControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qcameracapturedestinationcontrol.html QCameraCaptureDestinationControl] || || || || || || || |
|[[Doc:QMediaPlayerControl]] | yes | yes | | | | | |
|-
|[[Doc:QMediaPlayListControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qcameracontrol.html QCameraControl] || yes || || || || || || |
|[[Doc:QMediaPlayListSourceControl]] | | | | | | | |
|-
|[[Doc:QMediaRecorderControl]] | yes | | | | | | |
|[http://doc.qt.io/qt-5/qcameraexposurecontrol.html QCameraExposureControl] || || || || || || || |
|[[Doc:QMediaStreamControl]] | | | | | | | |
|-
|[[Doc:QMediaVideoProbeControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qcamerafeedbackcontrol.html QCameraFeedbackControl] || || || || || || || |
|[[Doc:QMetaDataReaderControl]] | partial | yes | | | | | |
|-
|[[Doc:QMetaDataWriterControl]] | yes | | | | | | |
|[http://doc.qt.io/qt-5/qcameraflashcontrol.html QCameraFlashControl] || || || || || || || |
|[[Doc:QRadioDataControl]] | | | | | | | |
|-
|[[Doc:QRadioTunerControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qcamerafocuscontrol.html QCameraFocusControl] || || || || || || || |
|[[Doc:QVideoDeviceSelectorControl]] | yes | | | | | | |
|-
|[[Doc:QVideoEncoderSettingsControl]] | | | | | | | |
|[http://doc.qt.io/qt-5/qcameraimagecapturecontrol.html QCameraImageCaptureControl] || yes || || || || || || |
|[[Doc:QVideoRendererControl]] | yes | yes | | | | | |
|-
|[[Doc:QVideoWidgetControl]] | yes | yes | | | | | |
|[http://doc.qt.io/qt-5/qcameraimageprocessingcontrol.html QCameraImageProcessingControl] || || || || || || || |
|[[Doc:QVideoWindowControl]] | | yes | | | | | |
|-
|[http://doc.qt.io/qt-5/qcameralockscontrol.html QCameraLocksControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qcameraviewfindersettingscontrol.html QCameraViewFinderSettingsControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qcamerazoomcontrol.html QCameraZoomControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qimageencodercontrol.html QImageEncoderControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediaaudioprobecontrol.html QMediaAudioProbeControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediaavailabilitycontrol.html QMediaAvailabilityControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediacontainercontrol.html QMediaContainerControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediagaplessplaybackcontrol.html QMediaGaplessPlaybackControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmedianetworkaccesscontrol.html QMediaNetworkAccessControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediaplayercontrol.html QMediaPlayerControl] || yes || yes || || || || || |
|-
|[http://doc.qt.io/qt-5/videooverview.html QMediaPlayListControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediaplayer.html QMediaPlayListSourceControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediarecordercontrol.html QMediaRecorderControl] || yes || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediastreamscontrol.html QMediaStreamControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmediavideoprobecontrol.html QMediaVideoProbeControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qmetadatareadercontrol.html QMetaDataReaderControl] || partial || yes || || || || || |
|-
|[http://doc.qt.io/qt-5/qmetadatawritercontrol.html QMetaDataWriterControl] || yes || || || || || || |
|-
|[http://doc.qt.io/qt-5/qradiodatacontrol.html QRadioDataControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qradiotunercontrol.html QRadioTunerControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qvideodeviceselectorcontrol.html QVideoDeviceSelectorControl] || yes || || || || || || |
|-
|[http://doc.qt.io/qt-5/qvideoencodersettingscontrol.html QVideoEncoderSettingsControl] || || || || || || || |
|-
|[http://doc.qt.io/qt-5/qvideorenderercontrol.html QVideoRendererControl] || yes || yes || || || || || |
|-
|[http://doc.qt.io/qt-5/qvideowidgetcontrol.html QVideoWidgetControl] || yes || yes || || || || || |
|-
|[http://doc.qt.io/qt-5/qvideowindowcontrol.html QVideoWindowControl] || || yes || || || || || |
|}
 


=== Windows ===
=== Windows ===


=== Linux & Embedded Linux ===
=== Linux & Embedded Linux ===


=== OS X & iOS ===
=== OS X & iOS ===


Multimedia support for apple products are provided by two plugins. The QuickTime 7 plugin is the legacy plugin, providing limited multimedia support to OS X 10.6, and is not actively developed. The AVFoundation plugin is available on OS X 10.7+ as well as iOS. This is the actively developed plugin and should be used where possible.
Multimedia support for apple products are provided by two plugins. The QuickTime 7 plugin is the legacy plugin, providing limited multimedia support to OS X 10.6, and is not actively developed. The AVFoundation plugin is available on OS X 10.7+ as well as iOS. This is the actively developed plugin and should be used where possible.
Line 64: Line 115:
QtMultimedia's functionality for a given platform is defined using the Qt plugin system through the implementation of interfaces. These interfaces can be seen split several ways, but for our purposes they will be split between the high level and low level API's.
QtMultimedia's functionality for a given platform is defined using the Qt plugin system through the implementation of interfaces. These interfaces can be seen split several ways, but for our purposes they will be split between the high level and low level API's.


=== High-level Multimedia Interfaces:
=== High-level Multimedia Interfaces: ===
|''. Interface |''. Description |
 
|[[Doc:QAudioDecoderControl]] | Access to the audio decoding functionality of a QMediaService |
 
|[[Doc:QAudioEncoderSettingsControl]] | Access to the settings of a media service that performs audio encoding |
{| border="1"
|[[Doc:QAudioInputSelectorControl]] | Audio input selector media control |
|- style="background-color:#00BB00;"
|[[Doc:QAudioOutputSelectorControl]] | Audio output selector media control |
! Interface  
|[[Doc:QCameraCaptureBufferFormatControl]] | Control for setting the capture buffer format |
! Description  
|[[Doc:QCameraCaptureDestinationControl]] | Control for setting capture destination |
|-
|[[Doc:QCameraControl]] | Abstract base class for classes that control still cameras or video cameras |
|[http://doc.qt.io/qt-5/qaudiodecodercontrol.html QAudioDecoderControl] || Access to the audio decoding functionality of a QMediaService  
|[[Doc:QCameraExposureControl]] | Allows controlling camera exposure parameters |
|-
|[[Doc:QCameraFeedbackControl]] | Allows controlling feedback (sounds etc) during camera operation |
|[http://doc.qt.io/qt-5/qaudioencodersettingscontrol.html QAudioEncoderSettingsControl] || Access to the settings of a media service that performs audio encoding  
|[[Doc:QCameraFlashControl]] | Allows controlling a camera's flash |
|-
|[[Doc:QCameraFocusControl]] | Supplies control for focusing related camera parameters |
|[http://doc.qt.io/qt-5/qaudioinputselectorcontrol.html QAudioInputSelectorControl] || Audio input selector media control  
|[[Doc:QCameraImageCaptureControl]] | Control interface for image capture services |
|-
|[[Doc:QCameraImageProcessingControl]] | Abstract class for controlling image processing parameters, like white balance, contrast, saturation, sharpening and denoising |
|[http://doc.qt.io/qt-5/qaudiooutputselectorcontrol.html QAudioOutputSelectorControl] || Audio output selector media control  
|[[Doc:QCameraLocksControl]] | Abstract base class for classes that control still cameras or video cameras |
|-
|[[Doc:QCameraViewfinderSettingsControl]] | Abstract class for controlling camera viewfinder parameters |
|[http://doc.qt.io/qt-5/qcameracapturebufferformatcontrol.html QCameraCaptureBufferFormatControl] || Control for setting the capture buffer format  
|[[Doc:QCameraZoomControl]] | Supplies control for optical and digital camera zoom |
|-
|[[Doc:QImageEncoderControl]] | Access to the settings of a media service that performs image encoding |
|[http://doc.qt.io/qt-5/qcameracapturedestinationcontrol.html QCameraCaptureDestinationControl] || Control for setting capture destination  
|[[Doc:QMediaAudioProbeControl]] | Allows control over probing audio data in media objects |
|-
|[[Doc:QMediaAvailabilityControl]] | Supplies a control for reporting availability of a service |
|[http://doc.qt.io/qt-5/qcameracontrol.html QCameraControl] || Abstract base class for classes that control still cameras or video cameras  
|[[Doc:QMediaContainerControl]] | Access to the output container format of a QMediaService |
|-
|[[Doc:QMediaGaplessPlaybackControl]] | Access to the gapless playback related control of a QMediaService |
|[http://doc.qt.io/qt-5/qcameraexposurecontrol.html QCameraExposureControl] || Allows controlling camera exposure parameters  
|[[Doc:QMediaNetworkAccessControl]] | Allows the setting of the Network Access Point for media related activities |
|-
|[[Doc:QMediaPlayerControl]] | Access to the media playing functionality of a QMediaService |
|[http://doc.qt.io/qt-5/qcamerafeedbackcontrol.html QCameraFeedbackControl] || Allows controlling feedback (sounds etc) during camera operation  
|[[Doc:QMediaRecorderControl]] | Access to the recording functionality of a QMediaService |
|-
|[[Doc:QMediaStreamsControl]] | Media stream selection control |
|[http://doc.qt.io/qt-5/qcameraflashcontrol.html QCameraFlashControl] || Allows controlling a camera's flash  
|[[Doc:QMediaVideoProbeControl]] | Allows control over probing video frames in media objects |
|-
|[[Doc:QMetaDataReaderControl]] | Read access to the meta-data of a QMediaService's media |
|[http://doc.qt.io/qt-5/qcamerafocuscontrol.html QCameraFocusControl] || Supplies control for focusing related camera parameters  
|[[Doc:QMetaDataWriterControl]] | Write access to the meta-data of a QMediaService's media |
|-
|[[Doc:QRadioDataControl]] | Access to the RDS functionality of the radio in the QMediaService |
|[http://doc.qt.io/qt-5/qcameraimagecapturecontrol.html QCameraImageCaptureControl] || Control interface for image capture services  
|[[Doc:QRadioTunerControl]] | Access to the radio tuning functionality of a QMediaService |
|-
|[[Doc:QVideoDeviceSelectorControl]] | Video device selector media control |
|[http://doc.qt.io/qt-5/qcameraimageprocessingcontrol.html QCameraImageProcessingControl] || Abstract class for controlling image processing parameters, like white balance, contrast, saturation, sharpening and denoising  
|[[Doc:QVideoEncoderSettingsControl]] | Access to the settings of a media service that performs video encoding |
|-
|[[Doc:QVideoRendererControl]] | Media control for rendering video to a QAbstractVideoSurface |
|[http://doc.qt.io/qt-5/qcameralockscontrol.html QCameraLocksControl] || Abstract base class for classes that control still cameras or video cameras  
|[[Doc:QVideoWindowControl]] | Media control for rendering video to a window |
|-
|[[Doc:QMediaControl]] | Base interface for media service controls |
|[http://doc.qt.io/qt-5/qcameraviewfindersettingscontrol.html QCameraViewfinderSettingsControl] || Abstract class for controlling camera viewfinder parameters  
|[[Doc:QMediaService]] | Common base class for media service implementations | ===
|-
|[http://doc.qt.io/qt-5/qcamerazoomcontrol.html QCameraZoomControl] || Supplies control for optical and digital camera zoom  
|-
|[http://doc.qt.io/qt-5/qimageencodercontrol.html QImageEncoderControl] || Access to the settings of a media service that performs image encoding  
|-
|[http://doc.qt.io/qt-5/qmediaaudioprobecontrol.html QMediaAudioProbeControl] || Allows control over probing audio data in media objects  
|-
|[http://doc.qt.io/qt-5/qmediaavailabilitycontrol.html QMediaAvailabilityControl] || Supplies a control for reporting availability of a service  
|-
|[http://doc.qt.io/qt-5/qmediacontainercontrol.html QMediaContainerControl] || Access to the output container format of a QMediaService  
|-
|[http://doc.qt.io/qt-5/qmediagaplessplaybackcontrol.html QMediaGaplessPlaybackControl] || Access to the gapless playback related control of a QMediaService  
|-
|[http://doc.qt.io/qt-5/qmedianetworkaccesscontrol.html QMediaNetworkAccessControl] || Allows the setting of the Network Access Point for media related activities  
|-
|[http://doc.qt.io/qt-5/qmediaplayercontrol.html QMediaPlayerControl] || Access to the media playing functionality of a QMediaService  
|-
|[http://doc.qt.io/qt-5/qmediarecordercontrol.html QMediaRecorderControl] || Access to the recording functionality of a QMediaService  
|-
|[http://doc.qt.io/qt-5/qmediastreamscontrol.html QMediaStreamsControl] || Media stream selection control  
|-
|[http://doc.qt.io/qt-5/qmediavideoprobecontrol.html QMediaVideoProbeControl] || Allows control over probing video frames in media objects  
|-
|[http://doc.qt.io/qt-5/qmetadatareadercontrol.html QMetaDataReaderControl] || Read access to the meta-data of a QMediaService's media  
|-
|[http://doc.qt.io/qt-5/qmetadatawritercontrol.html QMetaDataWriterControl] || Write access to the meta-data of a QMediaService's media  
|-
|[http://doc.qt.io/qt-5/qradiodatacontrol.html QRadioDataControl] || Access to the RDS functionality of the radio in the QMediaService  
|-
|[http://doc.qt.io/qt-5/qradiotunercontrol.html QRadioTunerControl] || Access to the radio tuning functionality of a QMediaService  
|-
|[http://doc.qt.io/qt-5/qvideodeviceselectorcontrol.html QVideoDeviceSelectorControl] || Video device selector media control  
|-
|[http://doc.qt.io/qt-5/qvideoencodersettingscontrol.html QVideoEncoderSettingsControl] || Access to the settings of a media service that performs video encoding  
|-
|[http://doc.qt.io/qt-5/qvideorenderercontrol.html QVideoRendererControl] || Media control for rendering video to a QAbstractVideoSurface  
|-
|[http://doc.qt.io/qt-5/qvideowindowcontrol.html QVideoWindowControl] || Media control for rendering video to a window  
|-
|[http://doc.qt.io/qt-5/qmediacontrol.html QMediaControl] || Base interface for media service controls  
|-
|[http://doc.qt.io/qt-5/qmediaservice.html QMediaService] || Common base class for media service implementations  
|}


=== Low-level Multimedia Interfaces: ===
=== Low-level Multimedia Interfaces: ===

Latest revision as of 16:05, 25 November 2016


English Türkçe

QtMultimedia Module

For a full overview of the QtMultimedia module please checkout the Multimedia Overview in the Qt documentation.

Chart of backend completeness by platform

Interface AVFoundation QuickTime 7 DirectShow WMF GStreamer Android Blackberry
QAudioDecoderControl
QAudioEncoderSettingsControl
QAudioInputSelectorControl yes
QAudioOutputSelectorControl
QCameraCaptureBufferFormatControl
QCameraCaptureDestinationControl
QCameraControl yes
QCameraExposureControl
QCameraFeedbackControl
QCameraFlashControl
QCameraFocusControl
QCameraImageCaptureControl yes
QCameraImageProcessingControl
QCameraLocksControl
QCameraViewFinderSettingsControl
QCameraZoomControl
QImageEncoderControl
QMediaAudioProbeControl
QMediaAvailabilityControl
QMediaContainerControl
QMediaGaplessPlaybackControl
QMediaNetworkAccessControl
QMediaPlayerControl yes yes
QMediaPlayListControl
QMediaPlayListSourceControl
QMediaRecorderControl yes
QMediaStreamControl
QMediaVideoProbeControl
QMetaDataReaderControl partial yes
QMetaDataWriterControl yes
QRadioDataControl
QRadioTunerControl
QVideoDeviceSelectorControl yes
QVideoEncoderSettingsControl
QVideoRendererControl yes yes
QVideoWidgetControl yes yes
QVideoWindowControl yes


Windows

Linux & Embedded Linux

OS X & iOS

Multimedia support for apple products are provided by two plugins. The QuickTime 7 plugin is the legacy plugin, providing limited multimedia support to OS X 10.6, and is not actively developed. The AVFoundation plugin is available on OS X 10.7+ as well as iOS. This is the actively developed plugin and should be used where possible.

Android

Android Base-layer

Blackberry 10 (QNX)

QtMultimedia Plugin Interfaces

QtMultimedia's functionality for a given platform is defined using the Qt plugin system through the implementation of interfaces. These interfaces can be seen split several ways, but for our purposes they will be split between the high level and low level API's.

High-level Multimedia Interfaces:

Interface Description
QAudioDecoderControl Access to the audio decoding functionality of a QMediaService
QAudioEncoderSettingsControl Access to the settings of a media service that performs audio encoding
QAudioInputSelectorControl Audio input selector media control
QAudioOutputSelectorControl Audio output selector media control
QCameraCaptureBufferFormatControl Control for setting the capture buffer format
QCameraCaptureDestinationControl Control for setting capture destination
QCameraControl Abstract base class for classes that control still cameras or video cameras
QCameraExposureControl Allows controlling camera exposure parameters
QCameraFeedbackControl Allows controlling feedback (sounds etc) during camera operation
QCameraFlashControl Allows controlling a camera's flash
QCameraFocusControl Supplies control for focusing related camera parameters
QCameraImageCaptureControl Control interface for image capture services
QCameraImageProcessingControl Abstract class for controlling image processing parameters, like white balance, contrast, saturation, sharpening and denoising
QCameraLocksControl Abstract base class for classes that control still cameras or video cameras
QCameraViewfinderSettingsControl Abstract class for controlling camera viewfinder parameters
QCameraZoomControl Supplies control for optical and digital camera zoom
QImageEncoderControl Access to the settings of a media service that performs image encoding
QMediaAudioProbeControl Allows control over probing audio data in media objects
QMediaAvailabilityControl Supplies a control for reporting availability of a service
QMediaContainerControl Access to the output container format of a QMediaService
QMediaGaplessPlaybackControl Access to the gapless playback related control of a QMediaService
QMediaNetworkAccessControl Allows the setting of the Network Access Point for media related activities
QMediaPlayerControl Access to the media playing functionality of a QMediaService
QMediaRecorderControl Access to the recording functionality of a QMediaService
QMediaStreamsControl Media stream selection control
QMediaVideoProbeControl Allows control over probing video frames in media objects
QMetaDataReaderControl Read access to the meta-data of a QMediaService's media
QMetaDataWriterControl Write access to the meta-data of a QMediaService's media
QRadioDataControl Access to the RDS functionality of the radio in the QMediaService
QRadioTunerControl Access to the radio tuning functionality of a QMediaService
QVideoDeviceSelectorControl Video device selector media control
QVideoEncoderSettingsControl Access to the settings of a media service that performs video encoding
QVideoRendererControl Media control for rendering video to a QAbstractVideoSurface
QVideoWindowControl Media control for rendering video to a window
QMediaControl Base interface for media service controls
QMediaService Common base class for media service implementations

Low-level Multimedia Interfaces: