一直想看webrtc的源码必威:,tools的使用参考

  1. 直白想看webrtc的源码,苦于FQ工夫有限且全数编译进度耗费时间巨大,故求助于网络。在网络寻找许久编写翻译好的Webrtc源码,好多本子下载下来总是报各类不当,相当悲伤。
  2. 只要武功深铁杵磨成针,终于寻得一版可用的Web奇骏tc源码。具体从哪些网址找的已经记不起来了,可是照旧感激分享者。
  3. 分享给我们: 链接: 密码: u37i
  4. 简轻易单说一下:分享文件中多少个文本,第三个depot_tools解压缩,然后增添到意况变量。然后解压缩开始编写翻译webrtc代码
  5. 说下自家的编译景况:vs二〇一四
  6. 必威 1
  7. 必威 2
  8. 嗯 时间不早了,下一步要从头研讨源码了。最早安排从PeerConnectionClient和server demo跑起。

前言

webrtc是谷歌(Google)收购并开源的一个支撑实时音录像对话的技巧。
官网是:https://webrtc.org 。
OK,介绍就这样多。

编写翻译最新版webrtc源码和编写翻译好的全方位项目10多少个G【共享】

 

参考编译最新版webrtc源码:

Git clone 

gclient config  --name=src

set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2015
set GYP_GENERATORS=ninja,msvs-ninja
gclient sync
cd src
Python webrtc/build/gyp_webrtc.py

上图哈:

必威 3

注:
1.depot_tools的运用参谋:
2.webrtc官方源码笔者copy到github上了:
3.webrtc编写翻译好的成套项目本人传到百度云了: (注:由于刚(Yu-Gang)压缩辛亏上传中,有10多G,请稍等,等上传实现后再下载)

 

------------------------ 2014-9-29投入安装depot_tools表达(土红字体:python和别的工具会在运作gclinet时本人下载安装) -----------------------------------------

Install depot_tools

Chromium and Chromium OS use a package of scripts called depot_tools to manage checkouts and code reviews.  
The depot_tools package includes gclientgclgit-clrepo, and others.

Installing on Linux and Mac

  1. Confirm git and python are installed. git 2.2.1+ recommended. python 2.7+ recommended.

  2. Fetch depot_tools: 
    $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  3. Add depot_tools to your PATH:
    $ export PATH=`pwd`/depot_tools:"$PATH"

    • Yes, you want to put depot_tools ahead of everything else, otherwise gcl will refer to the GNU Common Lisp compiler.
    • You may want to add this to your .bashrc file or your shell's equivalent so that you don’t need to reset your $PATH manually each time you open a new shell.

Installing on Windows

Preamble

Chromium is mostly designed to be run using the native Windows tools and the Msys (Git for Windows) toolchain. Cygwin is not recommended, and likely things will fail in cryptic ways.

Instructions

  1. Download depot_tools.zip and decompress it.
  • Do not use drag-n-drop or copy-n-paste extract from Explorer, this will not extract the hidden ".git" folder which is necessary for depot_tools to autoupdate itself. You can use "Extract all..." from the context menu though.
  • Do not extract to a path containing spaces. If you do, gclient will produce the error "update_depot_tools.bat was not expected at this time" or similar.
Add depot_tools to the start (not end!) of your PATH: With Administrator access:
  • Control Panel > System and Security > System > Advanced system settings
  • Modify the PATH system variable to include depot_tools
Without Administrator access:
  • Control Panel > User Accounts > User Accounts > Change my environment variables
  • Add a PATH user variable: C:pathtodepot_tools;%PATH%
Run gclient from the cmd shell. The first time it is run, it will install its own copy of various tools. If you run gclient from a non-cmd shell, it may appear to run properly, but python, and other tools may not get installed correctly (while it should work fine from a msys bash shell, you may still trip over bugs from time to time).
  • If you see strange errors with the file system on the first run of gclient, you may want to disable Windows Indexing.
  • If you see errors like "The system cannot execute the specified program", try installing "Microsoft Visual C++ 2008 Redistributable Package".
  • If it complains that it can't find python, make sure you don't already have a .gclient file in the same directory.
  • After running gclient open a command prompt and type where python and confirm that the depot_tools python.bat comes ahead of any copies of python.exe. Failing to ensure this can lead to overbuilding when using gn - see crbug.com/611087

See also Howto: depot tools

------------------------2016-9-29加入安装depot_tools说明-----------------------------------------

注:webrtc 源码编写翻译供给自备梯子.

webrtc编写翻译教程

预备干活

假设不策动修改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 举行查询,当初更新挺频仍,方今两四年没更新了,权当个缅想吧。

赢得源码

一、安装depot_tools工具

源码下载

假如想修改源码,恭喜您,你供给自身编写翻译源码。
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

当源码下载完备后,实行意况安顿脚本,会帮您检查评定并设置编写翻译所要求的重视库和工具。

安装 depot_tools

depot_tools是个工具包,里面富含gclient、gcl、gn和ninja等工具。其中gclient是代码获取工具,它实际上是利用了svn和Git.

//todo install
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
修改 ~/.zshrc
export PATH=$PATH:~/work/depot_tools/depot_tools

首先你的计算机上设置了git

本子编写翻译

一、编写翻译参数钦定

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工程。

赢得源码

始建源码目录 webrtc, fetch 实践之后就要 webrtc 目录中成立 src 目录, 而 src/webrtc 才是确实源码所在. 源码目录预计在 8G 左右大小.

mkdir webrtc && cd webrtc
linux : fetch --nohooks webrtc
android: fetch --nohooks webrtc_android
ios: fetch --nohooks webrtc_ios
gclient sync

1)    下载depot_tools

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版本周边日期的工程源码来开展联合编写翻译。

切换分支代码

出于 master 分支更新度频仍, 不便于本人 patch 维护, 须求切换成钦命版本分支.

cd src
gclient sync --with_branch_heads
git fetch
git checkout -b local_branch branch_heads/$branch
gclient sync

cd到下载的目录下

体系结构

是因为变化的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文件的借助分析查看源码文件夹的援引路径。

编译

区分为 linux 平台, android 平台, ios 平台.

git clone

linux

在 ubuntu 16.04 达成编写翻译, 要求注意 webrtc 内部脚本仅扶助 lts 发表版, 所以 Ubuntu15.04 这些揣摸有一些麻烦了, 本文不研商此情形.

gn gen out/Default
ninja -C out/Default

 

android

android 版本只帮忙在 linux 编写翻译, 不能够在 mac 碰着中编写翻译.

行使git下载源码的时候会报那样的荒唐

编写翻译情形 jdk8 安装:

切实安装就隐瞒了, 关键是景况变量设置, 楼主踩过这一个坑, 处境变量未安装科学, 致各类 jni 相关的错误.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export GYP_DEFINES="OS=android"
export PATH=$PATH:${JAVA_HOME}/bin

unable to access '': Failed to connect to chromium.googlesource.com port 443: Operation timed out

本文由必威发布于必威-操作系统,转载请注明出处:一直想看webrtc的源码必威:,tools的使用参考

相关阅读