Ubuntu12.4 下 WebRTC编译
来源:互联网 发布:首都图书馆 知乎 编辑:程序博客网 时间:2024/04/29 23:40
转自:http://www.yanyulin.info/pages/2015/01/12444554432257.html
参考:https://chromium.googlesource.com/external/webrtc/+/master/webrtc/examples
参考:http://www.webrtc.org/native-code/development
由于项目原因,需要音视频,所以最后选择了开源的WebRTC(采用BDS开源协议),并且是Google支持的开源项目。在Html5方面,Google的野心可见一般,为什么这么说,WebRTC支持浏览器。目前支持WebRTC的浏览器有Chrome,FireFox,Opera(最新版本,老版本就不支持),就是说,浏览器支持视音频,不再需要安装插件了。不过微软IE并不支持WebRTC,倒不是技术问题,这个你懂的。对于我等屌丝来说,至少有一种途径,可以实现非插件式的浏览器视音频。要知道,IE中用Active是一件很痛苦的事情,当然用Flex,安装才行,不像浏览器内置的来得直接。Google在大力推广HTML5,并以WebRTC作为视音频的标准,相信前景很好。 WebRTC目前支持 Linux,Windows,Android,IOS,浏览器(目前只有Chrome,FireFox,Opera)各个平台能实现视音频互通。Web页面可以和手机端,手机端和PC端等都可以实现音视频。是不是很酷!要动手编译WebRTC,官方建议在Ubuntu下编译。当然网上也有在Windows编译的,但是我这是按官网的说明,进行编译Android,所有选择了Ubuntu编译。如果要在Windows下编译,请参考: http://www.chromium.org/developers/how-tos/build-instructions-windows(http://www.chromium.org/developers/how-tos/build-instructions-windows). WebRTC 的官网为 http://www.webrtc.org(http://www.webrtc.org/). 要访问,在国内估计要通过VPN,这个你懂的。 VPN,建议还是购买一个吧,此处省略一百字。1、环境准备: VMware Player 安装 Ubuntu12.04(64位),当然你也可以选择高版本的Ununtu版本。不知道怎么安装Ubuntu,百度或者Google下,就可以了,并且保证Ubuntu能够上网,且能访问国外网站。2、编译Android 前需要准备的 工作( 请参考: http://www.webrtc.org/native-code/android(http://www.webrtc.org/native-code/android) ) 1)安装JDK(为了后面编译Android WebRtc): sudo apt-get install openjdk-7-jdk (64位 java version "1.7.0_65")2)安装GIT(为了下载depot_tools): sudo apt-get install git (版本2.2.2)3)下载depot_tools,获取源码工具: git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 请参考: https://sites.google.com/a/chromium.org/dev/developers/how-tos/install-depot-tools(https://sites.google.com/a/chromium.org/dev/developers/how-tos/install-depot-tools) 4)配置depot_too路径: export PATH=`pwd`/depot_tools:"$PATH" gedit ~/.bashrc 在文件最后添加 export PATH=`pwd`/depot_tools:"$PATH" 保存在退出。 5)安装其他工具(为后面编译作准备,请参考 http://www.webrtc.org/native-code/development/prerequisite-sw(http://www.webrtc.org/native-code/development/prerequisite-sw)) sudo apt-get install g++(>= 4.2) sudo apt-get install python sudo apt-get install g++ sudo apt-get install libnss3-dev sudo apt-get install libasound2-dev sudo apt-get install libpulse-dev sudo apt-get install libjpeg62-dev sudo apt-get install libxv-dev sudo apt-get install libgtk2.0-dev sudo apt-get install libexpat1-dev sudo apt-get install lib32asound2-dev sudo apt-get install ia32-libs 3、下载源代码 1)创建一个目录: mkdir webrtc cd webrtc/ 2)创建下载的配置文件:gclient config http://webrtc.googlecode.com/svn/trunk(http://webrtc.googlecode.com/svn/trunk) tjb@tjb-virtual-machine:~/WebRTC$(mailto:tjb@tjb-virtual-machine:~/WebRTC$) ll drwxrwxr-x 3 tjb tjb 4096 1月 25 23:58 ./ drwxr-xr-x 28 tjb tjb 4096 1月 28 10:48 ../ -rw-rw-r-- 1 tjb tjb 275 1月 25 23:58 .gclient -rw-rw-r-- 1 tjb tjb 339 1月 25 12:18 .gclient_entries 3)编辑配置文件.gclient : vi .gclient solutions = [ { "name" : "src", "url" : "http://webrtc.googlecode.com/svn/trunk(http://webrtc.googlecode.com/svn/trunk)", "deps_file" : "DEPS", "managed" : True, "custom_deps" : { }, "safesync_url": "", },]cache_dir = Nonetarget_os = ['android','unix','windows'] //"name" : "src", trunk 改成 src,表示源代码要存放的目录。//最后添加 target_os = ['android','unix','windows'] //,表示要编译目标平台,Android,Unix, Windows,如果是要编译IOS,就增加一个 IOS,然后保存退出命令: wq。 4)同步代码: gclient sync --force 说明: 这一步需要的时间很长,我是下载了三天,下了 11G,下载的大小,跟 target_os = ['android','unix','windows'] 里面要下的目标平台有关。如果只下载android,则不要写unix 和 windows,我是为了日后需要,所以先下载,以后再编译。如果中间发现中断了。你就不要不停地运行 gclient sync --force ,直到下载成功。(坚持不懈,直到成功!) 4、编译代码: 1)切换到下的目录: cd src 2)读取并执行环境命令 :source ./build/android/envsetup.sh 3)配置目标编译平台: export GYP_DEFINES="$GYP_DEFINES OS=android" 4)下载编译依赖的工具包(需要一些时间): ./build/install-build-deps.sh 5)下载编译所需要的Build文件(需要一些时间): gclient runhooks --force 6)编译Debug版本: ninja -C out/Debug 7)编译Release版本: ninja -C out/Release 以上步骤执行成功后: 在 src/out 下有 Debug 和 Release 目录,里面具有编译好的DEMO文件(AppRTCDemo程序的代码就再 src/talk/examples/android/ 目录下)。 tjb@tjb-virtual-machine:~/WebRTC/src/out$(mailto:tjb@tjb-virtual-machine:~/WebRTC/src/out$) lltotal 20drwxrwxr-x 5 tjb tjb 4096 1月 27 14:52 ./drwxrwxr-x 11 tjb tjb 4096 1月 27 14:52 ../drwxrwxr-x 28 tjb tjb 4096 1月 27 17:10 Debug/drwxrwxr-x 5 tjb tjb 4096 1月 27 14:52 gypfiles/drwxrwxr-x 28 tjb tjb 4096 1月 27 19:10 Release/ 在Release 和Debug目录下: AppRTCDemo-debug.apk和 WebRTCDemo-debug.apk-rw-rw-r-- 1 tjb tjb 2552878 1月 27 19:09 AppRTCDemo-debug.apk-rw-rw-r-- 1 tjb tjb 7455 1月 27 19:10 AppRTCDemoTest-debug.apk -rw-rw-r-- 1 tjb tjb 1679104 1月 27 17:04 WebRTCDemo-debug.apk注意,AppRTCDemo 与 WebRTCDemo的区别WebRTCDemo:局域网内的p2p,知道对方的ip和端口号就可以视音频, 但是效果不是很好。 AppTRCDemo:这个时候需要架设服务器,由服务器来实现视音频的中转或者实现打洞,建立信道和视音频流。
0 0
- Ubuntu12.4 下 WebRTC编译
- Ubuntu12.4 下 WebRTC编译 【转】
- WebRTC(android)下载编译(ubuntu12.04)
- windows 下编译webrtc
- Windows下编译webrtc
- Windows 下编译 WebRTC
- Windows下编译WebRTC
- 【WebRTC】在IOS下编译WebRTC
- ubuntu12.4 下eclipse 编译mysql
- Windows下编译WebRTC过程
- Ubuntu下编译安装WebRTC
- windows下webRTC编译过程
- windows下webRTC编译过程
- windows下webRTC编译过程
- Windows下编译WebRTC过程
- windows下webRTC编译过程
- Ubuntu 14.04下编译WebRTC
- Ubuntu 14.04下编译WebRTC
- 71道经典Android面试题和答案
- 批量导入po接口生成po的代码
- 深入理解Java虚拟机
- Map1
- 黑马程序员——第六篇:StringBuffer、StringBulider、数组、基本类型包装类
- Ubuntu12.4 下 WebRTC编译
- ISP技术及分类介绍
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- java.uti.Date与java.sql.Date 区别
- android,java代码设置背景色
- Linux中mount和unmount命令详解
- rails的Model映射到sqlite3的常用命令
- 小小菜之Cocos2d-x游戏开发旅程——Lua之摇杆实现
- JAVA面向对象编程中重点总结