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
No edit summary |
(Add to a category for the module.) |
||
(6 intermediate revisions by 3 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:# | |||
{| border="1" | |||
|- style="background-color:#00BB00;" | |||
! Interface | |||
! AVFoundation | |||
! QuickTime 7 | |||
! DirectShow | |||
! WMF | |||
! GStreamer | |||
! Android | |||
! Blackberry | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudiodecodercontrol.html QAudioDecoderControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudioencodersettingscontrol.html QAudioEncoderSettingsControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudioinputselectorcontrol.html QAudioInputSelectorControl] || yes || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudiooutputselectorcontrol.html QAudioOutputSelectorControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameracapturebufferformatcontrol.html QCameraCaptureBufferFormatControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameracapturedestinationcontrol.html QCameraCaptureDestinationControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameracontrol.html QCameraControl] || yes || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraexposurecontrol.html QCameraExposureControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcamerafeedbackcontrol.html QCameraFeedbackControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraflashcontrol.html QCameraFlashControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcamerafocuscontrol.html QCameraFocusControl] || || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraimagecapturecontrol.html QCameraImageCaptureControl] || yes || || || || || || | | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraimageprocessingcontrol.html QCameraImageProcessingControl] || || || || || || || | | |||
|- | |||
|[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 & | === Linux & Embedded Linux === | ||
=== OS X & | === 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 27: | 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: === | ||
{| border="1" | |||
|- style="background-color:#00BB00;" | |||
! Interface | |||
! Description | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudiodecodercontrol.html QAudioDecoderControl] || Access to the audio decoding functionality of a QMediaService | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudioencodersettingscontrol.html QAudioEncoderSettingsControl] || Access to the settings of a media service that performs audio encoding | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudioinputselectorcontrol.html QAudioInputSelectorControl] || Audio input selector media control | |||
|- | |||
|[http://doc.qt.io/qt-5/qaudiooutputselectorcontrol.html QAudioOutputSelectorControl] || Audio output selector media control | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameracapturebufferformatcontrol.html QCameraCaptureBufferFormatControl] || Control for setting the capture buffer format | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameracapturedestinationcontrol.html QCameraCaptureDestinationControl] || Control for setting capture destination | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameracontrol.html QCameraControl] || Abstract base class for classes that control still cameras or video cameras | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraexposurecontrol.html QCameraExposureControl] || Allows controlling camera exposure parameters | |||
|- | |||
|[http://doc.qt.io/qt-5/qcamerafeedbackcontrol.html QCameraFeedbackControl] || Allows controlling feedback (sounds etc) during camera operation | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraflashcontrol.html QCameraFlashControl] || Allows controlling a camera's flash | |||
|- | |||
|[http://doc.qt.io/qt-5/qcamerafocuscontrol.html QCameraFocusControl] || Supplies control for focusing related camera parameters | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraimagecapturecontrol.html QCameraImageCaptureControl] || Control interface for image capture services | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraimageprocessingcontrol.html QCameraImageProcessingControl] || Abstract class for controlling image processing parameters, like white balance, contrast, saturation, sharpening and denoising | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameralockscontrol.html QCameraLocksControl] || Abstract base class for classes that control still cameras or video cameras | |||
|- | |||
|[http://doc.qt.io/qt-5/qcameraviewfindersettingscontrol.html QCameraViewfinderSettingsControl] || Abstract class for controlling camera viewfinder parameters | |||
|- | |||
|[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
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 |