<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qmediaencodersettings.cpp --> <title>QVideoEncoderSettings Class | Qt Multimedia 5.12.6</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.12</td><td ><a href="qtmultimedia-index.html">Qt Multimedia</a></td><td ><a href="qtmultimedia-modules.html">C++ Classes</a></td><td >QVideoEncoderSettings</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right"><a href="qtmultimedia-index.html">Qt 5.12.6 Reference Documentation</a></td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#public-functions">Public Functions</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">QVideoEncoderSettings Class</h1> <!-- $$$QVideoEncoderSettings-brief --> <p>The <a href="qvideoencodersettings.html">QVideoEncoderSettings</a> class provides a set of video encoder settings. <a href="#details">More...</a></p> <!-- @@@QVideoEncoderSettings --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign"> <span class="preprocessor">#include <QVideoEncoderSettings></span> </td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += multimedia</td></tr></table></div><ul> <li><a href="qvideoencodersettings-members.html">List of all members, including inherited members</a></li> </ul> <a name="public-functions"></a> <h2 id="public-functions">Public Functions</h2> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#QVideoEncoderSettings">QVideoEncoderSettings</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#QVideoEncoderSettings-1">QVideoEncoderSettings</a></b>(const QVideoEncoderSettings &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#dtor.QVideoEncoderSettings">~QVideoEncoderSettings</a></b>()</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> int </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#bitRate">bitRate</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QString </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#codec">codec</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QMultimedia::EncodingMode </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#encodingMode">encodingMode</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVariant </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#encodingOption">encodingOption</a></b>(const QString &<i>option</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVariantMap </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#encodingOptions">encodingOptions</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> qreal </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#frameRate">frameRate</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#isNull">isNull</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QMultimedia::EncodingQuality </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#quality">quality</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QSize </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#resolution">resolution</a></b>() const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setBitRate">setBitRate</a></b>(int <i>value</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setCodec">setCodec</a></b>(const QString &<i>codec</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setEncodingMode">setEncodingMode</a></b>(QMultimedia::EncodingMode <i>mode</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setEncodingOption">setEncodingOption</a></b>(const QString &<i>option</i>, const QVariant &<i>value</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setEncodingOptions">setEncodingOptions</a></b>(const QVariantMap &<i>options</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setFrameRate">setFrameRate</a></b>(qreal <i>rate</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setQuality">setQuality</a></b>(QMultimedia::EncodingQuality <i>quality</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setResolution">setResolution</a></b>(const QSize &<i>resolution</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#setResolution-1">setResolution</a></b>(int <i>width</i>, int <i>height</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#operator-not-eq">operator!=</a></b>(const QVideoEncoderSettings &<i>other</i>) const</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> QVideoEncoderSettings &</td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#operator-eq">operator=</a></b>(const QVideoEncoderSettings &<i>other</i>)</td></tr> <tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qvideoencodersettings.html#operator-eq-eq">operator==</a></b>(const QVideoEncoderSettings &<i>other</i>) const</td></tr> </table></div> <a name="details"></a> <!-- $$$QVideoEncoderSettings-description --> <div class="descr"> <h2 id="details">Detailed Description</h2> <p>The <a href="qvideoencodersettings.html">QVideoEncoderSettings</a> class provides a set of video encoder settings.</p> <p>A video encoder settings object is used to specify the video encoder settings used by <a href="qmediarecorder.html">QMediaRecorder</a>. Video encoder settings are selected by constructing a <a href="qvideoencodersettings.html">QVideoEncoderSettings</a> object, setting the desired properties and then passing it to a <a href="qmediarecorder.html">QMediaRecorder</a> instance using the <a href="qmediarecorder.html#setEncodingSettings">QMediaRecorder::setEncodingSettings</a>() function.</p> <pre class="cpp"> <span class="type"><a href="qvideoencodersettings.html#QVideoEncoderSettings">QVideoEncoderSettings</a></span> videoSettings; videoSettings<span class="operator">.</span>setCodec(<span class="string">"video/mpeg2"</span>); videoSettings<span class="operator">.</span>setResolution(<span class="number">640</span><span class="operator">,</span> <span class="number">480</span>); recorder<span class="operator">-</span><span class="operator">></span>setVideoSettings(videoSettings); </pre> </div> <p><b>See also </b><a href="qmediarecorder.html">QMediaRecorder</a> and <a href="qvideoencodersettingscontrol.html">QVideoEncoderSettingsControl</a>.</p> <!-- @@@QVideoEncoderSettings --> <div class="func"> <h2>Member Function Documentation</h2> <!-- $$$QVideoEncoderSettings[overload1]$$$QVideoEncoderSettings --> <h3 class="fn" id="QVideoEncoderSettings"><a name="QVideoEncoderSettings"></a>QVideoEncoderSettings::<span class="name">QVideoEncoderSettings</span>()</h3> <p>Constructs a null video encoder settings object.</p> <!-- @@@QVideoEncoderSettings --> <!-- $$$QVideoEncoderSettings$$$QVideoEncoderSettingsconstQVideoEncoderSettings& --> <h3 class="fn" id="QVideoEncoderSettings-1"><a name="QVideoEncoderSettings-1"></a>QVideoEncoderSettings::<span class="name">QVideoEncoderSettings</span>(const <span class="type"><a href="qvideoencodersettings.html#QVideoEncoderSettings">QVideoEncoderSettings</a></span> &<i>other</i>)</h3> <p>Constructs a copy of the video encoder settings object <i>other</i>.</p> <!-- @@@QVideoEncoderSettings --> <!-- $$$~QVideoEncoderSettings[overload1]$$$~QVideoEncoderSettings --> <h3 class="fn" id="dtor.QVideoEncoderSettings"><a name="dtor.QVideoEncoderSettings"></a>QVideoEncoderSettings::<span class="name">~QVideoEncoderSettings</span>()</h3> <p>Destroys a video encoder settings object.</p> <!-- @@@~QVideoEncoderSettings --> <!-- $$$bitRate[overload1]$$$bitRate --> <h3 class="fn" id="bitRate"><a name="bitRate"></a><span class="type">int</span> QVideoEncoderSettings::<span class="name">bitRate</span>() const</h3> <p>Returns bit rate of the encoded video stream in bits per second.</p> <p><b>See also </b><a href="qvideoencodersettings.html#setBitRate">setBitRate</a>().</p> <!-- @@@bitRate --> <!-- $$$codec[overload1]$$$codec --> <h3 class="fn" id="codec"><a name="codec"></a><span class="type">QString</span> QVideoEncoderSettings::<span class="name">codec</span>() const</h3> <p>Returns the video codec.</p> <p><b>See also </b><a href="qvideoencodersettings.html#setCodec">setCodec</a>().</p> <!-- @@@codec --> <!-- $$$encodingMode[overload1]$$$encodingMode --> <h3 class="fn" id="encodingMode"><a name="encodingMode"></a><span class="type"><a href="qmultimedia.html#EncodingMode-enum">QMultimedia::EncodingMode</a></span> QVideoEncoderSettings::<span class="name">encodingMode</span>() const</h3> <p>Returns the video encoding mode.</p> <p><b>See also </b><a href="qvideoencodersettings.html#setEncodingMode">setEncodingMode</a>() and <a href="qmultimedia.html#EncodingMode-enum">QMultimedia::EncodingMode</a>.</p> <!-- @@@encodingMode --> <!-- $$$encodingOption[overload1]$$$encodingOptionconstQString& --> <h3 class="fn" id="encodingOption"><a name="encodingOption"></a><span class="type">QVariant</span> QVideoEncoderSettings::<span class="name">encodingOption</span>(const <span class="type">QString</span> &<i>option</i>) const</h3> <p>Returns the value of encoding <i>option</i>.</p> <p><b>See also </b><a href="qvideoencodersettings.html#setEncodingOption">setEncodingOption</a>() and <a href="qvideoencodersettings.html#encodingOptions">encodingOptions</a>().</p> <!-- @@@encodingOption --> <!-- $$$encodingOptions[overload1]$$$encodingOptions --> <h3 class="fn" id="encodingOptions"><a name="encodingOptions"></a><span class="type">QVariantMap</span> QVideoEncoderSettings::<span class="name">encodingOptions</span>() const</h3> <p>Returns the all the encoding options as QVariantMap.</p> <p><b>See also </b><a href="qvideoencodersettings.html#encodingOption">encodingOption</a>() and <a href="qvideoencodersettings.html#setEncodingOptions">setEncodingOptions</a>().</p> <!-- @@@encodingOptions --> <!-- $$$frameRate[overload1]$$$frameRate --> <h3 class="fn" id="frameRate"><a name="frameRate"></a><span class="type">qreal</span> QVideoEncoderSettings::<span class="name">frameRate</span>() const</h3> <p>Returns the video frame rate.</p> <p><b>See also </b><a href="qvideoencodersettings.html#setFrameRate">setFrameRate</a>().</p> <!-- @@@frameRate --> <!-- $$$isNull[overload1]$$$isNull --> <h3 class="fn" id="isNull"><a name="isNull"></a><span class="type">bool</span> QVideoEncoderSettings::<span class="name">isNull</span>() const</h3> <p>Identifies if a video encoder settings object is uninitalized.</p> <p>Returns true if the settings are null, and false if they are not.</p> <!-- @@@isNull --> <!-- $$$quality[overload1]$$$quality --> <h3 class="fn" id="quality"><a name="quality"></a><span class="type"><a href="qmultimedia.html#EncodingQuality-enum">QMultimedia::EncodingQuality</a></span> QVideoEncoderSettings::<span class="name">quality</span>() const</h3> <p>Returns the video encoding quality.</p> <p><b>See also </b><a href="qvideoencodersettings.html#setQuality">setQuality</a>().</p> <!-- @@@quality --> <!-- $$$resolution[overload1]$$$resolution --> <h3 class="fn" id="resolution"><a name="resolution"></a><span class="type">QSize</span> QVideoEncoderSettings::<span class="name">resolution</span>() const</h3> <p>Returns the resolution of the encoded video.</p> <p><b>See also </b><a href="qvideoencodersettings.html#setResolution">setResolution</a>().</p> <!-- @@@resolution --> <!-- $$$setBitRate[overload1]$$$setBitRateint --> <h3 class="fn" id="setBitRate"><a name="setBitRate"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setBitRate</span>(<span class="type">int</span> <i>value</i>)</h3> <p>Sets the bit rate of the encoded video stream to <i>value</i>.</p> <p><b>See also </b><a href="qvideoencodersettings.html#bitRate">bitRate</a>().</p> <!-- @@@setBitRate --> <!-- $$$setCodec[overload1]$$$setCodecconstQString& --> <h3 class="fn" id="setCodec"><a name="setCodec"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setCodec</span>(const <span class="type">QString</span> &<i>codec</i>)</h3> <p>Sets the video <i>codec</i>.</p> <p><b>See also </b><a href="qvideoencodersettings.html#codec">codec</a>().</p> <!-- @@@setCodec --> <!-- $$$setEncodingMode[overload1]$$$setEncodingModeQMultimedia::EncodingMode --> <h3 class="fn" id="setEncodingMode"><a name="setEncodingMode"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setEncodingMode</span>(<span class="type"><a href="qmultimedia.html#EncodingMode-enum">QMultimedia::EncodingMode</a></span> <i>mode</i>)</h3> <p>Sets the video encoding <i>mode</i>.</p> <p>If <a href="qmultimedia.html#EncodingMode-enum">QMultimedia::ConstantQualityEncoding</a> is set, the quality encoding parameter is used and bit rate is ignored, otherwise the bitrate is used.</p> <p>The rest of encoding settings are respected regardless of encoding mode.</p> <p><b>See also </b><a href="qvideoencodersettings.html#encodingMode">encodingMode</a>() and <a href="qmultimedia.html#EncodingMode-enum">QMultimedia::EncodingMode</a>.</p> <!-- @@@setEncodingMode --> <!-- $$$setEncodingOption[overload1]$$$setEncodingOptionconstQString&constQVariant& --> <h3 class="fn" id="setEncodingOption"><a name="setEncodingOption"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setEncodingOption</span>(const <span class="type">QString</span> &<i>option</i>, const <span class="type">QVariant</span> &<i>value</i>)</h3> <p>Set the encoding <i>option</i> <i>value</i>.</p> <p>The supported set and meaning of encoding options are system and selected codec specific.</p> <p><b>See also </b><a href="qvideoencodersettings.html#encodingOption">encodingOption</a>() and <a href="qvideoencodersettings.html#setEncodingOptions">setEncodingOptions</a>().</p> <!-- @@@setEncodingOption --> <!-- $$$setEncodingOptions[overload1]$$$setEncodingOptionsconstQVariantMap& --> <h3 class="fn" id="setEncodingOptions"><a name="setEncodingOptions"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setEncodingOptions</span>(const <span class="type">QVariantMap</span> &<i>options</i>)</h3> <p>Replace all the encoding options with <i>options</i>.</p> <p>The supported set and meaning of encoding options are system and selected codec specific.</p> <p><b>See also </b><a href="qvideoencodersettings.html#encodingOptions">encodingOptions</a>(), <a href="qvideoencodersettings.html#encodingOption">encodingOption</a>(), and <a href="qvideoencodersettings.html#setEncodingOption">setEncodingOption</a>().</p> <!-- @@@setEncodingOptions --> <!-- $$$setFrameRate[overload1]$$$setFrameRateqreal --> <h3 class="fn" id="setFrameRate"><a name="setFrameRate"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setFrameRate</span>(<span class="type">qreal</span> <i>rate</i>)</h3> <p>Sets the video frame <i>rate</i>.</p> <p>A value of 0 indicates the encoder should make an optimal choice based on what is available from the video source and the limitations of the codec.</p> <p><b>See also </b><a href="qvideoencodersettings.html#frameRate">frameRate</a>().</p> <!-- @@@setFrameRate --> <!-- $$$setQuality[overload1]$$$setQualityQMultimedia::EncodingQuality --> <h3 class="fn" id="setQuality"><a name="setQuality"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setQuality</span>(<span class="type"><a href="qmultimedia.html#EncodingQuality-enum">QMultimedia::EncodingQuality</a></span> <i>quality</i>)</h3> <p>Sets the video encoding <i>quality</i>.</p> <p>Setting the video quality parameter allows backend to choose the balanced set of encoding parameters to achieve the desired quality level.</p> <p>The <i>quality</i> settings parameter is only used in the <a href="qmultimedia.html#EncodingMode-enum">constant quality</a> <a href="qvideoencodersettings.html#encodingMode">encoding mode</a>. The <i>quality</i> settings parameter is only used in the <a href="qmultimedia.html#EncodingMode-enum">constant quality</a> <a href="qvideoencodersettings.html#encodingMode">encoding mode</a>.</p> <p><b>See also </b><a href="qvideoencodersettings.html#quality">quality</a>().</p> <!-- @@@setQuality --> <!-- $$$setResolution[overload1]$$$setResolutionconstQSize& --> <h3 class="fn" id="setResolution"><a name="setResolution"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setResolution</span>(const <span class="type">QSize</span> &<i>resolution</i>)</h3> <p>Sets the <i>resolution</i> of the encoded video.</p> <p>An empty QSize indicates the encoder should make an optimal choice based on what is available from the video source and the limitations of the codec.</p> <p><b>See also </b><a href="qvideoencodersettings.html#resolution">resolution</a>().</p> <!-- @@@setResolution --> <!-- $$$setResolution$$$setResolutionintint --> <h3 class="fn" id="setResolution-1"><a name="setResolution-1"></a><span class="type">void</span> QVideoEncoderSettings::<span class="name">setResolution</span>(<span class="type">int</span> <i>width</i>, <span class="type">int</span> <i>height</i>)</h3> <p>Sets the <i>width</i> and <i>height</i> of the resolution of the encoded video.</p> <p>This is an overloaded function.</p> <!-- @@@setResolution --> <!-- $$$operator!=[overload1]$$$operator!=constQVideoEncoderSettings& --> <h3 class="fn" id="operator-not-eq"><a name="operator-not-eq"></a><span class="type">bool</span> QVideoEncoderSettings::<span class="name">operator!=</span>(const <span class="type"><a href="qvideoencodersettings.html#QVideoEncoderSettings">QVideoEncoderSettings</a></span> &<i>other</i>) const</h3> <p>Determines if <i>other</i> is of equal value to a video encoder settings object.</p> <p>Returns true if the settings objects are not of equal value, and false if they are of equal value.</p> <!-- @@@operator!= --> <!-- $$$operator=[overload1]$$$operator=constQVideoEncoderSettings& --> <h3 class="fn" id="operator-eq"><a name="operator-eq"></a><span class="type"><a href="qvideoencodersettings.html#QVideoEncoderSettings">QVideoEncoderSettings</a></span> &QVideoEncoderSettings::<span class="name">operator=</span>(const <span class="type"><a href="qvideoencodersettings.html#QVideoEncoderSettings">QVideoEncoderSettings</a></span> &<i>other</i>)</h3> <p>Assigns the value of <i>other</i> to a video encoder settings object.</p> <!-- @@@operator= --> <!-- $$$operator==[overload1]$$$operator==constQVideoEncoderSettings& --> <h3 class="fn" id="operator-eq-eq"><a name="operator-eq-eq"></a><span class="type">bool</span> QVideoEncoderSettings::<span class="name">operator==</span>(const <span class="type"><a href="qvideoencodersettings.html#QVideoEncoderSettings">QVideoEncoderSettings</a></span> &<i>other</i>) const</h3> <p>Determines if <i>other</i> is of equal value to a video encoder settings object.</p> <p>Returns true if the settings objects are of equal value, and false if they are not of equal value.</p> <!-- @@@operator== --> </div> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>