Hi Emrah, at the moment (master and v1.6) opus can only be configured at 48000 or 8000 Hz for the sample rate, with various (preferred) ptimes. In terms of dialplan, you can set the preferred flavour on a per call basis by working with 'inbound_codec_prefs', inside the limits described above. For what concerns having more flexibility in the negotiation with the client, you can use maxplaybackrate, sprop-maxcapture rate and maxaveragebitrate to tell FS what conditions the client expects (SDP negotiation). These values are taken into account by FS when instantiating the encoder if the parameters 'asymmetric-sample-rates' and 'negotiate-bitrate' are set to 1 in opus.conf.xml. In particular maxaveragebitrate from the client will be used to set the initial encoder bitrate, should it be smaller than the maxaveragebitrate value set in opus.conf.xml (there are a few other conditions if you use the 8 KHz flavour). use-vbr set to 1 in opus.conf.xml will allow the encoder to save bandwidth in case of silence, so that if bandwidth is limited you can still get the higher bitrates when voice is detected, without impacting much the average bitrate. I hope this helps. Giacomo On 21 October 2016 at 14:22, Emrah <lists@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@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@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@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@athonet.com> wrote:
Hi
Why would you say opus@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@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@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@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@kavun.ch <mailto:lists@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@jerris.com <mailto:mike@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@gmail.com <mailto:jchavanton@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@kavun.ch <javascript:_e(%7B%7D,'cvml','lists@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@freeswitch.org <javascript:_e(%7B%7D,'cvml','consulting@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@lists.freeswitch.org <javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@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@freeswitch.org <mailto:consulting@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@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@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@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@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@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@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@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@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@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org