>

WebRtc编译好的vs2015源码

- 编辑:金沙国际平台登录 -

WebRtc编译好的vs2015源码

  1. 直白想看webrtc的源码,苦于FQ技艺轻巧且凡事编写翻译进程耗费时间巨大,故求助于网络。在互连网搜寻许久编写翻译好的Webrtc源码,好些个版本下载下来总是报种种不当,非常颓废。
  2. 只要武术深铁杵磨成针,终于寻得一版可用的WebENVISIONtc源码。具体从哪些网址找的早就记不起来了,可是照旧感激分享者。
  3. 共享给大家: 链接: 密码: u37i
  4. 简短说一下:分享文件中多个文本,第二个depot_tools解压缩,然后加多随情形变量。然后解压缩起先编写翻译webrtc代码
  5. 说下自家的编写翻译情形:vs二零一四
  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编写翻译提及来,编写翻译既劳苦又简便;困难在源码规模太大,本国同步代码频仍出难点,轻易在于谷歌现已将混乱的编写翻译进程整合成老妪能解的编写翻译脚本命令。
重申一点:上面包车型地铁编写翻译操作是基于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版本,那大概是本土源码历史太久远了(二零一六-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编译好的vs2015源码