<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 , 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 <kelchy@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Benjamin Schwartz <benjamin.m.schwartz@gmail.com> <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" <<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>> 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. For example, many WebRTC implementations do not adjust the opus bitrate, because it is small in comparison to the video bitrate. 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 Kelvin Chua <<a rel="nofollow" ymailto="mailto:kelchy@gmail.com" target="_blank" href="mailto:kelchy@gmail.com">kelchy@gmail.com</a>> 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>