IM音视频通信开发(2)--点对点单聊实现

本文详细介绍了如何使用PJSIP库实现点对点的音视频单聊,包括Ubuntu环境配置、PJSIP的编译与安装、移动端与PC端的通话流程。此外,还讲解了NAT穿越的实现,通过restund服务器进行STUN/TURN服务,使不同局域网内的设备能够进行通信。
摘要由CSDN通过智能技术生成

上一篇大体说明了服务器的搭建,这一篇就开始单对单的语音聊天说明。

就像上一篇中介绍的一样,客户端利用的是开源的pjsip客户端进行语音通信,pjsip中本身也提供了大量的demo让我们进行功能调试和使用,所以我们可以直接利用它本身的demo来修改进而达到我们客户端语音通信的目的。

另:在尝试过程中发现,pjsip客户端不注册服务器直接进行端对端拨打,在同一局域网下依旧是可以的,这边由于需要后期穿越,而nat穿越需要服务器,而且第一篇也已经说了server的布置,所以这篇还是以需要注册为基础。

一、环境:

ubutun 14  AS3.0  android-ndk-r14

二、软件:

pjsip,opensips,restund

首先,我用的修改的demo是pjsip中自带一个安卓的demo,具体路径在/home/pjsip/pjproject-2.7.2/pjsip-apps/src/pjsua/android

这个demo用的是swing进行jni的编译,我这边使用的是NDK,所以后面也做了比较大的改动,背景就到这里,接下来开始说开发流程。

三、pc端的端对端聊天

1、在pjsip官网上面下载对应的pjsip版本

install libasound2-dev

# tar -jxvf pjproject-2.7.2.tar.bz2

# cd pjproject-2.7.2

# ./configure

# make dep

# make

2、在你的安装目录下的pjsip-apps/bin下会生成对应的可执行文件

 pjsua-x86_64-unknown-linux-gnu是对应的pc端运行demo,接受参数输入,来驱动对应的功能,具体的参数在你运行此可执行文件之后会出现提醒信息。

四、移动端端对端通话

1、参考/home/pjsip/pjproject-2.7.2/pjsip-apps/src/pjsua/android目录下得安卓工程,新建自己的安卓项目,并暴露native方法,自己根据jni的规则(此处对于jni的构建目录和规则不做详述)对对应的native方法生成.h文件

2、编译安卓使用的.a库,并安装,说明:

<1>NDK:

       理论上越新越好,但需要看对应版本的交叉编译器,因为本次使用pjsip2.7.2,官方对应交叉编译器为arm-android-linux-4.9

       使用android-ndk-r14b-linux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值