来自 编程 2019-09-23 01:42 的文章
当前位置: 澳门太阳娱乐手机登录 > 编程 > 正文

WebRtc编写翻译好的vs2016源码

  1. 直白想看webrtc的源码,苦于FQ工夫简单且全体编写翻译进程耗费时间巨大,故求助于网络。在互连网寻觅许久编写翻译好的Webrtc源码,多数本子下载下来总是报各类错误,异常失落。
  2. 三千越甲可吞吴,终于寻得一版可用的WebPAJEROtc源码。具体从哪些网址找的已经记不起来了,可是照旧感激分享者。
  3. 共享给我们: 链接: 密码: u37i
  4. 轻巧说一下:分享文件中八个文本,第二个depot_tools解压缩,然后增多到情状变量。然后解压缩起始编写翻译webrtc代码
  5. 说下自家的编译景况:vs2014
  6. 图片 1
  7. 图片 2
  8. 嗯 时间不早了,下一步要起来商量源码了。伊始安排从PeerConnectionClient和server demo跑起。

前言

webrtc是Google收购并开源的贰个支撑实时音摄像对话的技巧。
官网是:https://webrtc.org 。
OK,介绍就那样多。

预备干活

假诺不计划修改webrtc相关源码,建议并不是去折腾编写翻译那个源码工程。
一向援用已经编写翻译好的宗旨库(Maven也许Gradle):

认准官方路子:(只示例Gradle方式的)

compile 'org.webrtc:google-webrtc:1.0.+'   // + 可以换成对应版本号

相关版本能够在 https://bintray.com/google/webrtc/google-webrtc 这里询问,这些相应会随处创新。
PS:+替换的版本号应当要去地点网站里面查询是不是留存该版本。

有历史的民间路子:

compile 'io.pristine:libjingle:11139@aar'

相关版本能够在 http://mvnrepository.com/artifact/io.pristine/libjingle 实行询问,当初立异挺频仍,近期两两年没更新了,权当个怀念吧。

源码下载

若果想修改源码,恭喜您,你需求和煦编译源码。
webrtc编写翻译提起来,编写翻译既劳碌又简约;困难在源码规模太大,国内同步代码频仍出标题,轻巧在于Google已经将混乱的编写翻译进度整合成老妪能解的编写翻译脚本命令。
重申一点:下边包车型大巴编写翻译操作是基于Linux情形。

一、安装编译重视情状
webrtc的编译情形重视于Google的编写翻译情形,也正是 depot_tools。
很简短,就贰个clone源码到地面

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

这里需求设置意况变量

export PATH=$PATH:/path/depot_tools  #在当前环境变量追加路径

注意:path是你depot_tools文件夹所在的地方,要求替换为科学的渠道。

测量试验遇到变量是不是计划成功:

which gn 或者 which gclient  #which指令会在环境变量设置的目录里查找执行文件

万一出口了眼下配置的depot_tools文件夹地址,则是安插成功!

官方网址参谋:http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up

二、下载项目源码

1、图谋专门的学问
点名八个义务置放webrtc源码,非常须要专心的是现阶段硬盘存款和储蓄空间需求非常的多于20GB。

mkdir webrtc
cd webrtc

2、代码同步

fetch --nohooks webrtc_android
gclient sync

其一大意会15-20GB的文本要求下载(版本持续迭代),同步速度取决于你的VPN给不给力。
3、信赖景况布置(编写翻译情状只供给试行贰次)

cd src
./build/install-build-deps.sh

当源码下载完备后,实施蒙受安顿脚本,会帮你检验并安装编写翻译所须求的正视库和工具。

本子编写翻译

一、编写翻译参数钦点

gn gen out/build --args='target_os="android" target_cpu="arm" is_debug=false'

out/build : 编写翻译生成文件的目录,随便钦定
target_os : 编写翻译指标平台 android ios 等
target_cpu : CPU框架结构平台 arm arm64 x86 x64等
is_debug : Release形式或许Debug形式

二、实施编译
由于是全量编写翻译,所以时间有个别有一点点长,看机器品质。

ninja -C out/build

生成Gradle项目文件

build/android/gradle/generate_gradle.py --output-directory $PWD/out/build 
--target "//examples:AppRTCMobile" --use-gradle-process-resources 
--split-projects --canary

施行完成,能够在out/build/目录下会变动一个gradle的文件夹,使用Android studio该gradle目录即可运营demo工程。

Release版本

是因为webrtc是绵绵在master分支开辟的,所以我们贰次开垦webrtc最棒基于稳固的release版本。
查找库上的release版本

git branch -r

然后checkout到对应的release版本

git checkout -b my_branch branch-heads/66  #切换到M66版本
gclient sync  #同步对应版本的代码

问题1:
一旦寻找不到相应的release版本,那或然是地方源码历史太久远了(2014-3-24原先的版本)
亟需执行

gclient sync --with_branch_heads
git fetch origin

然后查看 .git/config

fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*

则化解难题。

问题2:
假如checkout了比较早的版本,举个例子branch-heads/5* 版本
执行 gclient sync 会报联手错误
是因为 depot_tools 的源码太新,导致与webrtc源码不相配,能够将 depot_tools 工程恢复生机到与 webrtc目的release版本相方今期的工程源码来开展共同编写翻译。

体系结构

鉴于变化的gradle工程的源码并不是放在三个岗位,何况发散在webrtc种种文件夹中,能够将逐一对应文件夹下的源码文件整合到一块儿。
java源码目录如下:

#android端demo工程源码
examples/androidapp/src  
#lib源码
modules/audio_device/android/java/src  
base/android/java/src  
rtc_base/java/src  
sdk/android/api 
sdk/android/src/java 
#so库,位于编译目录下
libjingle_peerconnection_so.so

PS:可以团结通过gradle文件的看重剖判查看源码文件夹的援引路线。

本文由澳门太阳娱乐手机登录发布于编程,转载请注明出处:WebRtc编写翻译好的vs2016源码

关键词: