【WebRTC】M1 iOS编译WebRTC.framework

WebRTC介绍

WebRTC 是一种开源项目,旨在为 Web 浏览器和移动应用程序提供实时通信(Real-Time Communication)的能力,包括音频、视频和数据传输。它是由 Google 在2011年开源发布的,现在是一个由 W3C 和 IETF(Internet Engineering Task Force)标准化的技术。

WebRTC 提供了一组 API 和协议,使开发者能够在 Web 应用程序中实现点对点(Peer-to-Peer)的实时通信功能,而无需使用第三方插件或浏览器扩展。主要的功能包括:

  • 音视频通信:WebRTC 允许在浏览器之间进行音频和视频通话,支持实时的音频和视频流传输。

  • 数据通信:除了音视频流,WebRTC 还支持实时的数据传输,可以用于传输文件、聊天消息等。

  • NAT 穿透:WebRTC 使用了一系列技术来克服网络地址转换(NAT)和防火墙的限制,以便在不同设备之间建立直接的点对点连接。

  • 安全性:WebRTC 提供了端到端的加密机制,确保通信内容的机密性和完整性。

  • 跨平台兼容性:WebRTC 不仅可以在桌面浏览器上运行,还可以在移动设备上进行实时通信,实现了跨平台的兼容性。

WebRTC 的主要组成部分包括:RTCPeerConnection(用于建立点对点连接)、RTCDataChannel(用于实现数据通道)、getUserMedia(用于获取本地音视频流)、RTCStats(用于收集连接的统计信息)等。通过这些 API 和协议,开发者可以构建出各种基于 WebRTC 的实时通信应用,如视频会议、在线游戏、远程教育等。

官网: https://webrtc.org
开源地址: https://webrtc.googlesource.com
官方源码: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/

环境配置

由于访问的都是Google的服务, 所以需要开启VPN

设置临时代理

开启VPN后,在终端设置临时代理,否则可能出现访问慢的情况

# export http_proxy=http://vpn ip:端口
export http_proxy=http://127.0.0.1:7890 
# export https_proxy=http://vpn ip:端口
export https_proxy=http://127.0.0.1:7890
# export all_proxy=http://vpn ip:端口
export all_proxy=http://127.0.0.1:7890

验证设置结果

curl www.google.com

出现html信息, 代表设置有效

取消临时代理

unset http_proxy
unset https_proxy
unset all_proxy

安装 depot_tools

下载源码的时候,要用到 depot_tools 工具包,这是 Chromium 官方推荐的工具包,具备下载、同步、编译、上传代码等功能.
下载WebRTC源码前需要配置好

克隆depot_tools

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

配置坏境变量

echo "export PATH=$PWD/depot_tools:$PATH" > ~/.bash_profile
source $HOME/.bash_profile

echo "export PATH=$PWD/depot_tools:$PATH" > ~/.zshrc
source ~/.zshrc

检测配置是否成功

echo $PATH

fetch --help

安装 ninja

GN 是一个为 Ninja 生成构建文件的元构建系统。Ninja 是一个小型构建系统,特点是构建速度快。

在执行编译前,需要配置好编译的参数和环境,生产出构建文件。

官方资料

GN:https://gn.googlesource.com/gn/+/main/README.md
Ninja:https://ninja-build.org/

安装ninja

git clone git://github.com/martine/ninja.git
cd ninja/
./bootstrap.py

配置环境

sudo cp ninja /usr/local/bin/
sudo chmod a+rx /usr/local/bin/ninja

验证配置结果

ninja --version
gn 
  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值