实时语音视频技术webrtc的编译总结
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能翻墙,推荐使用红杏
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
实时语音视频技术webrtc的编译总结的更多相关文章
- 了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化
本文原文由声网WebRTC技术专家毛玉杰分享. 1.前言 有人说 2017 年是 WebRTC 的转折之年,2018 年将是 WebRTC 的爆发之年,这并非没有根据.就在去年(2017年),WebR ...
- 网络语音视频技术浅议 Visual Studio 2010(转)
我们在开发实践中常常会涉及到网络语音视频技术.诸如即时通讯.视频会议.远程医疗.远程教育.网络监控等等,这些网络多媒体应用系统都离不开网络语音视频技术.本人才疏学浅,对于网络语音视频技术也仅仅是略知皮 ...
- 网络语音视频技术浅议(附多个demo源码下载)
我们在开发实践中常常会涉及到网络语音视频技术.诸如即时通讯.视频会议.远程医疗.远程教育.网络监控等等,这些网络多媒体应用系统都离不开网络语音视频技术.本人才疏学浅,对于网络语音视频技术也仅仅是略知皮 ...
- 下周二推出“音视频技术WebRTC初探”公开课,欢迎捧场!
下周二推出"音视频技术WebRTC初探"公开课,欢迎捧场! 公开课课程链接:http://edu.csdn.net/huiyiCourse/detail/90 课程的解说资料 ...
- 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...
- 腾讯技术分享:微信小程序音视频技术背后的故事
1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...
- 挑战中英实时语音翻译——Skype Translator 中文预览版登陆中国
Translator 中文预览版登陆中国" title="挑战中英实时语音翻译--Skype Translator 中文预览版登陆中国"> 今天,我们正式宣布在中国 ...
- 实时音视频互动系列(下):基于 WebRTC 技术的实战解析
在 WebRTC 项目中,又拍云团队做到了覆盖系统全局,保证项目进程流畅.这牵涉到主要三大块技术点: 网络端.服务端的开发和传输算法 WebRTC 协议中牵扯到服务端的应用协议和信令服务 客户端iOS ...
- iOS - WebRTC 自编译(音视频即时通讯开源库)
什么是WebRTC? WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术.是谷歌2010 ...
随机推荐
- 老李分享:jvm结构简介 1
老李分享:jvm结构简介 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...
- git clone时出现 error:inflate:data stream error(incorrect data check)
git clone时出现 error:inflate:data stream error(incorrect data check) fatal:serrious inflate inconsiste ...
- 修改Gradle 和Maven本地仓库的位置 方法
关于Maven的配置: 用过Maven的兄弟应该知道Maven可以通过配置 conf文件夹下面的settings.xml文件来修改maven下载的包,默认是下在c盘的用户文件夹下的.m2中,日积月累. ...
- dubbo+zipkin调用链监控
分布式环境下,对于线上出现问题往往比单体应用要复杂的多,原因是前端的一个请求可能对应后端多个系统的多个请求,错综复杂. 对于快速问题定位,我们一般希望是这样的: 从下到下关键节点的日志,入参,出差,异 ...
- shell初步了解
shell的类型 查看用户所用的shell程序,在/etc/passwd 文件中的第七个字段(好像就是最后一个,主要是bash shell) 还有一个默认shell是/bin/sh,它作为默认的系统s ...
- SQL Server函数---Union与Union All的区别
SQL Server函数---Union与Union All的区别 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称 ...
- 500. Keyboard Row
Given a List of words, return the words that can be typed using letters of alphabet on only one row' ...
- AngularJS学习笔记2
3.AngularJS 表达式 AngularJS 表达式写在双大括号内:{{ expression }}.AngularJS 表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙. ...
- TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。
#三次握手 客户端向服务器端发送SYN包,客户端进入SYN_SEND状态 服务器端收到客户端发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态 客户端收到服务器端返回的包再发回ACK包,客 ...
- 在同一个系统上装两个不同版本的jdk,配置环境变量不起作用,jdk版本的切换问题
本人这台笔记本前面装了jdk8,现在准备用jdk7,我安装好了jdk7:把系统变量中的JAVA_HOME 改为 D:\java\jdk\jdk7\jdk1.7.0_67,Path 下添加如下变量,记得 ...