参考的博客:
一、h323plus 的simple编译、安装
首先上h323puls和ptlib的官网下载对应的源码,放在你常用的位置即可,如果你是放置在 “ ~/”这个目录,下面就可以省去一些路径的修改,关于编译安装的相关基本内容就不赘述,可见我的另外一篇博客:linux上安装软件的必备小技巧
将ptlib 和 h323core 放在一个目录(我的路径是/home/share/h323plus)下,直接了当的初略说一下步骤吧(记得日常给你的linux拍一下快照,会有用的):
1.安装一些要求装的依赖库,这里强调一下libsdl这个库,
$ sudo apt-get install libsdl1.2-dev (记得得是1.2版本的,不然可能用不了)
2.进入ptlib文件:
$ ./configure --enable-SDL (--prefix=改为自己想要安装的路径)
$ make
$ make install
中间需要添加临时变量:export PTLIBDIR=XXX/ptlib 或者 修改makefile文件
进入ptlib/plugin里面重复相识的操作(configure - make ),目的就是生成相对应的音视频插件
3.进入h323core
$ ./configure (--prefix=改为自己想要安装的路径)
$ make && make install
(我的configure都是默认安装路径的,也就是在/usr/local下面)
进入h323core/plugin,操作同ptlib
进入sample/simple,
$ make
可能会说缺少某些共享库,参照我的另外一篇博客,把缺少的找到或者装上即可
二、simple的“sound o/i device” 缺失问题
执行命令
$ ./simpleH323 -n -l
发现一直显示
sound output device “null audio”
sound input device “null audio”
这个问题可以说是相当棘手,网上都找不大答案,就一点点摸索解决
1.找到电脑设置,关于声音这一部分,检验一下是不是声卡、设备驱动的问题,排除了设备上的问题之后
2.检测一些文件是否已经安装了,像ptlib/lib_linux_x86_64/device里面是否sound和videoinput都有,sound这个一定要有
3.找共享库依赖关系,这个是老套路了,不过在使用套路的同时也要有自己的思考才能举一反三
首先找到ldd simpleh323
发现比较靠前的这两个依赖库就是依赖着ptlib和h323路径下,其他都是系统的,所以把这两个搞定肯定就是最关键所在了,
进入第一条依赖库的路径,也就是h323core路径下面的这条,
发现他会是依赖于ptlib的那一条共享库路径,所以关系应该是这样的,
我在遇到sound o/i device就是按照这样的逻辑去走得,ptlib和h323的plugin文件有些不会自动make的,需要自动设置环境变量啥的然后来make一下
先去ptlib里面./configure 、make 创建好新的ptlib/lib_linux_x86_64/libpt.so.2.10.9,
然后取h323core,rm h323core/lib/libh323_linux_x86_64_.*这几个老的共享库,然后重新make,
出现
除此之外还需要有
补充:
今天再深入挖一下simpleH323这个sound o/i device 为null的问题,我在simple已经找到了sound output device 的前提时:我对ptlib的这个这个目录进行研究,我吧这里的先make clean了一下,把.so的依赖库删掉,然后在执行simpleh323就发现那边sound output device 马上显示为null,说明设备的添加跟ptlib/plugin这路径的文文件有关系!
向下面的红色方框的两个文件对应sound output device,进入该目录,make之后就发现simple重新拥有了sound output device!
还有V4L2、shm都是同理的~
三、 能力集添加问题
举个添加h.261能力集的例子:
在h323core的plugin文件的video的H.261-vic找到h261-vic_video_pwplugin.so这个编译好的动态库,执行命令:
$ cp h261-vic_video_pwplugin.so XXX/ptlib/lib_linux_x86_64/device/videoinput/
然后需要添加一条环境变量:
$ export PTLIBPLUGINDIR=XXX/ptlib/lib_linux_x86_64
这种是临时,建议上面这条命令写到/etc/profile里面,然后source /etc/profile生效,这样就是永久性添加的了,再次./simpleh323 -n -l,会发现能力集多了H.261这一行
添加了能力集之后,按照参考的第一篇博客要求更改sample文件,然后重新./configure 和 make h323core这个库,然后make 一下simple这个文件,找另外一台机器实现视频通信,
这是我同学那边的截图,目前只实现了视频通信而已,有空再更~