{"id":61,"date":"2025-08-29T00:00:00","date_gmt":"2025-08-28T15:00:00","guid":{"rendered":"https:\/\/www.eqmaker.kr\/en\/?p=61"},"modified":"2026-08-16T01:11:16","modified_gmt":"2026-08-15T16:11:16","slug":"wowza-transcoder-hidden-options","status":"publish","type":"post","link":"https:\/\/www.eqmaker.kr\/en\/wowza-transcoder-hidden-options\/","title":{"rendered":"Hidden Settings and Features of Wowza Transcoder"},"content":{"rendered":"\n<section>\n<h2 id=\"HiddenOptions\">Hidden settings in Wowza Streaming Engine Transcoder<\/h2>\n\t<p>Wowza Streaming Engine (hereafter, Wowza) Transcoder has detailed options that do not appear in the web UI but can be applied through an XML template. This article explains the purpose of 13 MainConcept parameters found in official documents and through customer support. It also shows how to apply them by adding a <code>Parameter<\/code> block to a template file.<\/p>\n<\/section>\n<section>\n<h2 id=\"ApplyOptions\">How to change the hidden settings<\/h2>\n\t<p>To change the hidden settings, you must edit the template file directly. As is well known, Wowza Transcoder settings are managed through <a href=\"https:\/\/www.eqmaker.kr\/media-ops\/wse-transcoder-user-template\/\" title=\"Wowza Transcoder templates\" rel=\"noopener\" hreflang=\"ko\">Transcoder template files<\/a> located in <code class=\"line\">[install-dir]\/transcoder\/templates\/<\/code>.<\/p>\n\n\t<p>Like other Wowza configuration files, these template files use XML. You can edit them in the <a href=\"https:\/\/www.eqmaker.kr\/media-ops\/wowza-streaming-engine-xml-config-files-and-properties-modify\/\" title=\"How to edit Wowza configuration and add Custom Properties\" hreflang=\"ko\">same way that you edit properties in other Wowza configuration files<\/a>. Open the template file and go to the video parameter section of the Transcoder preset that you want to change. Then add a parameter block as shown below.<\/p>\n<pre><code>...(earlier part omitted)...\n&lt;Encode&gt;\n &lt;Name&gt;Profile name&lt;\/Name&gt;\n &lt;Enable&gt;true&lt;\/Enable&gt;\n &lt;Description&gt;Profile description&lt;\/Description&gt;\n &lt;StreamName&gt;mp4:${SourceStreamName}_360pvbr&lt;\/StreamName&gt;\n &lt;Video&gt;\n &lt;Parameters&gt;\n  <mark>&lt;Parameter&gt;\n   &lt;Name&gt;mainconcept.bit_rate_mode&lt;\/Name&gt;\n   &lt;Value&gt;2&lt;\/Value&gt;\n   &lt;Type&gt;Long&lt;\/Type&gt;\n  &lt;\/Parameter&gt;<\/mark>\n &lt;\/Parameters&gt;\n... (remaining part omitted) ...<\/code><\/pre>\n<p>Like other Wowza parameters, each parameter consists of <code>Name<\/code>, <code>Value<\/code>, and <code>Type<\/code>.<\/p>\n<\/section>\n\n<section>\n<h2 id=\"OptionList\">List of hidden additional options<\/h2>\n<p>This is the list of additional Wowza Transcoder options that I investigated. It includes options published in official documents and options that have no official document but were confirmed through technical support.<\/p>\n\t<ul>\n\t\t<li><strong>Select the bitrate mode<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.bit_rate_mode<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li><strong><var>0<\/var><\/strong>: <abbr title=\"Constant Bitrate\">CBR<\/abbr> mode<\/li>\n\t\t\t\t\t\t<li><strong><var>1<\/var><\/strong>: <abbr title=\"Constant Quantization\">CQT<\/abbr> mode<\/li>\n\t\t\t\t\t\t<li><strong><var>2<\/var><\/strong>: <abbr title=\"Variable Bitrate\">VBR<\/abbr> mode<\/li>\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>Average or target bitrate<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.bit_rate<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter an integer in <abbr title=\"bits per second\">bps<\/abbr>. For example, <var>2500000<\/var> means 2.5 <abbr title=\"megabits per second\">Mbps<\/abbr>.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>Maximum bitrate<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.max_bit_rate<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter the maximum bitrate allowed in VBR mode as an integer in bps. For example, <var>4000000<\/var> means 4 Mbps.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong><abbr title=\"Instantaneous Decoder Refresh\">IDR<\/abbr> frame interval<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.idr_interval<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter the interval for inserting IDR (Instantaneous Decoder Refresh) frames as an integer number of frames.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>H.264 Level setting<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.level_id<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter the integer that corresponds to the H.264 Level to apply to the output stream.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>Number of reference frames<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.num_reference_frames<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter the number of reference frames that the encoder will use as an integer.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>Frame reordering delay<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.reordering_delay<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter the frame reordering delay for B-frames as an integer. The default value described in the official Wowza documentation is <var>1<\/var>. At this value, no B-frames are inserted.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>Enable or disable Access Unit Delimiters<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.write_au_delimiters<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter an integer that determines whether to output Access Unit Delimiters.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>Select the entropy coding mode<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.entropy_coding_mode<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li><strong><var>0<\/var><\/strong>: <abbr title=\"Context-Adaptive Variable-Length Coding\">CAVLC<\/abbr> mode<\/li>\n\t\t\t\t\t\t<li><strong><var>1<\/var><\/strong>: <abbr title=\"Context-Adaptive Binary Arithmetic Coding\">CABAC<\/abbr> mode<\/li>\n\t\t\t\t\t<\/ul>\n\t\t\t\t<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong><abbr title=\"Video Buffering Verifier\">VBV<\/abbr> buffer size<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.bit_rate_buffer_size<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter the VBV (Video Buffering Verifier) buffer size as an integer in bytes. <var>1000000<\/var> means 1 MB.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>I-frame Quantization value<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.quant_pI<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter an integer from <var>0<\/var> to <var>51<\/var>. A lower value gives higher quality, while a higher value gives stronger compression. The test value provided by customer support was <var>23<\/var>.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>P-frame Quantization value<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.quant_pP<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter an integer from <var>0<\/var> to <var>51<\/var>. A lower value gives higher quality, while a higher value gives stronger compression. The test value provided by customer support was <var>25<\/var>.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t\t<li>\n\t\t\t<strong>B-frame Quantization value<\/strong>\n\t\t\t<dl>\n\t\t\t\t<dt>Name<\/dt>\n\t\t\t\t<dd><code>mainconcept.quant_pB<\/code><\/dd>\n\t\t\t\t<dt>Value<\/dt>\n\t\t\t\t<dd>Enter an integer from <var>0<\/var> to <var>51<\/var>. A lower value gives higher quality, while a higher value gives stronger compression. The test value provided by customer support was <var>27<\/var>.<\/dd>\n\t\t\t\t<dt>Type<\/dt>\n\t\t\t\t<dd>Long<\/dd>\n\t\t\t<\/dl>\n\t\t<\/li>\n\t<\/ul>\n<\/section>\n\n<section>\n<h2 id=\"Cautions\">Summary and cautions<\/h2>\n<p>In fact, this article covers something that <strong>ordinary operators should not <del>have to<\/del> need<\/strong>. I have already stated several times in other articles that encoding and transcoding work should be handled outside Wowza.<\/p>\n\n<p>Some sharp-eyed readers may have noticed that the word <code>mainconcept<\/code> keeps appearing. Wowza Transcoder is based on the <a href=\"https:\/\/www.mainconcept.com\/sdks\" title=\"MainConcept\" target=\"_blank\" rel=\"noopener\">MainConcept<\/a> <abbr title=\"Software Development Kit\">SDK<\/abbr>. The parameters that correspond to the options listed above can be found in the <code>AVCEncoderParams<\/code> structure of the MainConcept SDK. There are likely to be more options, but no method for configuring them has been published.<\/p>\n\n<p>The information in this article was <strong>officially provided by Wowza technical support<\/strong>, and I also <strong>applied the options to an actual system and checked whether they worked<\/strong>. However, some of the information has not been published as regular Wowza documentation. Even when an option has been provided, it may <a href=\"https:\/\/www.eqmaker.kr\/en\/wse-transcoder-cbr-bug-eng-2346\/\" title=\"Wowza Transcoder CBR bug\" hreflang=\"en\">not work correctly<\/a>.<\/p>\n\n<p>Still, I am sharing this information in the hope that it will offer some help to anyone who has no choice but to squeeze every last bit out of Wowza. I sincerely hope that <strong>none of you will need this article when building a service<\/strong>.<\/p>\n<blockquote>Encoding is the encoder&#8217;s job.<footer>\u2014 <cite>EQMaker<\/cite><\/footer><\/blockquote>\n<\/section>\n\n<section class=\"post-update\">\n<h2 id=\"Updates\">Update history<\/h2>\n<ul>\n<li><time datetime=\"2025-08-29\">August 29, 2025<\/time> \u2014 <span>First published<\/span><\/li>\n<li><time datetime=\"2026-08-16\">August 16, 2026<\/time> \u2014 <span>Revision and URL migration<\/span><\/li>\n<\/ul>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>This article lists 13 hidden Wowza Streaming Engine Transcoder options and explains how to change them in an XML template.<\/p>\n","protected":false},"author":1,"featured_media":62,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[9],"class_list":["post-61","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-media-ops","tag-wse"],"_links":{"self":[{"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/posts\/61","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/comments?post=61"}],"version-history":[{"count":3,"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/posts\/61\/revisions"}],"predecessor-version":[{"id":67,"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/posts\/61\/revisions\/67"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/media\/62"}],"wp:attachment":[{"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/media?parent=61"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/categories?post=61"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.eqmaker.kr\/en\/wp-json\/wp\/v2\/tags?post=61"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}