记录 【pjsip 中加入G.729 等语音编码】

来源:互联网 发布:windows清理助手下载 编辑:程序博客网 时间:2024/05/29 07:18

参考:http://blog.csdn.net/happysheepherder/article/details/4704418

http://trac.pjsip.org/repos/wiki/Intel_IPP_Codecs


先安装ipp和准备ipp-samples

资源链接

w_ipp_ia32_p_6.0.2.074.exe百度云下载链接: http://pan.baidu.com/s/1nvPFD9J 密码: ixiw

w_ipp-samples_p_6.0.0.127 百度云下载链接: http://pan.baidu.com/s/1mi2HcfA 密码: 5rdq



1.想要在pjsip中加入729,首先要在 conifg_site.h(没有的话自己创建一个) 中加入以下宏

#define PJMEDIA_HAS_INTEL_IPP   1#define PJMEDIA_HAS_INTEL_IPP_CODEC_G7291

本人测试使用的是最新的 pjsip 2.4 源码,pjsip里面其实已经适配了729语音编码,

但是因为g729是有版权的,故而使用者需要另外付费去购买支持729的 Intel 的IPP

组件,由IPP生成的库文件给pjsip使用即可。


2.加入上述宏定以后编译器会各种报错,其实就是打开了ipp开关后需要的头文

件没有,逐一把ipp安装路径中的include,lib的路径添加到pjsip的工程里面去:


C:\Program Files (x86)\Intel\IPP\6.0.2.074\ia32\include

C:\Program Files (x86)\Intel\IPP\6.0.2.074\ia32\stublib

C:\Program Files (x86)\Intel\IPP\6.0.2.074\ia32\lib


3.加完那些没有错误只后,接着会提示没有找到库文件 speech.lib

(ipp低于6.0的版本是usc.lib)。这个库是由ipp-samples编译产生的,

w_ipp-samples_p_6.0.0.127.rar解压文件名命名为ipp-samples

双击这个\ipp-samples\speech-codecs\build32.bat 批处理顺利的话直

接编译产生speech.lib了,不顺利的话就黑框一闪而过,然后就不知

所措了。。。。。-_-|||


简单一些的批处理还可以看,这个就晕了,call来call去,goto来goto去,

一度放弃想找别的方法。无果,只好硬着头皮查批处理语法,

一条条去看了,其实原本你恐惧的事情,只要开始动手搞了也

没那么可怕了,有木有?有木有?有木有? O(∩_∩)O哈哈~

插满了pause + echo 调试,不过的语句就注释,不过的语句

就注释,不过的语句就注释。。。。。。。。




搞到最后就是上面这样,一看尼玛全是failed。。。。

于是去看log记录发现居然有个一个success,于是找到在

\ipp-samples\speech-codecs\_bin\win32_\lib 下找到了speech.lib 欣喜万分呐!!!

放到pjsip工程里去试了下居然ok了。


4. speech.lib 过了后,又缺个usc.h 在

\ipp-samples\speech-codecs\core\usc\include 可以找到。


5.pjsip编译成功,最后用的是libpjproject工程生成的lib文件,

libpjproject-i386-Win32-vc8-Release-Static.lib


6.下个MicroSIP源码测试,使用

libpjproject-i386-Win32-vc8-Release-Static.lib 即可支持g729了


编译完的项目源码下载地址







0 0
原创粉丝点击