在 Mac 上使用 PJSIP 进行回声消除

Echo cancellation with PJSIP on Mac

我正在使用 PJSIP 构建基于 SIP 的 Mac 应用程序,但我无法设置回声消除。

已经尝试在编译时将 PJSUA_DEFAULT_EC_TAIL_LEN 设置为比 200(默认值)更大的值。

我通过pjsua_media_config.ec_tail_len字段设置媒体的EC值,应该和PJSUA_DEFAULT_EC_TAIL_LEN一样(这里是PJSIP ref)。

还尝试将 pjmedia_echo_flag 更改为每个值:PJMEDIA_ECHO_DEFAULTPJMEDIA_ECHO_SPEEXPJMEDIA_ECHO_SPEEX(这里是 PJSIP ref),但似乎没有有什么影响。

有人用PJSIP设置EC成功了吗?我错过了什么吗?

非常感谢!

居然找到了一个不错的回声消除库:bdIMAD!

使用 2.4 PJSIP 版本,您可以轻松插入 bdIMAD,检查此 link :)

我们的经验表明,PJSIP 中媒体引擎的实现很糟糕。我建议使用与 PJSIP 完美集成的第三方媒体引擎 - IntegrIT CrystalVu SDK www.integrit.com。它具有先进的宽带回声消除器和许多其他语音增强功能。