[Freeswitch-users] FS6947 - Tuning Opus bandwidth

Brian West brian at freeswitch.org
Fri Oct 21 18:36:55 MSD 2016


If you want to use 12 or 24 the only codec that supports those rates are
Silk.  While Silk is part of the OPUS codec those do not seem to be exposed
as OPUS will dynamically switch between rates internally to best fit the
situation.

On Fri, Oct 21, 2016 at 7:22 AM, Emrah <lists at kavun.ch> wrote:

> Can someone clarify this please?
> Can we now dynamically engage the Opus stack by setting channel variables?
>
> Thanks!
>
> On Oct 14, 2016, at 10:18 PM, Emrah <lists at kavun.ch> wrote:
>
> In my FS 1.7 I still see this:
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 40ms 2ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 40ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 120ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 100ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 80ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 60ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 20ms 2ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 20ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 10ms 2ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 8000hz 10ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 48000hz 40ms 2ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 48000hz 40ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 48000hz 20ms 2ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 48000hz 20ms 1ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 48000hz 10ms 2ch (VBR)
> 2016-10-14 20:16:44.109370 [NOTICE] switch_loadable_module.c:213 Adding
> Codec opus 116 OPUS (STANDARD) 48000hz 10ms 1ch (VBR)
>
> On Oct 14, 2016, at 10:16 PM, Emrah <lists at kavun.ch> wrote:
>
> Since when? I don't see it in FS 1.6.10.
>
> Emrah
>
> On Oct 14, 2016, at 6:50 PM, Brian West <brian at freeswitch.org> wrote:
>
> We do have 12khz and 24khz I added the specifically when we added SILK, we
> can resample to and from both rates. :)
>
> On Fri, Oct 14, 2016 at 7:27 AM, Dragos Oancea <dragos.oancea at athonet.com>
> wrote:
>
>> Hi
>>
>> Why would you say opus at 8000@20i does not sound very good ? What do you
>> mean exactly ? Your call quality is bad or you mean you don't like the
>> fact that the sampling rate is low ?
>>
>> You can play with the sampling rates by setting maxplaybackrate and
>> sprop_maxcapurerate and enabling asymmetric_samplerates (which is an
>> experimental feature so far) in your opus.conf.xml  .
>>
>> FS does not have 12 khz or 24 khz because they are not much used for
>> Voip. As for opus @ 16 khz perhaps it will be added.
>>
>> But if you use opus @ 48 khz and you just change maxaveragebitrate and
>> maxplaybackrate accordingly you should get only WIDEBAND from the
>> encoder anyway .
>> The decoder should decode at any sample rate.
>> We're working on a document (sort of manual) for the Opus module and
>> hopefully it will be released soon.
>>
>> As for the issue why codec settings cannot be set from FS's dialplan , I
>> think its a missing feature that affects other audio codecs too and I
>> think it would be very useful.
>>
>> We needed opus at 8000hz for transcoding and I tried to explain some things
>> here (see my comment at the bottom of the page ):
>> https://freeswitch.org/confluence/display/FREESWITCH/mod_opus
>>
>>
>> Basically if you do heavy transcoding to PCMA / PCMU which is 8000 hz
>> you'll want to avoid resampling 48 khz <-> 8 khz  - we did tests and by
>> avoiding resampling we were saving 20-30 % CPU .
>>
>> Regards,
>> Dragos
>>
>>
>>
>> On 14/10/2016 14:02, Emrah wrote:
>> > Hi there,
>> > Revisiting this issue. I see that I can set my Opus codec with
>> > Opus at 8000@20i, but 8khz seems to be the only alternative profile I can
>> > use. I see only 2 extreme options when the module is loaded or unloaded
>> > that it's either 48khz, mono or stereo and packet size, or 8khz, mono or
>> > stereo and packet size. Can someone clarify why there is nothing in
>> > between? And what exactly this setting does? Opus at 8000h@20i definitely
>> > doesn't sound very good. I'd rather have a compromise for tough network
>> > conditions.
>> > Since these are parameters I can dynamically set on my dialplan, the
>> > question then becomes why can't I fully manipulate my Opus stack from
>> > the dialplan?
>> >
>> > Thanks!
>> >> On Jun 2, 2015, at 6:23 AM, Emrah <lists at kavun.ch
>> >> <mailto:lists at kavun.ch>> wrote:
>> >>
>> >> Hi there,
>> >> @Mike: yes, but in a commonsensical approach the Opus library on the
>> >> client's side would resample and therefore optimize the codec and the
>> >> bandwidth accordingly up to FS.
>> >> @Julien, I saw the setting for Opus globally, but it defeats the
>> >> purpose. I don't want to limit the bandwidth of Opus for all
>> >> instances. I'd like to optimize Opus on a per call basis.
>> >>
>> >> Thanks for the replies
>> >>> On May 31, 2015, at 2:13 PM, Michael Jerris <mike at jerris.com
>> >>> <mailto:mike at jerris.com>> wrote:
>> >>>
>> >>> Side note, opening at the different rate I believe just makes the
>> >>> opus library do the re sampling instead of FreeSWITCH.
>> >>>
>> >>> On Sunday, May 31, 2015, Julien Chavanton <jchavanton at gmail.com
>> >>> <mailto:jchavanton at gmail.com>> wrote:
>> >>>
>> >>>     Hi Emrah,
>> >>>
>> >>>     The settings exist but they are not available from the dialplan,
>> >>>     right now they can only be set globally .
>> >>>     https://freeswitch.org/confluence/display/FREESWITCH/mod_opus
>> >>>
>> >>>     You can control the bandwidth using maxplaybackrate and
>> >>>     maxplaybackrate this will control the local encoder and also adds
>> >>>     the corresponding FMTP parameters to the SDP to be used by the
>> >>>     remote encoder (if it does implement the following draft, the
>> >>>     draft is evolving but I think it as not changed)
>> >>>
>> >>>     https://tools
>> >>>     <https://tools/>.ietf.org/html/draft-ietf-payload-rtp-opus-11
>> >>>
>> >>>     Maybe something like :
>> >>>
>> >>>     maxaveragebitrate 24000
>> >>>     maxplaybackrate 8000
>> >>>
>> >>>     The discussion was getting slightly more complicated when we
>> >>>     where discussing about unnecessary resampling this was not a
>> >>>     problem but it was just adding extra load on the server.
>> >>>
>> >>>     On Sun, May 31, 2015 at 6:09 AM, Emrah <lists at kavun.ch
>> >>>     <javascript:_e(%7B%7D,'cvml','lists at kavun.ch');>> wrote:
>> >>>
>> >>>         Hi list,
>> >>>
>> >>>         I re-read FS6947 and don't understand how this problematic
>> >>>         was addressed and the issue fixed.
>> >>>         The scope is simple. There should be a setting in the
>> >>>         dialplan that allows downsampling of Opus for applications
>> >>>         that do not require the 48khz / 2 channels framework. I.e.:
>> >>>         terminating to the PSTN with Opus to take advantage of low
>> >>>         bandwidth and great PLC.
>> >>>         There seems to be a lot of confusion around bandwidth in
>> >>>         general there. It doesn't matter if the internal clock of the
>> >>>         device is always sampling at 48khz / 2ch. There are settings
>> >>>         that can facilitate a lower bandwidth consumption for
>> >>>         particular use cases, and it seems the reason it is not being
>> >>>         implemented in FS is just a matter of being confused about
>> >>>         the intent of the 48khz 2ch base.
>> >>>         Please revisit this issue. FS should allow tuning of Opus
>> >>>         audio / network bandwidth in the dialplan. It would optimize
>> >>>         greatly lots of use cases.
>> >>>         If I'm calling the PSTN, I'd rather have my client downsample
>> >>>         and stream at a lower bandwidth, even if my audio capture
>> >>>         would still be at 48khz / 2ch as per the RFC, and save on
>> >>>         bandwidth, than transcode the full 48khz spectrum into PCM on
>> >>>         my FS and minimize processing power on the client's side.
>> >>>
>> >>>         Jira here: https://freeswitch.org/jira/browse/FS-6947
>> >>>
>> >>>         Emrah
>> >>>         ___________________________________________________________
>> ______________
>> >>>         Professional FreeSWITCH Consulting Services:
>> >>>         consulting at freeswitch.org
>> >>>         <javascript:_e(%7B%7D,'cvml','consulting at freeswitch.org');>
>> >>>         http://www.freeswitchsolutions.com
>> >>>         <http://www.freeswitchsolutions.com/>
>> >>>
>> >>>         Official FreeSWITCH Sites
>> >>>         http://www.freeswitch.org <http://www.freeswitch.org/>
>> >>>         http://confluence.freeswitch.org
>> >>>         <http://confluence.freeswitch.org/>
>> >>>         http://www.cluecon.com <http://www.cluecon.com/>
>> >>>
>> >>>         FreeSWITCH-users mailing list
>> >>>         FreeSWITCH-users at lists.freeswitch.org
>> >>>         <javascript:_e(%7B%7D,'cvml','FreeSWITCH-users at lists.freesw
>> itch.org');>
>> >>>         http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> >>>         UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/
>> freeswitch-users
>> >>>         http://www.freeswitch.org <http://www.freeswitch.org/>
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> _____________
>> >>> Professional FreeSWITCH Consulting Services:
>> >>> consulting at freeswitch.org <mailto:consulting at freeswitch.org>
>> >>> http://www.freeswitchsolutions.com
>> >>>
>> >>> Official FreeSWITCH Sites
>> >>> http://www.freeswitch.org
>> >>> http://confluence.freeswitch.org
>> >>> http://www.cluecon.com
>> >>>
>> >>> FreeSWITCH-users mailing list
>> >>> FreeSWITCH-users at lists.freeswitch.org
>> >>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> >>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/
>> freeswitch-users
>> >>> http://www.freeswitch.org
>> >>
>> >
>> >
>> >
>> > ____________________________________________________________
>> _____________
>> > Professional FreeSWITCH Consulting Services:
>> > consulting at freeswitch.org
>> > http://www.freeswitchsolutions.com
>> >
>> > Official FreeSWITCH Sites
>> > http://www.freeswitch.org
>> > http://confluence.freeswitch.org
>> > http://www.cluecon.com
>> >
>> > FreeSWITCH-users mailing list
>> > FreeSWITCH-users at lists.freeswitch.org
>> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/
>> freeswitch-users
>> > http://www.freeswitch.org
>> >
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://confluence.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
>
> --
>
> *Brian West*
> brian at freeswitch.org
>
>
> *Twitter: @FreeSWITCH , @briankwest*
> http://www.freeswitchbook.com (50% Discount using code FreeSwitch50)
> http://www.freeswitchcookbook.com (50% Discount using code FreeSwitch50)
> https://www.gofundme.com/freeswitch_ubuntu
>
> Got Bugs? Report them here <https://freeswitch.org/jira>! | Reddit:
> /r/freeswitch <https://www.reddit.com/r/freeswitch>
>
> *T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378)
> *iNUM:*+883 5100 1420 9001 | *ISN:*410*543 | *Skype:*briankwest
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>



-- 

*Brian West*
brian at freeswitch.org


*Twitter: @FreeSWITCH , @briankwest*
http://www.freeswitchbook.com (50% Discount using code FreeSwitch50)
http://www.freeswitchcookbook.com (50% Discount using code FreeSwitch50)
https://www.gofundme.com/freeswitch_ubuntu

Got Bugs? Report them here <https://freeswitch.org/jira>! | Reddit:
/r/freeswitch <https://www.reddit.com/r/freeswitch>

*T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378)
*iNUM:*+883 5100 1420 9001 | *ISN:*410*543 | *Skype:*briankwest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20161021/d95a2915/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list