Thanks for this extensive response. I am not sure I got everything, but I'll try to answer what I can.
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 ?
Opus at 8khz doesn't give you the same fidelity as PCM at 8khz. You definitely hear the compression. However, Opus at 48khz transcoded into PCMU / PCMA is hardly noticeable. Therefore, I wanted to find a decent compromise, one that would save bandwidth and CPU for calls that don't require a full band audio.
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 .
That sounds very interesting, however I do not want to impose global limitations as many of my Opus calls are full band calls. Would these settings help me work on a per call basis?
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.
I guess this reconnects with my observation above. The idea would be to use something slightly higher than 8khz, yet not as intensive as 48khz, just to get a clearer call for "PSTN like" connections.
But if you use opus @ 48 khz and you just change maxaveragebitrate and
maxplaybackrate accordingly you should get only WIDEBAND from the
encoder anyway .
Not sure I got that right. Could you elaborate more? Can this work on a per call basis?
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.
Yes, absolutely. This would definitely help a lot. Not only on the FS side, but also on how to involve the Opus stack on the client side.
As far as an Opus manual, I also love the idea and can't wait to read it.
Thanks again for this response,
Emrah
HiWhy would you say opus@8000@20i does not sound very good ? What do youmean exactly ? Your call quality is bad or you mean you don't like thefact that the sampling rate is low ?You can play with the sampling rates by setting maxplaybackrate andsprop_maxcapurerate and enabling asymmetric_samplerates (which is anexperimental feature so far) in your opus.conf.xml .FS does not have 12 khz or 24 khz because they are not much used forVoip. As for opus @ 16 khz perhaps it will be added.But if you use opus @ 48 khz and you just change maxaveragebitrate andmaxplaybackrate accordingly you should get only WIDEBAND from theencoder anyway .The decoder should decode at any sample rate.We're working on a document (sort of manual) for the Opus module andhopefully it will be released soon.As for the issue why codec settings cannot be set from FS's dialplan , Ithink its a missing feature that affects other audio codecs too and Ithink it would be very useful.We needed opus@8000hz for transcoding and I tried to explain some thingshere (see my comment at the bottom of the page ):https://freeswitch.org/confluence/display/FREESWITCH/mod_opusBasically if you do heavy transcoding to PCMA / PCMU which is 8000 hzyou'll want to avoid resampling 48 khz <-> 8 khz - we did tests and byavoiding resampling we were saving 20-30 % CPU .Regards,DragosOn 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.freeswitch.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.orghttp://www.freeswitchsolutions.comOfficial FreeSWITCH Siteshttp://www.freeswitch.orghttp://confluence.freeswitch.orghttp://www.cluecon.comFreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-usersUNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.freeswitch.org