`
fanxiaojun
  • 浏览: 56091 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论
阅读更多

 音视频包:http://ishare.iask.sina.com.cn/f/33851582.html

 

1、WebRTC目的

       

       WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的Javascript程序即可实现,W3C等组织正在制定Javascript 标准API,目前是WebRTC 1.0版本,Draft状态,网址;另外WebRTC还希望能够建立一个多互联网浏览器间健壮的实时通信的平台,形成开发者与浏览器厂商良好的生态环境。同时,Google也希望和致力于让WebRTC的技术成为HTML5标准之一,可见Google布局之深远。

 

 

2、WebRTC架构图
 


 

 
架构图颜色标识说明:
(1)紫色部分是Web开发者API层;
(2)蓝色实线部分是面向浏览器厂商的API层(也就是红色框标内模块,也是本人专注研究的部分)
(3)蓝色虚线部分浏览器厂商可以自定义实现

 

3、WebRTC架构组件介绍


 
(1) Your Web App
Web开发者开发的程序,Web开发者可以基于集成WebRTC的浏览器提供的web API开发基于视频、音频的实时通信应用。

 
(2) Web API
面向第三方开发者的WebRTC标准API(Javascript),使开发者能够容易地开发出类似于网络视频聊天的web应用,最新的标准化进程可以查看这里

(3) WebRTC Native C++ API
本地C++ API层,使浏览器厂商容易实现WebRTC标准的Web API,抽象地对数字信号过程进行处理。
 

 
(4) Transport / Session
 
传输/会话层
会话层组件采用了libjingle库的部分组件实现,无须使用xmpp/jingle协议

a.  RTP Stack协议栈
Real Time Protocol

b.  STUN/ICE
可以通过STUN和ICE组件来建立不同类型网络间的呼叫连接。

c.  Session Management
一个抽象的会话层,提供会话建立和管理功能。该层协议留给应用开发者自定义实现。
 

 
(5) VoiceEngine
音频引擎是包含一系列音频多媒体处理的框架,包括从视频采集卡到网络传输端等整个解决方案
PS:VoiceEngine是WebRTC极具价值的技术之一,是Google收购GIPS公司后开源的。在VoIP上,技术业界领先,后面的文章会详细了解
 

 
a.  iSAC
 
Internet Speech Audio Codec
 
针对VoIP和音频流的宽带和超宽带音频编解码器,是WebRTC音频引擎的默认的编解码器
采样频率:16khz,24khz,32khz;(默认为16khz)
自适应速率为10kbit/s ~ 52kbit/;
自适应包大小:30~60ms;
算法延时:frame + 3ms
 

 
b.  iLBC
Internet Low Bitrate Codec
VoIP音频流的窄带语音编解码器
采样频率:8khz;
20ms帧比特率为15.2kbps
30ms帧比特率为13.33kbps
标准由IETF RFC3951和RFC3952定义
 

c.  NetEQ for Voice
 
针对音频软件实现的语音信号处理元件
NetEQ算法:自适应抖动控制算法以及语音包丢失隐藏算法。使其能够快速且高解析度地适应不断变化的网络环境,确保音质优美且缓冲延迟最小。
 
是GIPS公司独步天下的技术,能够有效的处理由于网络抖动和语音包丢失时候对语音质量产生的影响。
PS:NetEQ 也是WebRTC中一个极具价值的技术,对于提高VoIP质量有明显效果,加以AEC\NR\AGC等模块集成使用,效果更好。

 
d.  Acoustic Echo Canceler (AEC)
回声消除器是一个基于软件的信号处理元件,能实时的去除mic采集到的回声。
 

 
e.  Noise Reduction (NR)
噪声抑制也是一个基于软件的信号处理元件,用于消除与相关VoIP的某些类型的背景噪声(嘶嘶声,风扇噪音等等… …)
 

 
(6) VideoEngine
WebRTC视频处理引擎
VideoEngine是包含一系列视频处理的整体框架,从摄像头采集视频到视频信息网络传输再到视频显示整个完整过程的解决方案。
 

 
a.  VP8
视频图像编解码器,是WebRTC视频引擎的默认的编解码器
VP8适合实时通信应用场景,因为它主要是针对低延时而设计的编解码器。
PS:VPx编解码器是Google收购ON2公司后开源的,VPx现在是WebM项目的一部分,而WebM项目是Google致力于推动的HTML5标准之一
 

 
b.  Video Jitter Buffer
视频抖动缓冲器,可以降低由于视频抖动和视频信息包丢失带来的不良影响。
 

 
c.  Image enhancements
图像质量增强模块
对网络摄像头采集到的图像进行处理,包括明暗度检测、颜色增强、降噪处理等功能,用来提升视频质量。
 

 

 

4、WebRTC核心模块API


 

(1)、网络传输模块:libjingle

WebRTC重用了libjingle的一些组件,主要是network和transport组件,关于libjingle的文档资料可以查看这里

(2)、音频、视频图像处理的主要数据结构

常量\VideoEngine\VoiceEngine

注意:以下所有的方法、类、结构体、枚举常量等都在webrtc命名空间里  

类、结构体、枚举常量

头文件

说明

Structures

common_types.h

Lists the structures common to the VoiceEngine & VideoEngine

Enumerators

common_types.h

List the enumerators common to the  VoiceEngine & VideoEngine

Classes

common_types.h

List the classes common to VoiceEngine & VideoEngine

class VoiceEngine

voe_base.h

How to allocate and release resources for the VoiceEngine using factory methods in the VoiceEngine class. It also lists the APIs which are required to enable file tracing and/or traces as callback messages

class VideoEngine

vie_base.h

How to allocate and release resources for the VideoEngine using factory methods in the VideoEngine class. It also lists the APIs which are required to enable file tracing and/or traces as callback messages


 

(3)、音频引擎(VoiceEngine)模块 APIs


下表列的是目前在 VoiceEngine中可用的sub APIs
sub-API

头文件

说明

VoEAudioProcessing

voe_audio_processing.h

Adds support for Noise Suppression (NS), Automatic Gain Control (AGC) and Echo Control (EC). Receiving side VAD is also included.

VoEBase

voe_base.h

Enables full duplex VoIP using G.711.
NOTE: This API must always be created.

VoECallReport

voe_call_report.h

Adds support for call reports which contains number of dead-or-alive detections, RTT measurements, and Echo metrics.

VoECodec

voe_codec.h

Adds non-default codecs (e.g. iLBC, iSAC, G.722 etc.), Voice Activity Detection (VAD) support.

VoEDTMF

voe_dtmf.h

Adds telephone event transmission, DTMF tone generation and telephone event detection. (Telephone events include DTMF.)

VoEEncryption

voe_encryption.h

Adds external encryption/decryption support.

VoEErrors

voe_errors.h

Error Codes for the VoiceEngine

VoEExternalMedia

voe_external_media.h

Adds support for external media processing and enables utilization of an external audio resource.

VoEFile

voe_file.h

Adds file playback, file recording and file conversion functions.

VoEHardware

voe_hardware.h

Adds sound device handling, CPU load monitoring and device information functions.

VoENetEqStats

voe_neteq_stats.h

Adds buffer statistics functions.

VoENetwork

voe_network.h

Adds external transport, port and address filtering, Windows QoS support and packet timeout notifications.

VoERTP_RTCP

voe_rtp_rtcp.h

Adds support for RTCP sender reports, SSRC handling, RTP/RTCP statistics, Forward Error Correction (FEC), RTCP APP, RTP capturing and RTP keepalive.

VoEVideoSync

voe_video_sync.h

Adds RTP header modification support, playout-delay tuning and monitoring.

VoEVolumeControl

voe_volume_control.h

Adds speaker volume controls, microphone volume controls, mute support, and additional stereo scaling methods.



 

(4)、视频引擎(VideoEngine)模块 APIs

下表列的是目前在 VideoEngine中可用的sub APIs

sub-API

头文件

说明

ViEBase

vie_base.h

Basic functionality for creating a VideoEngine instance, channels and VoiceEngine interaction.

NOTE: This API must always be created.

ViECapture

vie_capture.h

Adds support for capture device allocation as well as capture device capabilities.

ViECodec

vie_codec.h

Adds non-default codecs, codec settings and packet loss functionality.

ViEEncryption

vie_encryption.h

Adds external encryption/decryption support.

ViEErrors

vie_errors.h

Error codes for the VideoEngine

ViEExternalCodec

vie_external_codec.h

Adds support for using external codecs.

ViEFile

vie_file.h

Adds support for file recording, file playout, background images and snapshot.

ViEImageProcess

vie_image_process.h

Adds effect filters, deflickering, denoising and color enhancement.

ViENetwork

vie_network.h

Adds send and receive functionality, external transport, port and address filtering, Windows QoS support, packet timeout notification and changes to network settings.

ViERender

vie_render.h

Adds rendering functionality.

ViERTP_RTCP

vie_rtp_rtcp.h

Adds support for RTCP reports, SSRS handling RTP/RTCP statistics, NACK/FEC, keep-alive functionality and key frame request methods.

对于本博有任何问题的朋友可加QQ:992139738
分享到:
评论

相关推荐

    视频通信和视频引擎

    视频通信和视频引擎是现代信息技术领域中的重要组成部分,它们在人与人之间的远程交流、协作以及企业通信系统中发挥着至关重要的作用。视频通信技术利用网络传输,将视频和音频信号实时传递,使得用户能够看到对方,...

    视频引擎和视频通信

    这些文档共同构成了一个全面的视频引擎和视频通信资源库,从理论基础到实际应用,再到市场研究和技术发展趋势,对理解这个领域有着极大的帮助。对于开发者、技术人员和业务决策者来说,这些都是宝贵的学习和参考材料...

    WebRTC语音视频通话demo

    这个技术的核心在于提供音视频通信的基础设施,包括数据传输、音频处理、视频编码和解码以及网络传输协议等。在本“WebRTC语音视频通话demo”中,我们将探讨WebRTC如何实现网页端和移动端的语音和视频通话功能。 ...

    音视频-编解码-固件代码逆向分析关键技术研究.pdf

    "音视频-编解码-固件代码逆向分析关键技术研究.pdf" 音视频编解码固件代码逆向分析是一种复杂的技术领域,涉及到多个领域,如音视频处理、编解码、固件代码逆向分析等。本文将详细介绍音视频编解码固件代码逆向分析...

    android视频语音源码-anychat

    Anychat是这个开源项目的核心组件,它是一个专业的实时音视频通讯引擎,广泛应用于在线教育、远程医疗、游戏社交等多个领域。Anychat提供了高效稳定的音视频编码解码能力,确保了在不同网络环境下的流畅体验。 1. *...

    基于UE4的VR室内设计音视频播放的开发研究.docx

    ### 基于UE4的VR室内设计音视频播放的开发研究 #### 一、引言 随着科技的快速发展,虚拟现实(VR)技术已成为众多领域的重要组成部分之一。特别是近年来,随着用户对于沉浸式体验需求的增长,VR技术在娱乐、教育、...

    音视频编码解码资料(花钱购买)

    |--------- ffmpeg for android library anroid手机上的一个音视频编解码库 |--------- |--------- 利用Android 浏览器引擎Webkit 加载具有视频监控功能的插件,以此插件为核心模块扩展浏览器的功能,从而实现...

    音视频-编解码-基于内容的多媒体信息检索的研究.pdf

    总的来说,这篇论文深入研究了音视频编解码领域的关键技术和基于内容的多媒体信息检索的前沿技术,为多媒体信息处理和检索提供了理论基础和实践指导,对于提升多媒体信息检索效率和用户体验具有重要意义。

    文娱多媒体音视频技术.zip

    《文娱多媒体音视频技术》是深入探讨阿里巴巴文娱领域在音视频技术方面的重要资料,涵盖了媒资生产、播放技术、播控...通过深入学习这份资料,我们可以了解到音视频领域的前沿技术,为自己的工作或研究提供宝贵的参考。

    音视频-编解码-社会化媒体内容关注度分析与建模方法研究.pdf

    【音视频编解码与社会化媒体内容关注度分析】 随着互联网的发展,社会化媒体已经占据了网络的主导地位,如Facebook、Twitter和YouTube等平台。这些平台的广泛应用催生了新的信息技术研究领域,特别是关于人类社会...

    基于UE4的VR室内设计音视频播放的开发研究.pdf

    在VR室内设计中,UE4的技术优势得以充分发挥,能够构建出细腻的室内场景,同时支持音视频的无缝集成,使得用户在虚拟空间中获得沉浸式的体验。 【VR室内设计中的音视频播放】 在VR室内设计中,音视频播放是提升用户...

    音视频-编解码-社交媒体环境下消费者食品风险认知与风险传播行为研究.pdf

    【标签】: 音视频、媒体、安全、小程序 【正文】: 随着科技和经济的快速发展,社交媒体已成为人们生活的重要组成部分,它深刻地影响着人们的思维方式和行为模式,特别是在食品安全领域。此研究聚焦于社交媒体环境...

    2019-2020中国网民搜索引擎使用情况研究报告.rar

    报告标题:“2019-2020中国网民搜索引擎使用情况研究报告” 这份报告深入剖析了2019年至2020年中国网民在搜索引擎使用上的趋势、偏好以及行为模式。这一时期的搜索引擎使用情况反映了互联网技术和用户习惯的快速...

    基于流媒体视频会议移动终端的系统研究

    流媒体技术允许实时传输音视频信息,而高效的视频解码技术则能确保在有限的带宽条件下提供高质量的视频体验。VP9编解码技术被提及,它是VP8的升级版,能以更低的带宽提供更清晰、流畅的视频通信,特别适用于移动设备...

    安卓Android源码——sipdroid语音及视频通话.zip

    7. **音视频编解码器**:为了兼容不同的设备和网络条件,SipDroid可能支持多种编码格式,如G.711、Opus、VP8等。 深入分析SipDroid的源码,我们可以学习如何在Android上实现SIP功能,如何处理网络和硬件的异步事件...

Global site tag (gtag.js) - Google Analytics