You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否可在Windows平台下编译带opus codec的pjsip (pjsua2)为dll文件

Windows环境编译集成opus codec的pjsip DLL方案

完全可以实现,你之前编译的pjsua2.dll未支持opus,是因为编译阶段没有开启opus的编译开关并关联opus依赖库,按以下步骤操作即可生成集成opus的pjsip DLL文件:

1. 前置准备

  • 提前编译好对应架构(x86/x64)、对应VS版本、运行时库参数(/MD/MT需和后续pjsip编译参数完全一致)的opus静态库opus.lib及对应头文件
  • 下载pjsip官方源码,解压到本地工作目录

2. 修改pjsip编译配置

  • 在pjsip源码路径pjlib/include/pj/下新建config_site.h文件,写入以下配置:

#define PJMEDIA_HAS_OPUS_CODEC 1
#define PJMEDIA_OPUS_PLC 1

  • 打开pjsip对应版本的VS解决方案,找到pjsua2项目,右键打开属性页:
    • 「VC++目录」→「包含目录」:添加opus头文件所在的文件夹路径
    • 「VC++目录」→「库目录」:添加opus.lib所在的文件夹路径
    • 「链接器」→「输入」→「附加依赖项」:新增opus.lib
  • 确认pjsua2项目的运行时库配置和opus库的运行时库配置完全一致,避免链接报错

3. 编译生成集成opus的DLL

  • 选择对应的目标架构和编译版本(Release/Debug),右键pjsua2项目选择「生成」
  • 编译完成后输出的pjsua2.dll已经内置opus codec支持

4. 功能验证

你可以在调用pjsua2的业务代码中,调用Endpoint::codecEnum()方法枚举所有支持的音频编解码器,确认opus已经出现在列表中,也可以通过Endpoint::codecSetPriority()方法将opus设置为最高优先级的音频编解码器。

内容的提问来源于stack exchange,提问作者Khaled Janky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:24:08