H323plus的编译、安装、配置和使用

参考的博客:

linux下h323plus简单使用

编译H323plus

一、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这个文件,找另外一台机器实现视频通信,

这是我同学那边的截图,目前只实现了视频通信而已,有空再更~ 

猜你喜欢

转载自blog.csdn.net/weixin_41501825/article/details/81201403
323