谷歌开放实时通信框架WebRTC源代码

     其实早在6月2号以前,在Google上班的朋友就告诉我这条信息,我也第一时间拿到WebRTC全部source code, 但由于最近工作实在是忙,没第一时间在这转载这一信息。现补一下,希望一直关注多媒体应用的同行,能较早时间去学习WebRTC框架中的技术,并在实际项目中运用。

    谷歌今日宣布向开发人员开放WebRTC架构的源代码。WebRTC是一项在浏览器内部进行实时视频和音频通信的技术,是谷歌去年以6820万美元收购收购Global IT Solutions公司而获得一项技术。

      谷歌今日在官方博客中称:“我们希望让浏览器成为实时通信的创新地所在,到目前为止,实时通信需要使用受版权保护的信号处理技术,并通过插件或下载客户端才能实现,而WebRTC则允许开发人员使用HTML和JavaScript API来创建实时应用。”
      谷歌还称:“为此我们将与Mozilla和Opera等浏览器厂商密切合作,以便让更广泛的Web社区来部署这项技术。此外,我们还将与IETF和W3C工作组等标准机构合作,以定义一套实时通信标准。”

  目前,开发人员可访问http://sites.google.com/site/webrtc/页面获取WebRTC的源代码、规格说明和工具等。(国内网络可能不能登录,总共大小有80M, 如有需要可以留联系方式)

在这还转载一篇对WebRTC source code(http://blog.csdn.net/cymlife/archive/2011/06/02/6460852.aspx) 组成部分的简单介绍的博文。要想更深的了解相关技术,大家一定要花时间去学习研究。我也会去学习,到时有时间也会发表相关文章与大家一起交流。

视频

  WebRTC的视频部分,包含采集、编解码(I420/VP8)、加密、媒体文件、图像处理、显示、网络传输与流控(RTP/RTCP)等功能。
   视频采集---video_capture
  源代码在webrtc\modules\video_capture\main目录下,包含接口和各个平台的源代码。
  在windows平台上,WebRTC采用的是dshow技术,来实现枚举视频的设备信息和视频数据的采集,这意味着可以支持大多数的视频采集设备;对那些需要单独驱动程序的视频采集卡(比如海康高清卡)就无能为力了。
  视频采集支持多种媒体类型,比如I420、YUY2、RGB、UYUY等,并可以进行帧大小和帧率控制。
   视频编解码---video_coding
   源代码在webrtc\modules\video_coding目录下。
  WebRTC采用I420/VP8编解码技术。VP8是google收购ON2后的开源实现,并且也用在WebM项目中。VP8能以更少的数据提供更高质量的视频,特别适合视频会议这样的需求。
   视频加密--video_engine_encryption
   视频加密是WebRTC的video_engine一部分,相当于视频应用层面的功能,给点对点的视频双方提供了数据上的安全保证,可以防止在Web上视频数据的泄漏。
  视频加密在发送端和接收端进行加解密视频数据,密钥由视频双方协商,代价是会影响视频数据处理的性能;也可以不使用视频加密功能,这样在性能上会好些。
  视频加密的数据源可能是原始的数据流,也可能是编码后的数据流。估计是编码后的数据流,这样加密代价会小一些,需要进一步研究。
   视频媒体文件--media_file
   源代码在webrtc\modules\media_file目录下。
  该功能是可以用本地文件作为视频源,有点类似虚拟摄像头的功能;支持的格式有Avi。
  另外,WebRTC还可以录制音视频到本地文件,比较实用的功能。
   视频图像处理--video_processing
   源代码在webrtc\modules\video_processing目录下。
  视频图像处理针对每一帧的图像进行处理,包括明暗度检测、颜色增强、降噪处理等功能,用来提升视频质量。
   视频显示--video_render
   源代码在webrtc\modules\video_render目录下。
  在windows平台,WebRTC采用direct3d9和directdraw的方式来显示视频,只能这样,必须这样。
   网络传输与流控
   对于网络视频来讲,数据的传输与控制是核心价值。WebRTC采用的是成熟的RTP/RTCP技术。

音频

  WebRTC的音频部分,包含设备、编解码(iLIBC/iSAC/G722/PCM16/RED/AVT、NetEQ)、加密、声音文件、声音处理、声音输出、音量控制、音视频同步、网络传输与流控(RTP/RTCP)等功能。
   音频设备---audio_device
   源代码在webrtc\modules\audio_device\main目录下,包含接口和各个平台的源代码。
  在windows平台上,WebRTC采用的是Windows Core Audio和Windows Wave技术来管理音频设备,还提供了一个混音管理器。
  利用音频设备,可以实现声音输出,音量控制等功能。
   音频编解码---audio_coding
   源代码在webrtc\modules\audio_coding目录下。
  WebRTC采用iLIBC/iSAC/G722/PCM16/RED/AVT编解码技术。
  WebRTC还提供NetEQ功能---抖动缓冲器及丢包补偿模块,能够提高音质,并把延迟减至最小。
  另外一个核心功能是基于语音会议的混音处理。
   声音加密--voice_engine_encryption
   和视频一样,WebRTC也提供声音加密功能。
   声音文件
   该功能是可以用本地文件作为音频源,支持的格式有Pcm和Wav。
  同样,WebRTC也可以录制音频到本地文件。
   声音处理--audio_processing
   源代码在webrtc\modules\audio_processing目录下。
  声音处理针对音频数据进行处理,包括回声消除(AEC)、AECM、自动增益(AGC)、降噪处理等功能,用来提升声音质量。
   网络传输与流控
   和视频一样,WebRTC采用的是成熟的RTP/RTCP技术。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值