WebRTC简介和WebRTC windows编译

目录

简介

WebRTC windows编译



简介

WebRTC(Web Real-Time Communication)是一种支持实时音视频通信的开放源代码项目,它允许网页浏览器和移动应用通过简单的API进行实时通信,无需安装插件或依赖特定操作系统。WebRTC的核心理念是让实时通信变得简单、可访问和无处不在。

对比其他框架,具有如下优势:

  1. 跨平台兼容性:WebRTC原生支持多种浏览器和操作系统,包括Chrome、Firefox、Safari等主流浏览器,以及Android和iOS等移动设备。
  2. 低延迟:WebRTC通过优化网络传输和编解码技术,实现了低延迟的音视频通信,提升了用户体验。
  3. 安全性:WebRTC使用DTLS/SRTP协议对数据进行加密和完整性保护,确保通信过程中的数据安全。
  4. 易于集成:WebRTC提供了一套简洁的API,开发者可以轻松地将其集成到网页或移动应用中,实现实时音视频通信功能。

WebRTC的一些应用场景:

  1. 视频聊天和会议:WebRTC广泛应用于视频聊天和会议应用,如Zoom、Skype等。通过WebRTC,用户可以随时随地与他人进行高清视频通话,共享屏幕和文档,提高沟通效率。
  2. 在线教育:WebRTC为在线教育平台提供了实时音视频通信的解决方案。教师可以通过WebRTC进行远程授课,与学生进行实时互动,提高教学效果。
  3. 远程医疗:在远程医疗领域,WebRTC可以帮助医生与患者实现远程视频诊疗和咨询。医生可以通过WebRTC实时查看患者的病情和体征,为患者提供及时的诊断和治疗建议。
  4. 实时游戏:WebRTC的低延迟和跨平台特性使其成为实时游戏开发的理想选择。游戏开发者可以利用WebRTC实现玩家之间的实时音视频通信和互动,提升游戏体验。
  5. 物联网应用:在物联网领域,WebRTC可以用于实现设备之间的实时音视频通信。例如,智能家居系统可以通过WebRTC实现不同设备之间的互联互通,方便用户远程控制和监控家庭设备。

WebRTC以其跨平台兼容性、低延迟、安全性和易于集成等优势,在多个领域得到了广泛应用。随着技术的不断发展,WebRTC有望在更多领域发挥更大的作用,推动实时通信技术的发展和创新。

WebRTC windows编译

最近在做一个WebRTC的项目,趟了不少坑,以此记录一下,希望能够帮得到大家。

工作准备:

1.一台能够上外网的电脑

2.visutal studio 2019或以上

第一个条件就卡住了不少人,有很多是通过代理来实现下载代码的,而我认为这样子过于麻烦,因为需要设置代理会比较麻烦,源代码的下载要很久,如果是在我个人的电脑,可能会影响到我的操作,所以我为了省事,直接买了一台香港的云服务器。

笔者用的是观星云(先说一下废话,我没有收他的任何广告费,当时首先想到的是阿里云,结果阿里云香港没有Windows服务器,然后百度到了这个云服务商)

配置:

CPU:4核心

内存:4GB

带宽:15Mbps

数据盘:80GB(其实应该30GB足够了,当时怕不够,所以买大了点)

操作系统:Windows-2016-Datacenter-cn(必须用这个系统,用2012的,visual studio2019会安装不上)

区域:中国香港CN2

visual studio 2019的安装时,要选择桌面C++开发功能以及MFC and ATL support。另外安装WIN10 SDK必须安装10.0.20348版本

------------------------------------------------以下是开始下载和编译---------------------------------------------------

1.https://storage.googleapis.com/chrome-infra/depot_tools.zip

点击链接下载depot_tools,并解压到D盘

2.在D盘创建webrtc文件夹,然后在D盘创建批处理文件webrtc.cmd,粘贴如下代码

@SETLOCAL

@CD /D "%~dp0\webrtc"

@SET "Path=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\wbem"

@SET "Path=%Path%;%SystemRoot%\System32\WindowsPowerShell\v1.0"

@SET "Path=%~dp0.Aux;%~dp0.Aux\depot_tools;%Path%"

@SET "DEPOT_TOOLS_WIN_TOOLCHAIN=0"

@SET "DEPOT_TOOLS_UPDATE=0"

@SET "GYP_GENERATORS=msvs-ninja,ninja"

@SET  "GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"

@Cmd.Exe /K "CD /D ""%CD%"" & TITLE %~n0"

3.运行webrtc.cmd

输入如下代码

fetch --nohooks webrtc
gclient sync

开始下载代码。笔者因为买的带宽比较低,所以下载了16个小时左右。

把此目录的ninja.exe,拷贝到.Aux文件夹(因为cmd里面设置的环境变量是.Aux的目录,后面编译需要用到ninja.exe)

4.生成项目文件

gn gen out/Debug -ide=vs "--args=is_debug=true rtc_include_tests=false is_clang=false use_lld=false enable_iterator_debugging=true target_cpu=\"x86\""

参数说明:

参数 说明

-ide=vs

生成visual studio sln文件

is_debug=true

是否是debug,如果是release,则设为false

rtc_include_tests=false

是否生成测试用例

is_clang=false

是否用clang编译(建议关闭,因为clang和visual studio不是特别兼容)

use_lld=false

是否使用lld链接(如果使用msvc,则此选项必须设置为false)

enable_iterator_debugging=true

和is_debug的配置一致,如果是release,则设置为false

target_cpu=\"x86\""

如果编译为64位,则设置为x64

5.编译

ninja -C out/Debug

6.如果编译没问题的话,会在out/Debug/obj目录生成webrtc.lib

大家可以先收藏起来,后面会讲到如何利用msvc编译支持h264的版本(坑不少)

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值