【补充】开发环境:Ubuntu16.04 、Hi3531a ; 编译工具链:arm-hisiv300-linux ;
这一篇博客讲的是最后一个开源库 openh323tut 的交叉编译和移植了~
首先明确一下oh323tut的身份,一个比起simph323更加简单的而且只能实现发送音频的h323终端。
如果按照之前arm_ptlb编译出来的环境,这个oh323无法编译成功(报各种找不到函数定义的错误),因为它同simph323一样都依赖ptlib,而大家应该还记得我之前是把ptlib的configure参数设置为 minsize,说明会缺少了一些依赖库,而这个tut需要依赖ptlib的一些库才能够实现编译,现在可以再次改动ptlib的configure参数了~
能够使得oh323tut能够成功编译的configurePtlib.sh版本如下:
kai@ubuntu:/home/share/armFile/arm_ptlib$ cat configurePtlib.sh
# Copyright 2018.8.13 , DreamKite ,408 lab
#! /bin/bash
./configure --host=arm-hisiv300-linux
--disable-sdl
--enable-wavfile
--enable-telnet
--disable-openssl
--disable-resolver
(有可能你的sh脚本内容跟我一样,不过顺序不一样,记得顺序很重要!!前后顺序不一样编出来的效果也是不一样的,亲测!)
oh323tut在arm板子编译通过之后,复制一个.wav文件到tut可执行文件的相同目录下(这里有些.wav文件并不可行,目前还没搞清楚为什么,可能是声音的采集频率有关系吧,我的博客也上传了我亲测可以使用通过的一个测试文件~)
嵌入式arm板这边输入:
# ./oh323tut -f oh323tu_test.wav -n -u arm
虚拟机linux上面输入:
./simph323 -n -u kai arm@192.168.1.118:1820
(注释:oh323tut的端口使用默认使用1820的端口号,这个1820可以改动,不过后来我发现了一个端口号理论上的连接数是:无上限,这我就放心了,这个端口号最好也不用改,按照默认的来的就行,以免跟其他服务器的监听端口重复)
然后记得打开虚拟机和主机的声音开关 ~你就会听到tut那边传输过来的声音了~
可视的现象如下:
arm板:
虚拟机:
你虚拟机这边的simph323要保障有音频输出设备 ,即 sound output device,我这边没还有添加音频输入设备随意说找不到 “Null Audio”,这里应该是一个接口,以后simph323开发的时候可以重写一个null audio来用,至于在虚拟机上面对simph323的编译使用欢迎参考我的另外一篇博客——
H323plus的编译、安装、配置和使用。
--------------------[补充]嵌入式学到这里,如果你对netstat还掌握不熟练的话,请看下面------------------------
【netstat】命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备。
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
该命令的一般格式为:
netstat [选项]
命令中各选项的含义如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
1. netstat -an | grep LISTEN
0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。
2. netstat -tln
用来查看linux的端口使用情况
3. /etc/init.d/vsftp start
是用来启动ftp端口~!
4. netstat
查看已经连接的服务端口(ESTABLISHED)
5. netstat -a
查看所有的服务端口(LISTEN,ESTABLISHED)
6. sudo netstat -ap
查看所有的服务端口并显示对应的服务程序名