webrtc研究一

写在最前面

一:写博客的目的

1.自己研究的辛苦自己清楚。

2.网上的各种资料鱼龙混杂,很多都过时了。

3.基于最新的webrtc源码分享自己工作中的一些心得体会。

4.如果写的好大家就鼓掌,写的不好勿喷。有钱的捧个钱场,没钱的...

二:编译编译还是编译

1.自己最好还是准备个vpn,不要想着有谁把代码拷贝下来上传到国内的服务器上。

2.下载depot_tools,并且加入到PATH中:

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

export PATH=`pwd`/depot_tools:"$PATH"(建议在/etc/profile中配置,免得每次重新打开终端都要重新设置一遍)

3.安装依赖库。(这些库不仅是在编译的时候需要,下载的时候也会用到,所以在下载代码之前将它安装完成)

python (>= 2.4)

libnss3-dev >= 3.12

libasound2-dev

libpulse-dev

libjpeg62-dev

libxv-dev

libgtk2.0-dev

libexpat1-dev

g++ (>= 4.2)

32位的依赖库,这个主要在编译appRtcDemo的时候用到

lib32asound2-dev

lib32z1

lib32ncurses5

lib32bz2-1.0

以上的这些直接sudo apt-get install 安装就可以了。

上面的这些并不足以能保证编译顺利通过,根据我的ubuntu14.04编译的经验,还需要其他的库,报错的时候,直接去定位到error的位置,去安装需要的库就可以了。

库的依赖情况都在log中有显示。

还需要下载openjdk-7-dev,并且配置JAVA_HOME=/usr/lib/jvm/java* 配置到环境中。

4.获取代码(这一步骤很讨厌,我花了2天的时间下载完成)

1.创建一个目录mkdir webrtc_dir

2. cd webrtc_dir

3. fectch webrtc

如果是安卓需要

export GYP_DEFINES="OS=android"

fetch webrtc_android

如果中间有断网的情况,直接cd到truck或者src目录下执行gclient sync。以后同步代码的时候也是这个命令

5.编译:ninja -C out/Debug

6.编译AppRtcDemo:

1.设置环境变量,比如ndk环境等。这里需要说一下,这里使用的Ndk是源码中的Ndk,不需要我们自己去下载和配置ndk的环境了。否则出现各种问题又得死很多脑细胞了。

直接cd到src目录下执行 . build/android/evnsetup.sh就行了

2.设置GYP环境变量

export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_java=1 OS=android $GYP_DEFINES"
 

3.编译

ninja -C out/Debug AppRTCDemo

其实就这么简单,如有编译过程中还有问题,就在评论中留言吧。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-12 07:02:35

webrtc研究一的相关文章

WebRtc研究二(WebRtcDemo的使用)

WebRtcDemo的运行效果: 1:如果要拨打另一台终端的话再SETTING里面配置好对方的IP地址.然后回到MAIN点击StartCall 2: 对面也要设置我的IP,然后也要去MAIN里面点击StartCall 这个应该是通过点对点进行连接的.同时支持音频和视频.支持本地显示. 该工程的源码的位置是:webrtc/src/webrtc/examples/android/media_demo 这个工程的话是依赖于libwebrtcdemo-jni.so的.这个so生成的话使用了大部分webr

WebRTC音视频引擎研究(1)--整体架构分析

WebRTC技术交流群:234795279 原文地址:http://blog.csdn.net/temotemo/article/details/7530504 1.WebRTC目的 WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的Javascript程序即可实现,W

WebRTC 项目研究

?? WebRTC 目录(?)[+] 1.官方网站: http://sites.google.com.sixxs.org/site/webrtc/home http://sites.google.com.sixxs.org/site/webrtc/reference/webrtc-components http://sites.google.com.sixxs.org/site/webrtc/reference http://code.google.com.sixxs.org/p/webrtc/

webRTC的VAD算法的研究

摘要: 在上一篇的文档中,分析unimrcp中vad算法的诸多弊端,但是有没有一种更好的算法来取代呢.目前有两种方式 1. GMM   2. DNN. 其中鼎鼎大名的WebRTC VAD就是采用了GMM 算法来完成voice active dector.今天笔者重点介绍WebRTC VAD算法.在后面的文章中, 我们在刨析DNN在VAD的中应用.下面的章节中,将介绍WebRTC的检测原理. 原理: 首先呢,我们要了解一下人声和乐器的频谱范围,下图是音频的频谱. 本图来源于网络 根据音频的频谱划分

WEBRTC基本介绍

“WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术,Google开源了这项技术!” 就 冲着6000多万美金的技术,就很值得研究一下!WebRTC提供了视频会议的核心技术,包括音视频采集.编解码.网络传输.显示等功能,并且还支持跨平 台:Windows,Linux,Mac,Android,尤其是在实

Android WebRTC视频旋转问题

最近在对接WebRTC到安卓手机上,有个需求就是手机横屏时将对方图像进行旋转,研究了WebRTC video_render的代码后发现远端的视频渲染使用opengles20或surfaceview实现,其中opengles20使用硬件渲染,因此性能更好,所以只需将video_render_opengles20.h中的VideoRenderOpenGles20类加上旋转接口即可. opengles20和opengles相比取消了glRotatex等操作函数,旋转操作改为由shader的顶点渲染实现

关于基于webrtc的android-apk 和 webrtc-brows

这一段时间我在做一些关于基于webrtc应用的一些研究,做个一个android的demo,详情如下: 手机客户端:   基于webrtc的 android apk   (webrtc 代码版本 R6751) server :       已经nodejs的javascript 版的server web客户端:   浏览器(chrome  36.0.1985.125 m) 客户端和server之间是通过websocket来通讯. 遇到的问题 浏览器和浏览器之间能够正常的通讯(视频通话),但是and

WebRTC 视频对话

今天聊一下WebRTC.很多开发者,可能会觉得有些陌生,或者直接感觉繁杂.因为WebRTC在iOS上的应用,只是编译都让人很是头痛.这些话,到此为止,以防让了解者失去信心.我们只传播正能量,再多的困难都是可以解决的.本博客会不断更新增加内容,不要怕长.首先看一下定义.WebRTC,名称源自网页实时通信(WebReal-TimeCommunication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购GlobalIPSolutions公司而获得的

webrtc教程

cdsn博客不支持word文件,所以这里显示不完全.可到本人资源中下载word文档: v0.3:http://download.csdn.net/detail/kl222/6961491 v0.1:http://download.csdn.net/detail/kl222/6677635  下载完后评论,可以返还你的积分.此文档还在完善中,欢迎大家交流,共同完善.    Webrtc  教程 版本0.3(2014年2月) 康林 ([email protected]) 本文博客地址:http://