webrtc源码
㈠ 如何获取 webrtc 特定版本 源码
必须要安装的软件如下:
SVN,这个是必须的。可以安装TortoiseSVN,找个合适的版本就可以了。下载地址:http://sourceforge.net/projects/tortoisesvn/。这个软件等下可以直接需要用到。
安装msysgit,这也是一定要安装的,因为等下需要用到。下载地址:http://code.google.com/p/msysgit/downloads/list。个人以为这个也是找个合适的版本就可以了,对版本应该没有要求,我下载的是:1.7.4版本。
也可以再安装TortoiseGit,下载地址:http://code.google.com/p/tortoisegit/downloads/list。这个应该是可以安装,也可以不安装,但如果要安装的话,一定要安装msysgit,因为TortoiseGit只是一个Git版本管理的GUI软件。
安装python,这个也是必须的,为什么需要这个呢?因为等下一个下载工具里面都是python脚本,所以需要这个来执行。下载地址:http://www.python.org/getit/
现在开始准备下载源码了,下载源码我是用gclient工具,这是什么呢?这是在另一个包里面提供的一个工具,这个包就是depot_tools,所以我们要先下载这个。
一,下载depot_tootls
可以直接用cmd进入到某一个文件夹下,然后用命令
[html] view plain
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
下载,当然也可以新建一个文件夹,然后右键,选择svn checkout。
二,获取源码
在获取源码之前,我们看一下我们电脑上(windows)已经准备了哪些东西?
安装了SVN,这个是必须的,就算不用下载depot_tools,也要安装这个。因为在后面的下载过程中,还是要用这个。
安装了Git,这个也是必须的,至少命令行是好使的。
准备depot_tools,这个提供gclient工具,因为要用这个工具下载,这个工具需要安装python。
现在来获取源码,步骤如下:
新建一个文件夹,用于保存获取的源码。如webrtc_src。
然后在文件夹上右键,会有一个git bash选项。如果没有的话,就直接打开git bash。就是Git的命令行。
如果直接右键打开的,那么当前的目录就是新建文件夹的目录,如果不是当前需要保存源码文件夹的目录,就cd 至那个目录。
接下来就运行一些命令,如下:
获取源码:svn checkout http://webrtc.googlecode.com/svn/trunk/。这个下载来的文件不是很大,因为操作还没有完成。
项目配置文件:gclient config https://webrtc.googlecode.com/svn/trunk。这次下载的文件数量很大,有1G以上,也需要很长的时间,是和下面的命令一起使用的。
gclient sync --force 获取工程的最新文件。
gclient runhooks --force 这个命令用于生产各种项目文件,如webrtc.sln文件,是或者MakeFile文件。
三,后续操作
在获取了源码之后,编译之后,发现少了很多文件,这些文件可以通过SVN再次获取。
svn co http://vsfiltermod.googlecode.com/svn/trunk/src/BaseClasses
把获取的文件放在下面这个目录
C:/ProgramFiles/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses/
这个目录在你不改变源码的配置时,是固定的,如果相应的文件夹不存在,就新建一个文件夹。
在Windows上,此时已经存在.sln文件了,直接用VS打开,在编译时,可能还需要安装DirectX
㈡ 求tomcat部署下的webrtc dome即时通讯系统源码
即时通讯! 那个就要用socket写咯
㈢ google为什么要开源webrtc
google开源了WebRTC项目,网址是:http://code.google.com/p/webrtc/。
WebRTC实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力。
通过对源码的粗略分析,WebRTC提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac,android。
WebRTC的视频处理分析(windows平台)
WebRTC的视频部分,包含采集、编解码(I420/VP8)、加密、媒体文件、图像处理、显示、网络传输与流控(RTP/RTCP)等功能。
视频采集---video_capture
源代码在webrtc\moles\video_capture\main目录下,包含接口和各个平台的源代码。
在windows平台上,WebRTC采用的是dshow技术,来实现枚举视频的设备信息和视频数据的采集,这意味着可以支持大多数的视频采集设备;对那些需要单独驱动程序的视频采集卡(比如海康高清卡)就无能为力了。
视频采集支持多种媒体类型,比如I420、YUY2、RGB、UYUY等,并可以进行帧大小和帧率控制。
视频编解码---video_coding
源代码在webrtc\moles\video_coding目录下。
WebRTC采用I420/VP8编解码技术。VP8是google收购ON2后的开源实现,并且也用在WebM项目中。VP8能以更少的数据提供更高质量的视频,特别适合视频会议这样的需求。
视频加密--video_engine_encryption
视频加密是WebRTC的video_engine一部分,相当于视频应用层面的功能,给点对点的视频双方提供了数据上的安全保证,可以防止在Web上视频数据的泄漏。
视频加密在发送端和接收端进行加解密视频数据,密钥由视频双方协商,代价是会影响视频数据处理的性能;也可以不使用视频加密功能,这样在性能上会好些。
视频加密的数据源可能是原始的数据流,也可能是编码后的数据流。估计是编码后的数据流,这样加密代价会小一些,需要进一步研究。
视频媒体文件--media_file
源代码在webrtc\moles\media_file目录下。
该功能是可以用本地文件作为视频源,有点类似虚拟摄像头的功能;支持的格式有Avi。
另外,WebRTC还可以录制音视频到本地文件,比较实用的功能。
视频图像处理--video_processing
源代码在webrtc\moles\video_processing目录下。
视频图像处理针对每一帧的图像进行处理,包括明暗度检测、颜色增强、降噪处理等功能,用来提升视频质量。
视频显示--video_render
源代码在webrtc\moles\video_render目录下。
在windows平台,WebRTC采用direct3d9和directdraw的方式来显示视频,只能这样,必须这样。
网络传输与流控
对于网络视频来讲,数据的传输与控制是核心价值。WebRTC采用的是成熟的RTP/RTCP技术。
WebRTC的音频处理分析(windows平台)
WebRTC的音频部分,包含设备、编解码(iLIBC/iSAC/G722/PCM16/RED/AVT、NetEQ)、加密、声音文件、声音处理、声音输出、音量控制、音视频同步、网络传输与流控(RTP/RTCP)等功能。
音频设备---audio_device
源代码在webrtc\moles\audio_device\main目录下,包含接口和各个平台的源代码。
在windows平台上,WebRTC采用的是Windows Core Audio和Windows Wave技术来管理音频设备,还提供了一个混音管理器。
利用音频设备,可以实现声音输出,音量控制等功能。
音频编解码---audio_coding
源代码在webrtc\moles\audio_coding目录下。
WebRTC采用iLIBC/iSAC/G722/PCM16/RED/AVT编解码技术。
WebRTC还提供NetEQ功能---抖动缓冲器及丢包补偿模块,能够提高音质,并把延迟减至最小。
另外一个核心功能是基于语音会议的混音处理。
声音加密--voice_engine_encryption
和视频一样,WebRTC也提供声音加密功能。
声音文件
该功能是可以用本地文件作为音频源,支持的格式有Pcm和Wav。
同样,WebRTC也可以录制音频到本地文件。
声音处理--audio_processing
源代码在webrtc\moles\audio_processing目录下。
声音处理针对音频数据进行处理,包括回声消除(AEC)、AECM、自动增益(AGC)、降噪处理等功能,用来提升声音质量。
网络传输与流控
和视频一样,WebRTC采用的是成熟的RTP/RTCP技术。
WebRTC的官网是http://www.webrtc.org/,其中的FAQ解答了很多大家关心的问题。有这么几点可以关注:
1.license
采用BSD licenses,可以用于商业软件;即使你修改了源代码,也不必公开你修改的部分。
2.为什么WebRTC要免费
音视频针对目前的互联网应用,还是至关重要的。google这样做的目的,无非是吸引大量的开发者在chrome平台上开发音视频相关应用,和当年微软windows集成IE是一个道理。
3.下载和编译
a).下载google的源码工具depot_tools:
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
并把depot_tools添加到系统的环境变量PATH里;
b).下载git工具:并把git添加到系统的环境变量PATH里;
c).创建webrtc工作目录,并在该目录下运行:
gclient config https://webrtc.googlecode.com/svn/trunk
gclient sync --force
sync命令也会产生基于本地环境(Linux:make, OSX: XCode, Windows: Visual Studio)的build文件。
也可以用命令:
gclient runhooks --force
对windows平台,在trunk目录下,已经有针对Visual Studio的工程文件:
webrtc.sln
好了,打开它,这就可以编译了。
注:webrtc默认使用了C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses。我的机器上只有v7.0的sdk,于是构造了一个v7.1的目录,仅包含Samples\multimedia\directshow\baseclasses。
㈣ 谁有WebRTC实现音频视频实时通信的源代码在.NET中的小弟感激不尽
可以给你写份 see my name .find me
㈤ chrome内部的webrtc怎么改源码
1).准备环境1.Ubuntu14.04LTS系统2.准备一个稳定的速度还可以的VPN或者VPS,这个很重要,大家都懂,大部分下载代码失败都是因为访问google服务失败导致的.(本人用的DigitalOcean,之前试过几个VPN都以失败而告终,蛋都碎了,要么是不稳定,要么速度非常慢,最长一次用了15个小时都没有下载成功)3.安装下载$编译webrtc代码所需工具a.jdk(本人用的sunjdk1.6.0_45)配置到环境变量中
㈥ 有谁最近编译成功过 webrtc for android 的代码
1). 准备环境 1. Ubuntu 14.04 LTS 系统 2. 准备一个稳定的速度还可以的VPN 或者 VPS ,这个很重要,大家都懂,大部分下载代码失败都是因为访问google服务失败导致的.(本人用的Digital Ocean, 之前试过几个VPN都以失败而告终,蛋都碎了,要么是不稳定,要么速度非常慢,最长一次用了15个小时都没有下载成功) 3. 安装下载$编译webrtc代码所需工具 a. jdk (本人用的 sun jdk1.6.0_45) 配置到环境变量中 b. git ( 版本 1.9.1 ) 安装: sudo apt-get install git c. gclient 1.安装: 2.配置到环境变量中 ,至于怎么配置,不知道的google一下 d. 安装如下工具 ( 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 a 64-bit system: lib32asound2-dev ia32-libs 2). 下载代码 1.同步WebRTC代码 1.创建WebRTC目录 mkdir WebRTC cd WebRTC 2.初始化gclient 3. 设计目标系统版本的配置 echo "target_os = ['Android', 'unix']" >> .gclient 4. sync代码 gclient sync --nohooks ( 煎熬的一步,我同步下来的代码有7.1G之大,里面包括NDK、SDK等其他tools 之前用VPN都败在这里,后来用VPS,只用了6分多钟,哎,说点什么呢......尼玛,国内程序员就是苦逼) 注意,若长时间出现 Still working on等信息,请不要中断或者关闭,它依然在运行,如果你这里中断了,那么之前下载的东西会全部删除,然后又得重新sync一遍 3). 编译代码 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目录下) 3. gclient runhooks --force (下载编译所需的build文件等信息) 4. 编译 ( trunk目录下 ) 编译Debug版: ninja -C out/Debug 编译Release版: ninja -C out/Release 基于以上步骤,如果网络能正常访问google服务的话,一般都不会出现其他的问题,如果真碰到了问题,不要怕,一般根据错误信息就可以知道相应的原因。不知道的google一下 编译成功之后 在 out/Debug 或者 out/Release目录下看到相应的demo安装包 如Debug目录下,其中就有 AppRTCDemo-debug.apk 和 WebRTCDemo-debug.apk AppRTCDemo程序的代码就再 trunk/talk/examples/android/ 目录下
㈦ webrtc源码中哪个文件有版本
1). 准备环境
1. Ubuntu 14.04 LTS 系统
2. 准备一个稳定的速度还可以的VPN 或者 VPS ,这个很重要,大家都懂,大部分下载代码失败都是因为访问google服务失败导致的.(本人用的Digital Ocean, 之前试过几个VPN都以失败而告终,蛋都碎了,要么是不稳定,要么速度非常慢,最长一次用了15个小时都没有下载成功)
3. 安装下载$编译webrtc代码所需工具
a. jdk (本人用的 sun jdk1.6.0_45)
配置到环境变量中
㈧ webrtc 怎么编译出appwebrtc 源码
这个归根于网络问题,不是源码问题,源码的原理是完全一样,压根不用任何修改,之所以广域网你看不到服务器或者客户端那是因为广域网的子网面层堵塞,当然需要做端口上的映射公网的设置.
㈨ webrtc源码用什么语言编写
必须要安装的软件如下: SVN,这个是必须的。可以安装TortoiseSVN,找个合适的版本就可以了。下载地址:http://sourceforge.net/projects/tortoisesvn/。这个软件等下可以直接需要用到。 安装msysgit,这也是一定要安装的,因为等下需要用到。
㈩ webrtcs源代码是用什么语言
1.调整VS开发环境到C++状态 工具,导入和导出设置,重置为C++开发项目 2.如果你会用VC6来调试 那基本就没什么问题,如果只用过TC那再看下一步; 3.有很多种方式让VS来运行C程序,为了调试方便