webrtc在ubuntu14.04上的下载和编译
来源:互联网 发布:php 调用jenkins 接口 编辑:程序博客网 时间:2024/05/21 08:44
一、配置webrtc环境
1、创建文件夹
$ cd /home/
$ mkdir webrtc
$ sudo chmod 777 -R *
$ cd webrtc/
2、安装编译webrtc代码所需工具
a.jdk (本人用的 sun jdk1.8.0_71)
jdk下载路径: http://ghaffarian.net/downloads/Java/JDK/
配置到环境变量中
b.git ( 版本 1.9.1 )
安装: sudo apt-get install git
c.svn(1.8.8)
sudo apt-get install subversion
d.gclient
1).安装: gitclone https://chromium.googlesource.com/chromium/tools/depot_tools.git
如果git不行就使用svn:
svn checkout http://src.chromium.org/svn/trunk/tools/depot_tools
2).配置到环境变量中
vi~/.bashrc
export PATH="$PATH":`pwd`/depot_tools
e.安装如下工具 ( sudo apt-get install ..)
g++ (>= 4.2)
python (>= 2.4)
libnss3-dev >= 3.12
libasound2-dev
libpulse-dev
libjpeg62-dev
libxv-dev
libgtk2.0-dev
libexpat1-dev
For 32-bit builds on a64-bit system:
lib32asound2-dev
ia32-libs
3、获取WebRTC 源码
gclient config http://webrtc.googlecode.com/svn/src
4、设计目标系统版本的配置
echo "target_os = ['android', 'unix']" >> .gclient
5、同步代码(一般直接获取是获取不到的,只能通过vpn,vps或者翻墙)
gclient sync --nohooks
根据设置的平台(target_os)不同,会下载很多文件,包括NDK&SDK还有其他tools
ps:如果同步不了,可以选择找一个已经同步好的压缩包,直接解压。
但是这时候容易碰到使用svn下载是,svn的版本跟源代码下载时的svn版本不同,导致无法更新的问题。
后面会增加手动升级svn的过程。
(我选的压缩包是http://yunpan.cn/cf6qyCJTQ4UhG(提取码:66d2),
他需要被放在/home/webrtc/code/下面,亲测,编译通过)
二、编译代码
1.设置编译环境
1). cd trunk
2). source ./build/android/envsetup.sh
3).export GYP_DEFINES="$GYP_DEFINES OS=android"
2.下载编译所依赖的包或工具,(这里又会下载一大堆东西如 Ant.)
./build/install-build-deps.sh (trunk目录下)
如果这步出现错误,请参照:
http://www.hankcs.com/program/network/the-pure-script-compile-webrtc-for-android.html
进行脚本编译(其实只要source android/build.sh& install_dependencies就够了)然后再做./build/install-build-deps.sh
3. gclientrunhooks --force (下载编译所需的build文件等信息)
4.编译 ( trunk目录下 )
编译Debug版: ninja -C out/Debug
编译Release版: ninja-C out/Release
ninja -C out/Debug/ WebRTCDemo
ninja -C out/Debug/ AppRTCDemo
ninja -C out/Release/ WebRTCDemo
ninja -C out/Release/ AppRTCDemo
清除:ninja -C out/Debug -t clean
注意,AppRTCDemo与 WebRTCDemo的区别:
WebRTCDemo只是局域网内的点对点,知道对方的ip和端口号就可以对打, 不需要服务器,
AppTRCDemo是需要服务器的,可以局域网,或者广域网
三、ubuntu翻墙
参照:
http://blog.dimpurr.com/ubuntu-gae/ (主要是它)
http://blog.howgo.info/archives/3246.html
http://blog.csdn.net/alanbj/article/details/39828041
四、编译linux平台需要的库(linux平台需要的库即.a文件)
linux下默认应用ninja, 若是须要应用make的话, 指定 exportGYP_GENERATORS=make
ps:android只支撑ninja编译。
命令:(trunk或者src目录下)
exportGYP_GENERATORS=make
gclient runhooks(这步不能少)
make
待make完成后你应该能在trunk/out/debug目录下发现大量 .a格式的文件。
错误解决:make:*** 没有规则可以创建“Makefile”需要的目标“../supplement.gypi”。停止
解决:把src\chromium\src\third_party\webrtc目录下的supplement.gypi文件拷贝到跟src同级目录
五、构建WebRTCDemo生成 .so文件
$ cd webrtc/video_engine/test/android/
$ ndk-build
成功后会生成libwebrtc-video-demo-jni.so 。
1、创建文件夹
$ cd /home/
$ mkdir webrtc
$ sudo chmod 777 -R *
$ cd webrtc/
2、安装编译webrtc代码所需工具
a.jdk (本人用的 sun jdk1.8.0_71)
jdk下载路径: http://ghaffarian.net/downloads/Java/JDK/
配置到环境变量中
b.git ( 版本 1.9.1 )
安装: sudo apt-get install git
c.svn(1.8.8)
sudo apt-get install subversion
d.gclient
1).安装: gitclone https://chromium.googlesource.com/chromium/tools/depot_tools.git
如果git不行就使用svn:
svn checkout http://src.chromium.org/svn/trunk/tools/depot_tools
2).配置到环境变量中
vi~/.bashrc
export PATH="$PATH":`pwd`/depot_tools
e.安装如下工具 ( sudo apt-get install ..)
g++ (>= 4.2)
python (>= 2.4)
libnss3-dev >= 3.12
libasound2-dev
libpulse-dev
libjpeg62-dev
libxv-dev
libgtk2.0-dev
libexpat1-dev
For 32-bit builds on a64-bit system:
lib32asound2-dev
ia32-libs
3、获取WebRTC 源码
gclient config http://webrtc.googlecode.com/svn/src
4、设计目标系统版本的配置
echo "target_os = ['android', 'unix']" >> .gclient
5、同步代码(一般直接获取是获取不到的,只能通过vpn,vps或者翻墙)
gclient sync --nohooks
根据设置的平台(target_os)不同,会下载很多文件,包括NDK&SDK还有其他tools
ps:如果同步不了,可以选择找一个已经同步好的压缩包,直接解压。
但是这时候容易碰到使用svn下载是,svn的版本跟源代码下载时的svn版本不同,导致无法更新的问题。
后面会增加手动升级svn的过程。
(我选的压缩包是http://yunpan.cn/cf6qyCJTQ4UhG(提取码:66d2),
他需要被放在/home/webrtc/code/下面,亲测,编译通过)
二、编译代码
1.设置编译环境
1). cd trunk
2). source ./build/android/envsetup.sh
3).export GYP_DEFINES="$GYP_DEFINES OS=android"
2.下载编译所依赖的包或工具,(这里又会下载一大堆东西如 Ant.)
./build/install-build-deps.sh (trunk目录下)
如果这步出现错误,请参照:
http://www.hankcs.com/program/network/the-pure-script-compile-webrtc-for-android.html
进行脚本编译(其实只要source android/build.sh& install_dependencies就够了)然后再做./build/install-build-deps.sh
3. gclientrunhooks --force (下载编译所需的build文件等信息)
4.编译 ( trunk目录下 )
编译Debug版: ninja -C out/Debug
编译Release版: ninja-C out/Release
ninja -C out/Debug/ WebRTCDemo
ninja -C out/Debug/ AppRTCDemo
ninja -C out/Release/ WebRTCDemo
ninja -C out/Release/ AppRTCDemo
清除:ninja -C out/Debug -t clean
注意,AppRTCDemo与 WebRTCDemo的区别:
WebRTCDemo只是局域网内的点对点,知道对方的ip和端口号就可以对打, 不需要服务器,
AppTRCDemo是需要服务器的,可以局域网,或者广域网
三、ubuntu翻墙
参照:
http://blog.dimpurr.com/ubuntu-gae/ (主要是它)
http://blog.howgo.info/archives/3246.html
http://blog.csdn.net/alanbj/article/details/39828041
四、编译linux平台需要的库(linux平台需要的库即.a文件)
linux下默认应用ninja, 若是须要应用make的话, 指定 exportGYP_GENERATORS=make
ps:android只支撑ninja编译。
命令:(trunk或者src目录下)
exportGYP_GENERATORS=make
gclient runhooks(这步不能少)
make
待make完成后你应该能在trunk/out/debug目录下发现大量 .a格式的文件。
错误解决:make:*** 没有规则可以创建“Makefile”需要的目标“../supplement.gypi”。停止
解决:把src\chromium\src\third_party\webrtc目录下的supplement.gypi文件拷贝到跟src同级目录
五、构建WebRTCDemo生成 .so文件
$ cd webrtc/video_engine/test/android/
$ ndk-build
成功后会生成libwebrtc-video-demo-jni.so 。
0 0
- webrtc在ubuntu14.04上的下载和编译
- webrtc在ubuntu14.04上的编译过程(千辛万苦啊)-2015.01.22
- webrtc在ubuntu14.04上的编译过程(12.04亦可)
- webrtc在ubuntu14.04上的编译过程(千辛万苦啊)
- ubuntu14.04编译webrtc
- Ubuntu14.04编译Webrtc
- WebRTC在window上的编译
- webRTC在Win7 VS2013上的编译
- webRTC在Win7 VS2013上的编译
- IOS 初识WebRTC之webrtc的源码下载和编译
- 在Ubuntu14.04上下载NDK和使用OLLVM混淆
- 在Ubuntu14.04上编译Android4.0.1出现的几个问题
- 在Ubuntu14.04上编译Android4.0.1出现的几个问题
- WebRTC源码下载及编译流程(webrtc和webrtc-android)
- gsoap在ubuntu14.04上编译
- 最新版本webrtc源代码在windows上的编译方法
- WebRTC的官网下载和编译方法
- 在ubuntu14.04上anaconda和ros共存的问题?
- QMainWindow布局和QDialog布局的区别
- Linux系统下以RPM方式安装mysql-5.7.9【5.7版本以后,启动mysqld服务首次登录需要密码,为root生成的随机密码在错误日志文件/var/log/mysqld.log】
- rz sz命令
- [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify uniq
- PAT1042
- webrtc在ubuntu14.04上的下载和编译
- loadView详解
- 大数据项目2:内存受限的大数据预测模型
- 回归(regression)与分类(classification)的区别
- InitializeSimpleMembership Attribute and SimpleMembership Exceptions
- 执行StartExecution时, 报ActiveX component can't create object错误
- Activity的四种launchMode
- 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)
- android getX()、getY()、getRawX()、getRawY()、getSrrollX()、getScrollY()、scrollTo()、scrollBy()对比