<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1425459539874_14126" dir="ltr"><span>Hi Kelvin,</span></div><div id="yui_3_16_0_1_1425459539874_14126" dir="ltr"><span><br></span></div><div id="yui_3_16_0_1_1425459539874_14126" dir="ltr"><span id="yui_3_16_0_1_1425459539874_14158">You can use something like :</span></div><div id="yui_3_16_0_1_1425459539874_14126" dir="ltr"><span id="yui_3_16_0_1_1425459539874_14572">opus_encoder_ctl(enc,OPUS_SET_BITRATE(bitrate));</span></div><div id="yui_3_16_0_1_1425459539874_14257">opus_encoder_ctl(enc,OPUS_SET_MAX_BANDWIDTH(bandpass));<br></div><div id="yui_3_16_0_1_1425459539874_14256" dir="ltr">bandpass is the audio bandpass&nbsp;, eg: OPUS_BANDWIDTH_WIDEBAND .</div><div id="yui_3_16_0_1_1425459539874_14256" dir="ltr"><br></div><div id="yui_3_16_0_1_1425459539874_14256" dir="ltr">You will need to calculate the codec bitrate from the available network bitrate (by taking into account the size of the IP+UDP+RTP headers which is 40 bytes ) .<br></div><div id="yui_3_16_0_1_1425459539874_14256" dir="ltr">By default the audio bandwidth (bandpass) setting is OPUS_BANDWIDTH_FULLBAND , which will utilize more network bandwidth .</div><div id="yui_3_16_0_1_1425459539874_14256" dir="ltr"><br></div><div id="yui_3_16_0_1_1425459539874_14256"><br></div><div id="yui_3_16_0_1_1425459539874_14256" dir="ltr">Regards,</div><div id="yui_3_16_0_1_1425459539874_14256" dir="ltr">Dragos</div><div id="yui_3_16_0_1_1425459539874_14256"><br></div>  <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1425459539874_14129"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1425459539874_14128"> <div dir="ltr" id="yui_3_16_0_1_1425459539874_14127"> <hr size="1">  <font size="2" face="Arial" id="yui_3_16_0_1_1425459539874_14130"> <b><span style="font-weight:bold;">From:</span></b> Kelvin Chua &lt;kelchy@gmail.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> Benjamin Schwartz &lt;benjamin.m.schwartz@gmail.com&gt; <br><b><span style="font-weight: bold;">Cc:</span></b> opus@xiph.org <br> <b><span style="font-weight: bold;">Sent:</span></b> Wednesday, March 4, 2015 2:27 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [opus] adaptive bandwidth<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_1_1425459539874_14184"><br><div id="yiv5181289646"><div dir="ltr" id="yui_3_16_0_1_1425459539874_14252">I am using libopus for my implementation. I wonder if anybody in the list have any experience on how to make libopus dynamically adjust its bitrate?</div>
<div class="yiv5181289646gmail_quote" id="yui_3_16_0_1_1425459539874_14183">On Mar 3, 2015 10:42 PM, "Benjamin Schwartz" &lt;<a rel="nofollow" ymailto="mailto:benjamin.m.schwartz@gmail.com" target="_blank" href="mailto:benjamin.m.schwartz@gmail.com">benjamin.m.schwartz@gmail.com</a>&gt; wrote:<br><blockquote class="yiv5181289646gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;" id="yui_3_16_0_1_1425459539874_14186"><div dir="ltr" id="yui_3_16_0_1_1425459539874_14185">It sounds like your software isn't adjusting the opus bitrate in response to network conditions.&nbsp; For example, many WebRTC implementations do not adjust the opus bitrate, because it is small in comparison to the video bitrate.&nbsp; However, opus itself does support continuously varying the bitrate over a wide range.</div>
<br><div class="yiv5181289646gmail_quote" id="yui_3_16_0_1_1425459539874_14187">On Tue, Mar 3, 2015, 12:58 AM&nbsp;Kelvin Chua &lt;<a rel="nofollow" ymailto="mailto:kelchy@gmail.com" target="_blank" href="mailto:kelchy@gmail.com">kelchy@gmail.com</a>&gt; wrote:<br><blockquote class="yiv5181289646gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;" id="yui_3_16_0_1_1425459539874_14190"><div dir="ltr" id="yui_3_16_0_1_1425459539874_14189"><div id="yui_3_16_0_1_1425459539874_14251">Hi guys,</div><div id="yui_3_16_0_1_1425459539874_14188"><br></div><div id="yui_3_16_0_1_1425459539874_14250">I have been reading a lot about the "adaptiveness" of opus and i quote:</div><div id="yui_3_16_0_1_1425459539874_14191"><br></div><div id="yui_3_16_0_1_1425459539874_14192">... can still change, e.g. to adapt to changing network conditions. useinbandfec ...<br></div><div id="yui_3_16_0_1_1425459539874_14193"><br></div><div id="yui_3_16_0_1_1425459539874_14194">can somebody please enlighten me on this "adaptiveness"?</div><div id="yui_3_16_0_1_1425459539874_14195">whatever way I do our tests, it sticks to the same sampling rate and the same average bitrate, it would go up, down a bit but that's it.</div><div id="yui_3_16_0_1_1425459539874_14196">When we get some network issues, bandwidth utilization stays the same.</div><div id="yui_3_16_0_1_1425459539874_14197">Am I interpreting it incorrectly?</div><br clear="all"><div id="yui_3_16_0_1_1425459539874_14199"><div id="yui_3_16_0_1_1425459539874_14198">Kelvin Chua</div></div>
</div>
______________________________<u></u>_________________<br>
opus mailing list<br>
<a rel="nofollow" ymailto="mailto:opus@xiph.org" target="_blank" href="mailto:opus@xiph.org">opus@xiph.org</a><br>
<a rel="nofollow" target="_blank" href="http://lists.xiph.org/mailman/listinfo/opus" id="yui_3_16_0_1_1425459539874_14200">http://lists.xiph.org/mailman/<u></u>listinfo/opus</a><br>
</blockquote></div>
</blockquote></div></div><br>_______________________________________________<br>opus mailing list<br><a ymailto="mailto:opus@xiph.org" href="mailto:opus@xiph.org">opus@xiph.org</a><br><a href="http://lists.xiph.org/mailman/listinfo/opus" target="_blank">http://lists.xiph.org/mailman/listinfo/opus</a><br><br><br></div> </div> </div>  </div></body></html>