开源实时音视频技术WebRTC在Windows下的简明编译教程
1、前言随着音视频技术的不断普及,Google推出的 WebRTC 越来越受到大家的喜欢。现在很多直播产品都是基于WebRTC 进行二次开发做出来的。 WebRTC是提供了一整套处理实时音视频的开源库。它包括了音视频处理(采集,编解码,前处理,后处理,渲染),数据传输(实时传输,流控)和业务逻辑控制。可以说 WebRTC 的出现大大减少了做音视频开发的难度,所以熟练掌握好这个库对于做音视频相关的同学就显的特别重要了。 要想掌握 WebRTC 要过的头一关就是如何编译它。WebRTC库非常庞大,光源码就有几个G,所以它对开发主机的性能,网络带宽的要求都非常高。另外,在Windows平台下,它对Windows的系统版本,Visual Studio 版本也都有明确的要求,所以只要其中某一项出问题了,都可能导致失败。这就是为什么很多人在编译WebRTC经常失败的原因。 下面我们言归正传,介绍一下在如何在 Windows下成功编译WebRTC. 2、主机及系统配置第一、WebRTC要求是 64位机器 8G 内存,最好超过16G内存: 第二、至少 100G 磁盘空间,NTFS格式: 第三、Visual Studio 2015 Update 3 ,只能用这个版本的 VS 才能编译成功: 第四、操作系统是 Windows7 或更新的 英文版本: 3、安装虚拟机(可选)由于环境的问题经常会导致编译失败,所以为了方便设置环境,我使用了VirtualBox虚拟机(该虚拟机是免费的)。相较于VMware它虽然性能稍差,但完全够我们编译开发WebRTC使用。所以我们也不必在虚拟机这个环节上纠结。 安装虚拟机需要注意以下几点:
4、安装 Visual Stuido 注意事项安装 Visual Studio 2015 Update 3 ,可以使用免费的 Community Edition 版本。 在安装 VS 时选择定制(Custom Install)安装,并选择下面的模块:
注意:必须选择安装 Windows 14393 SDK ,千万不能选 15063 SDK,如果安装了 15063 SDK,编译就会报错。 当然,你可以安装多个 Windows SDK,只要它们中有 14393 SDK 就可以。 安装 Windows 14393 SDK 时,要选择 “Debugging Tools For Windows” 这项,以便在你的开发环境中安装调试工具 windbg 和 cdb,这些工具会在后面测试和调试时使用。 注意:如果 Windows SDK 是通过 Visual Studio 安装的, 则 调试 Tools 需要按下面步骤安装: Control Panel → Programs → Programs and Features → Select the “Windows Software Development Kit” v14393 → Change → Change → Check “Debugging Tools For Windows” → Change。 5、安装 depot_toolsdepot_tools就是一堆下载代码,编译等相关的工具,Google统一打包在 depot_tools中,你需将它下载到本地。 首先:将 depot_tools.zip 文件解压。 其次:将 depot_tools 目录地址添加到你机器的 系统环境变量 PATH 里,而不是用户级的环境变量里。具体操作如下:Control Panel → System and Security → System → Advanced system settings 注意:必须将它放在PATH环境变量的开头。 然后,用同样的方法将 DEPOT_TOOLS_WIN_TOOLCHAIN 设置到你的系统环境变量里,并设置它的值为 0 ,该变量会告诉 depot_tools 使用你本地安装的 Visual Studio 版本。 默认:depot_tools 使用 Google 内部版本。 最后:打开 cmd.exe, 运行 gclient 命令(不用带作何参数)。第一次运行时,gclient 将安装 Windows 下需要的工具, 包括 msysgit 和 python。gclient 执行完后,在命令行提示符下输入 python 将会显示 python.bat ,这就说明 depot_tools 安装好了。 6、获取 WebRTC 代码执行下面的命令就可以获取 WebRTC 的代码了,也只有用这种方式,后面才能编译通过:
注意:由于 WebRTC 的代码量非常大,所以我一般都是在晚上让他去下载,第二天就可以用了。另外,下载代码时需要有VPN才可以。 7、编译及生成工程文件执行下面的命令就可以编译WebRTC了:
编译成功后,执行下面的命令生成VS工程文件:
这时,我们就可以在 src\out\Default\ 目录下找到 all.sln 这个工程文件,到这里我们就大功告成了。 8、本文小结我们上面详细介绍了编译WebRTC的步骤,由于WebRTC本身的原因,大家在操作时一定要仔细阅读每一步,否则都有可能导致编译失败。 另外,有一个关键点上面没有说明:就是获取 WebRTC 时需要 VPN 连接到 Google 才能下载代码,大家可以自己行找找有没有合适的 VPN。 (原文链接:点此进入) 附录:更多实时音视频技术文章[1] 开源实时音视频技术WebRTC的文章: [2] 实时音视频开发的其它精华资料: |
开源实时音视频技术WebRTC在Windows下的简明编译教程相关推荐
- 开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用
1.前言 RTP/RTCP协议是流媒体通信的基石.RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协议则负责可靠传输.流量控制和拥塞控制等服务质量保证.在WebRTC项目中,RTP/RT ...
- 即时通讯开发之网页端实时音视频技术WebRTC
WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌2010年以6820万美元收购Globa ...
- 实时音视频技术(WebRTC/voip/Linphone/P2P)
实时音视频技术(WebRTC/voip/Linphone/P2P) 视频社交与语音社交??? 实时视频(直播)/语音通信.多媒体技术团队在音视频编解码.前后处理.传输等技术: 在语音社交.视 ...
- 【11月7日】实时音视频技术专场来袭!就在本周六!
RTC(Real-time Communications),直译或者广义指实时通信,狭义一般称为实时音视频,在这次全球大爆发的新冠肺炎疫情中,视频会议.视频通话.远程办公.远程上课.远程开会.远程演唱 ...
- 零基础入门:实时音视频技术基础知识全面盘点
1.引言 随着移动网络速度越来越快.质量越来越来,实时音视频技术已经在各种应用场景下全面开花,语音通话.视频通话.视频会议.远程白板.远程监控等等. 实时音视频技术的开发也越来越受到重视,但是由于音视 ...
- 即构CEO林友尧:让实时音视频技术融于无形
9月22日,在2018云栖大会音视频专场中,作为阿里云的合作伙伴,即构科技CEO林友尧受邀参加,发表了"让实时音视频技术融于无形"主题演讲,跟大家分享了在行业深耕多年的思考. 演讲 ...
- 让实时音视频技术融于无形
在2018云栖大会音视频专场中,作为阿里云的合作伙伴,即构科技CEO林友尧受邀参加,发表了"让实时音视频技术融于无形"主题演讲,跟大家分享了在行业深耕多年的思考. 演讲中,林友尧对 ...
- 分享即时通讯开发之实时音视频技术基础知识
随着移动网络速度越来越快.质量越来越来,实时音视频技术已经在各种应用场景下全面开花,语音通话.视频通话.视频会议.远程白板.远程监控等等.实时音视频技术的开发也越来越受到重视,但是由于音视频开发涉及知 ...
- 打造专递课堂,即构成为希沃专递课堂实时音视频技术唯一提供方
日前,在南昌举办的第75届中国教育装备展上,希沃和即构zego打造的互动录播方案亮相.现场将展厅设置为授课教室,广州.赣州.南昌三个分会场为听课教室,以每分钟一场的高频次互动演示,模拟了身处不同地区的 ...
最新文章
- Java项目:学生信息管理系统(java+SSM+JSP+layui+maven+mysql)
- 34.TokenInterceptor防止表单重复提交
- 为何断点不停 Application_Start()方法
- Android7.0 Doze模式分析(一)Doze介绍 amp; DeviceIdleController
- SAP CRM WebClient UI Search against extension field
- [UE4]性能优化指南(美术向)
- 【Keras】30 秒上手 Keras+实例对mnist手写数字进行识别准确率达99%以上
- vps搭建网站服务器,vps如何架设网站服务器
- vscode用作markdown入门2--代码上下标目录字体
- linux怎样禁止他人远程,linux禁止用户远程登录的方法
- deepin linux安装微信,Ubuntu20.04安装Deepin-wine,微信,Tim
- android查看经纬度,安卓获取经纬度位置
- 7-11 家庭房产 (25 point(s))
- 如何将Word转PDF?免费office转换PDF的方法
- outlook怎么配置126邮箱服务器,outlook 如何配置126邮箱
- zencart模板列表下载地址
- C - Fewest Flops
- EXSI6怎么设置虚拟机从光驱启动
- ​跨学科整合,打造大数据最强集团军:清华大学大数据能力提升项目宣讲会来了!...
- android 第三方视频库,android视频播放库
热门文章
- 小程序项目实战(一)
- python银行系统
- ZT 阿里巴巴商业云计算研发中心落户深圳
- 现在做游戏建模的薪资怎么样?
- JAVA毕业设计Vue.js音乐播放器设计与实现计算机源码+lw文档+系统+调试部署+数据库
- 百度携手农行,用人工智能勾画Fintech未来模样
- get 新技能 Math.ceil();函数的用法
- http慢速攻击漏洞修复
- 练习4-2,对atof函数进行扩充,使它可以处理形如123.456e-6的科学表示法,其中,浮点数后面可能会紧跟一个e或E以及一个指数(可能有正负号)
- 自定义webjars