Hello all, i've been testing FEC and how low we can go with maxavgbiterate <param name="use-vbr" value="1"/> <param name="use-dtx" value="1"/> <param name="complexity" value="10"/> <param name="packet-loss-percent" value="15"/> <param name="asymmetric-sample-rates" value="1"/> <param name="bitrate-negotiation" value="1"/> <param name="keep-fec-enabled" value="1"/> <param name="use-jb-lookahead" value="true"/> <param name="maxaveragebitrate" value="14400"/> <param name="maxplaybackrate" value="8000"/> <param name="sprop-maxcapturerate" value="0"/> <param name="adjust-bitrate" value="1"/> we only see FEC if we set maxavgbiterate to 18000, we see no FEC with 14400 anyone knows what i'm missing? Regards, David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337
David, Most likely your mod_opus is configured to respect the remote's fmtp and not the maxaveragebitrate and maxplaybackrate that you configure. You have bitrate-negotiation set to true. It looks it's going in WB mode if you are sure it starts sending FEC at over 16 kbit/s . Value 14400 was chosen as config default only because is one step above 14000 which is one of the LBRR thresholds (Opus's bitrate works in steps of 400 bits/s) and it also provides a good compromis loss/audio quality for NB. https://github.com/xiph/opus/blob/master/silk/define.h#L52 /* LBRR thresholds */ #define LBRR_NB_MIN_RATE_BPS 12000 #define LBRR_MB_MIN_RATE_BPS 14000 #define LBRR_WB_MIN_RATE_BPS 16000 FEC threshold in FS is this: #define SWITCH_OPUS_MIN_FEC_BITRATE 12400 - one step above codec's LBRR threshold for NB. LBRR means Low Bit Rate Redundancy which means FEC. Regards, Dragos On Sat, Dec 18, 2021 at 3:06 AM David Villasmil < david.villasmil.work@gmail.com> wrote:
Hello all,
i've been testing FEC and how low we can go with maxavgbiterate
<param name="use-vbr" value="1"/> <param name="use-dtx" value="1"/> <param name="complexity" value="10"/> <param name="packet-loss-percent" value="15"/> <param name="asymmetric-sample-rates" value="1"/> <param name="bitrate-negotiation" value="1"/> <param name="keep-fec-enabled" value="1"/> <param name="use-jb-lookahead" value="true"/> <param name="maxaveragebitrate" value="14400"/> <param name="maxplaybackrate" value="8000"/> <param name="sprop-maxcapturerate" value="0"/> <param name="adjust-bitrate" value="1"/>
we only see FEC if we set maxavgbiterate to 18000, we see no FEC with 14400
anyone knows what i'm missing?
Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://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 https://freeswitch.com
Hey Dragos, Thanks for that, yeah i think the issue is on the client side somehow, i had already tried not negotiating... Regards, David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 On Sat, Dec 18, 2021 at 4:41 AM Dragos Oancea <dragos@freeswitch.org> wrote:
David,
Most likely your mod_opus is configured to respect the remote's fmtp and not the maxaveragebitrate and maxplaybackrate that you configure. You have bitrate-negotiation set to true. It looks it's going in WB mode if you are sure it starts sending FEC at over 16 kbit/s . Value 14400 was chosen as config default only because is one step above 14000 which is one of the LBRR thresholds (Opus's bitrate works in steps of 400 bits/s) and it also provides a good compromis loss/audio quality for NB. https://github.com/xiph/opus/blob/master/silk/define.h#L52
/* LBRR thresholds */ #define LBRR_NB_MIN_RATE_BPS 12000 #define LBRR_MB_MIN_RATE_BPS 14000 #define LBRR_WB_MIN_RATE_BPS 16000
FEC threshold in FS is this: #define SWITCH_OPUS_MIN_FEC_BITRATE 12400 - one step above codec's LBRR threshold for NB. LBRR means Low Bit Rate Redundancy which means FEC.
Regards, Dragos
On Sat, Dec 18, 2021 at 3:06 AM David Villasmil < david.villasmil.work@gmail.com> wrote:
Hello all,
i've been testing FEC and how low we can go with maxavgbiterate
<param name="use-vbr" value="1"/> <param name="use-dtx" value="1"/> <param name="complexity" value="10"/> <param name="packet-loss-percent" value="15"/> <param name="asymmetric-sample-rates" value="1"/> <param name="bitrate-negotiation" value="1"/> <param name="keep-fec-enabled" value="1"/> <param name="use-jb-lookahead" value="true"/> <param name="maxaveragebitrate" value="14400"/> <param name="maxplaybackrate" value="8000"/> <param name="sprop-maxcapturerate" value="0"/> <param name="adjust-bitrate" value="1"/>
we only see FEC if we set maxavgbiterate to 18000, we see no FEC with 14400
anyone knows what i'm missing?
Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://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 https://freeswitch.com
_________________________________________________________________________
The FreeSWITCH project is sponsored by SignalWire https://signalwire.com Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services. Build your next product on our scalable cloud platform.
Join our online community to chat in real time https://signalwire.community
Professional FreeSWITCH Services sales@freeswitch.com https://freeswitch.com
Official FreeSWITCH Sites https://freeswitch.com/oss https://freeswitch.org/confluence https://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 https://freeswitch.com
participants (2)
-
David Villasmil
-
Dragos Oancea