[opus] OPUS_SET_MAX_BANDWIDTH does not have expected results
jmvalin at jmvalin.ca
Thu Feb 27 03:13:40 PST 2014
And what do you set OPUS_SET_BITRATE to?
On 27/02/14 12:03 AM, Philip Gruebele wrote:
> Hi All.
> I am seeing the following unexpected behavior with
> OPUS_SET_MAX_BANDWIDTH. I expect that setting this to
> OPUS_BANDWIDTH_NARROWBAND would give similar results to passing an 8Khz
> sample rate stream, but OPUS_SET_MAX_BANDWIDTH has almost no effect with
> any settings.
> My test data has 4Khz bandwidth. I am testing the opus encoder (latest
> versions) with the following opus_encoder_ctl options: OPUS_SET_VBR=1,
> OPUS_SET_VBR_CONSTRAINT=unconstrained, OPUS_SET_COMPLEXITY=10,
> OPUS_APPLICATION_AUDIO, frame=60ms
> I compress 2 separate audio streams which only differ in the sample
> rate. One is 8Khz and the other is 16Khz. Both contain identical 4Khz
> bandwidth audio (the 16Khz file is a properly up-sampled copy of the
> 8Khz file). When compressing these, the 16Khz input generates about
> double the opus file size even though the audio content is identical. I
> found this to be unexpected since I expected VBR mode to care only about
> the incoming audio bandwidth and not the incoming sample rate.
> So I tried to use OPUS_SET_MAX_BANDWIDTH=OPUS_BANDWIDTH_NARROWBAND in
> order to explicitly tell opus that even though the stream is 16Khz, the
> stream bandwidth is only 4Khz. However, this does not change the opus
> file size for the 16Khz stream. In fact, the OPUS_SET_MAX_BANDWIDTH
> setting really has little effect regardless of which bandwidth I select
> with it. Is this a bug? Am I misunderstanding something here?
> Basically I will have a 16Khz stream in which the bandwidth will toggle
> between 4 and 8 Khz. I would like opus to optimally compress this, but
> based on these tests it appears that the vbr compression rate is
> linearly related to the input sample rate even though I expected it to
> be a function of the actual input audio bandwidth. Because of this
> shortcoming I am considering using ogg with opus links, and creating a
> new link every time the bandwidth changes and setting the sample rate to
> be 2x the bandwidth. This would generate better compressed output but
> is a much more complex solution so any advice would be greatly appreciated.
> opus mailing list
> opus at xiph.org
More information about the opus