[opus] adaptive bandwidth

Dragos Oancea
Wed, 04 Mar 2015 10:16:07 -0000

Hi Kelvin,

The audio bandpass setting is only configurable when the encoder is instantiated
(eg: start of a Voip call ) , but you can change the bitrate anytime.For example
if you can read incoming RTCP packets , you can check if there's reported
packet loss , and then lower the bitrate accordingly.Yes, the app has to be
aware of the packetloss ?percentage.
Cheers,Dragos
      From: Kelvin Chua <kelchy at gmail.com>
 To: Dragos Oancea <droancea at yahoo.com>
Cc: Benjamin Schwartz <benjamin.m.schwartz at gmail.com>; "opus at
xiph.org" <opus at xiph.org>
 Sent: Wednesday, March 4, 2015 11:02 AM
 Subject: Re: [opus] adaptive bandwidth

Thanks Dragos,
I assume I will be setting those parameters during initialization of encoder
right?Question is, if connection gets too lossy, how will opus adapt to it? Can
it automatically shift bitrate down to minimize impact?Mark from IRC suggests
that the app has to be aware of the losses and change it on the fly.Has anybody
on the list tried this?

Kelvin Chua


On Wed, Mar 4, 2015 at 5:53 PM, Dragos Oancea <droancea at yahoo.com>
wrote:

Hi Kelvin,
You can use something like
:opus_encoder_ctl(enc,OPUS_SET_BITRATE(bitrate));opus_encoder_ctl(enc,OPUS_SET_MAX_BANDWIDTH(bandpass));
bandpass is the audio bandpass?, eg: OPUS_BANDWIDTH_WIDEBAND .
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 ) .
By default the audio bandwidth (bandpass) setting is OPUS_BANDWIDTH_FULLBAND ,
which will utilize more network bandwidth .

Regards,Dragos
      From: Kelvin Chua <kelchy at gmail.com>
 To: Benjamin Schwartz <benjamin.m.schwartz at gmail.com>
Cc: opus at xiph.org
 Sent: Wednesday, March 4, 2015 2:27 AM
 Subject: Re: [opus] adaptive bandwidth

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?On Mar 3,
2015 10:42 PM, "Benjamin Schwartz" <benjamin.m.schwartz at
gmail.com> wrote:

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.
On Tue, Mar 3, 2015, 12:58 AM?Kelvin Chua <kelchy at gmail.com> wrote:

Hi guys,
I have been reading a lot about the "adaptiveness" of opus and i
quote:
... can still change, e.g. to adapt to changing network conditions. useinbandfec
...

can somebody please enlighten me on this "adaptiveness"?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.When we get some network issues,
bandwidth utilization stays the same.Am I interpreting it incorrectly?
Kelvin Chua_______________________________________________
opus mailing list
opus at xiph.org
http://lists.xiph.org/mailman/listinfo/opus



_______________________________________________
opus mailing list
opus at xiph.org
http://lists.xiph.org/mailman/listinfo/opus







-------------- next part --------------
An HTML attachment was scrubbed...