当前位置: 首页 > 工具软件 > JVOIPLIB > 使用案例 >

JVoipLib的编译

柴寂离
2023-12-01

前几天写过一篇比较IT界技术学习与武侠世界武功修炼的文章,不过浏览器不争气,或者csdn的自动保存做的不够好,当我提交时,居然给我返回一个空白面板,然后再也找不回来了。当时那个气啊,差点没把电脑给砸了。所以我现在要尽量写简短的。
国庆几天假期,除了中间两天参加同学婚礼外加同学一起网吧打CS(几乎四年没打了啊),其他时间几乎都在JVoipLib,由于本人不熟练linux下的编程,所以仅仅为了让JVoipTestUtil运行起来,就花了不少时间。中间还重装了笔记本电脑的操作系统,然后发现一运行JVoipTestUtil,机子就直接蓝屏崩掉,等我全部安装了标配的驱动程序,它才开始可以运行,但是没有声音。上班后拿到公司build测试,声音出来,一切OK,增加speex(test程序中原本未加speex codec),调整部分参数,发现出来的效果跟公司产品有的一拼(至少网络好的情况下),而且VAD功能感觉做的很好,大概1.2版本在这方面有所改进了。
好了,折腾了这么多天,记录下过程吧。JVoipLib的介绍就不说了,开源软件中使用JVoipLib的可能不多,但使用它的同胞JRtpLib的肯定很多,其实我也是为了JRtpLib才捣鼓JVoipLib的。捣鼓的战果就是编译成功运行了,现在就介绍下JVoipLib在windows下的编译情况:
首先准备好MSYS-Mingw环境,完整的指导参考http://ffmpeg.arrozcru.org/wiki/index.php?title=MSys_MinGW ,记住,完全按照指南的步骤来,否则编译时出错也弄不灵清怎么回事。
其次是准备JVoipLib代码及需要使用的第三方库:
1、JThread.lib、JRtpLib、JVoipLib,都可以在http://research.edm.uhasselt.be/~jori/page/index.php?n=Main.HomePage下载到。
2、speexlib,http://www.speex.org/
3、libsndfile,http://www.mega-nerd.com/libsndfile/ 其实编译最麻烦的就是这个库了,只有它是没有VC6工程文件的。
接下来先编译最麻烦的libsndfile,你也可以下载编译好的dll,但只有dll,没有lib,所以你还是需要在msys-mingw下编译。
基本上在mingw环境配置好的基础上,你只要用msys进入Libsndfile代码所在目录,然后执行:
./configure
make
make check
这里,make会有error,是在test里的,直接把错误代码注释掉好了,反正也用不到。
然后是编译Jthread Jrtp speexlib,这三个编译都很简单,因为直接有VC6的dsw可用。
最后,可以打开jvoiplib-1.4.1\testutil\MFC\JVOIPTestUtil.dsw,更改相关库的路径,然后build。
运行后,不用更改任何参数,点击UI上的“Create session”,正常的话,你应该可以耳机听到通过麦克风传入的声音,除speex外,其他压缩的声音效果都有些合成的味道,有点假。
JVoiplib有个更高级的版本Emiplib,加入了video功能,但需要在VC2005下编译,比较烦,等我研究完这个并且成功移植Rtplib后,接下来要去研究下它,看看video的实现上有什么先进的地方。

 类似资料: