热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

实时语音视频技术webrtc的编译总结

webrtc编译教程一、安装depot_tools工具首先你的电脑上安装了git1)下载depot_toolscd到下载的目录下gitclonehttps:chromium.googl

webrtc编译教程

一、安装depot_tools工具

首先你的电脑上安装了git

1)    下载depot_tools

cd到下载的目录下

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

 

使用git下载源码的时候会报这样的错误

unable to access 'https://chromium.googlesource.com/chromium/tools/depot_tools.git/': Failed to connect to chromium.googlesource.com port 443: Operation timed out

可以按照下面这篇博客的方式进行配置就能下载了

https://laod.cn/hosts/2017-google-hosts.html/comment-page-6

2)    把depot_tools的路径添加到export PATH=`pwd`/depot_tools:"$PATH"

3)    检测路径是否添加正确

运行命令echo $PATH,查看工具的路径是否正确,如果不正确的话

下载webrtc的源码会报错fetch: command not found

检测depot_tools是否配置正确的方式还可以直接在终端输入gn然后按tab键

如果配置正确将显示

gn         gn.py      gnuattach  gnuclient  gnudoit    gnumake    gnuserv

如果配置不正确将显示

gnuattach  gnuclient  gnudoit    gnumake    gnuserv

 

 

二、下载webrtc的源码

首先你需要有VPN能FQ,推荐使用红杏

fetch --nohooks webrtc_ios
gclient sync

运行以上的命令,前提是depot_tools配置正确

可能会出现以下的错误

Error: Command 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-luci -d src/tools/luci-go/mac64' returned non-zero exit status 1 in /Users/wuyong/Desktop/build_scripts/webrtc-build-scripts-master/ios/webrtc

这个错误很奇怪有的朋友就没有遇见这个错误

如果不管这个错误直接编译源码的话就会出现下面的错误

gn.py: Could not find gn executable at: /Users/wuyong/Desktop/new/src/buildtools/mac/gn

是说在这个目录下缺少一个gn的文件,我是在别人那里复制了一个这种gn的文件。

三、编译webrtc

运行以下命令后,有两种编译的方式

# debug build for 64-bit iOS
gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'
 
# debug build for simulator
gn gen out/ios_sim --args='target_os="ios" target_cpu="x64"'

第一种利用ninja编译

首先你得安装ninja工具,cd到某个目录下下载ninja并安装

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

 

ninja -C out/ios_64 AppRTCMobile

第二种利用xcode编译

gn gen out/ios --args='target_os="ios" target_cpu="arm64"' --ide=xcode
open -a Xcode.app out/ios/all.xcworkspace
最后在out的目录下生成了all.xcworkspace以及WebRTC.framework

推荐阅读
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • 本文介绍了如何使用线段树实现区间加法和区间查询操作,包括详细的代码实现和解释。 ... [详细]
  • MySQL 5.7 服务端在 Windows 上的安装与配置
    本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ... [详细]
  • 说明Python教程正在编写中,欢迎大家加微信sinbam提供意见、建议、纠错、催更。drymail是一个邮件发送库,封装了Python的smtplib ... [详细]
  • 线段树,注 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 【线段树】  本质是二叉树,每个节点表示一个区间[L,R],设m(R-L+1)2(该处结果向下取整)左孩子区间为[L,m],右孩子区间为[m ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • 本文介绍了如何使用 Gesture Detector 和 overridePendingTransition 方法来实现滑动界面和过渡动画。 ... [详细]
  • MyBatisCodeHelperPro 2.9.3 最新在线免费激活方法
    MyBatisCodeHelperPro 2.9.3 是一款强大的代码生成工具,适用于多种开发环境。本文将介绍如何在线免费激活该工具,帮助开发者提高工作效率。 ... [详细]
  • 在iOS开发中,多线程技术的应用非常广泛,能够高效地执行多个调度任务。本文将重点介绍GCD(Grand Central Dispatch)在多线程开发中的应用,包括其函数和队列的实现细节。 ... [详细]
  • 如何使用strip()方法去除字符串首尾的空白字符
    本文介绍如何使用Python中的strip()方法来去除字符串首尾的空白字符,包括空格、制表符和换行符。 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
author-avatar
我是风一样的我们
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有