webrtc demo编译运行

目录

1.编译环境:

2.源码编译:

3. 真机调试

(1)生成证书:

(2)配置项目里面的info.plist文件

4.视频通话demo:


1.编译环境:

  编译平台:IOS。

 工具:Mac笔记本一台,ipad/iphone(跑模拟器不需要),*=*上网工具(很重要!从代码下载到demo运行都需要),

  系统信息:Mac10.14  xcode 12.3

2.源码编译:

详细可参考:https://webrtc.github.io/webrtc-org/native-code/ios/

在编译代码之前,需要先下载谷<--->歌的工具depot_tools https://chromium.googlesource.com/chromium/tools/depot_tools.git

git clone https://chromium.googlesource.com/chromium/tools/depot_tools

下载完depot_tools,需要配置环境变量,配置成永久,或者在当前终端都行:

 export PATH="/Users/xxx/GitDownload/depot_tools:$PATH"

然后就是拉代码了,最好建一个工作目录,再拉代码:

fetch --nohooks webrtc_ios
gclient sync

这个过程需要一段时间,代码拉完后,就是利用gn(之前的下载的depot_tools里面有这个工具,所以如果找不到这个命令,看一下环境变量有没有问题)命令 生成一个xcodeproject,

如果你没有真机,只跑模拟器运行如下命令:

cd src
gn gen out/ios_sim --args='target_os="ios" target_cpu="x64"  is_debug=true ios_enable_code_signing=false enable_dsyms=true' --ide=xcode

如果要跑真机,运行如下命令:

cd src
gn gen out/ios64 --args='target_os="ios" target_cpu="arm64"  is_debug=true ios_enable_code_signing=false enable_dsyms=true' --ide=xcode

如果运行出现如下错误:

在webrtc.gni文件加入如下代码:

将 rtc_include_tests = !build_with_chromium && !build_with_mozilla
改成:
 rtc_include_tests = false

也就是将这个参数强行写成false

这一步成功后,会在out/ios_sim  or out/ios64生成xcodeproject, 打开工程:

如果是模拟器:
open -a Xcode.app out/ios_sim/all.xcodeproj
如果是真机:
open -a Xcode.app out/ios64/all.xcodeproj

打开工程选择AppRtcMobile

到这一步,其实就可以用模拟器跑起来了,直接进入第四步,加入房间测试。

但是真机步骤可能会比较麻烦。首先你得有appleid,然后生成证书,才能跑真机。

3. 真机调试

(1)生成证书:

     点击工程,界面如下:

勾选Automatically manage signing:

点击Team,选择Add an Account:

然后按提示输入你的AppleID,密码,生成证书

然后选择一个证书,并且要将Bundle Identifier 改掉,改成一个独一无二的名字,比如我这边就是把原本的org.chrpmium.AppRTCMobile改成了org.chrpmium.AppRTCMobile.test(后缀随便加几个字母即可),这个Bundle Identifier,待会还有用。

(2)配置项目里面的info.plist文件

   配好上面的证书,找到 examples/objc/AppRTCMobile/ios/Info.plist文件,将里面的<key>CFBundleIdentifier</key>下面的名字改成跟上面的Bundle Identifier一样,我这边就是org.chrpmium.AppRTCMobile.test。

然后就可以运行真机了:

这里可能会出现如下错误:

原因是iPad没有信任你的证书,只需要到设置->通用->设备管理,点一下你的证书,信任一下就完了。

如果遇见如下错误 No code signature found:

参考 https://pspdfkit.com/guides/ios/10.2/knowledge-base/library-not-found-swiftpm/,按照里面一步一步的做就行了

4.视频通话demo:

(1)真机*=*上网:

    如果是真机调试,需要让真机可以*=*上网,因为我们的demo在进房间的时候,访问的是谷<>歌的服务器,这一步比较麻烦,各位可以上网查方法。我这边是利用电脑可以*=*上网,然后电脑跟iPad在同一局域网,使得iPad进电脑的DAI-------Li端口,然后就能*=*上网。步骤如下:

    我这边电脑*=*上网工具是C=l=a=s=h:

     每个人界面可能不一样,但是功能里肯定可以找到,勾选设置为系统DAI=======LI,允许局域网链接:

设置为系统DAI====LI,允许局域网连接勾上。​​​​​​​​​​​​​​

   然后查看电脑的IP地址,以及DAI----LI的端口,端口一般在*=*上网工具上就可以查到,本机IP地址可以ifconfig命令查看,选择en0那个网卡。

假设我这边就是192.166.1.101:7980.

  然后进入打开iPad的无线网,点击你的链接的网络旁边的那个感叹号:

点击最下面的pei置DAI====LI:

点击进去,将上一步得到的IP以及端口号配上,保存即可,可以进入www.<>google.<>com测试是否配置成功,如果能进去证明配置成功。

(2)进房间视频通话:

      项目跑起来以后,其实并不能通话,因为通话需要两个端,这里谷歌已经搭好了服务器,我们只需要进入谷<>歌的网站: https://appr.tc/

进去我们输入一个房间号,比如746487474,然后JOIN,进入房间:

       

然后打开我们的demo,输入房间号746487474,点击Call room,就可以看到彼此视频了。(这一步可能会链接失败,多换几个房间号试试)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebRTC Demo是一种在线应用程序,它基于WebRTC技术,能够通过网络实时传输音频、视频和数据。WebRTC是一种开放性的标准,旨在使浏览器成为实时通信的平台,而不需要安装额外的插件或软件。 通过WebRTC Demo,用户可以利用网络直接进行语音和视频通话,而无需使用传统的电话线路。此外,它还提供了实时数据传输的功能,使用户能够共享文件、屏幕或其他类型的数据。 WebRTC Demo的工作原理是基于P2P(点对点)连接。它使用STUN(Session Traversal Utilities for NAT)和TURN(Traversal Using Relays around NAT)协议来处理网络的穿透和转发。这样,用户可以建立直接的连接,实现快速稳定的通信。 WebRTC Demo可以应用于多种场景,如在线会议、远程教育、客户服务等。它为用户提供了方便快捷的实时通信方式,无论是个人用户还是企业用户,都可以从中受益。 WebRTC Demo还具有跨平台的特性,可以在不同的设备上运行,包括桌面、移动端和嵌入式设备。用户可以在智能手机、平板电脑或计算机上使用WebRTC Demo,随时随地与其他人进行通信。 总之,WebRTC Demo是一种能够实现在线实时通信的应用程序,它利用WebRTC技术提供了音频、视频和数据传输的能力,为用户提供了方便快捷的通信方式。无论是个人用户还是企业用户,都可以通过WebRTC Demo实现在线的语音、视频通话和数据共享。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值