WebRTC实践
文章平均质量分 87
响箭零零一
这个作者很懒,什么都没留下…
展开
-
webrtc视频采集模块
1 整体结构分析首先是从目录结构分析,视频采集模块唯一modules下,主要层级关系如下图。其中最外层是公共实现部分,包括对外API,内部数据配置参数和定义,以及具体实现部分;内部的目录中主要是对于各个平台具体的实现,如window和Linux。整个采集模块最核心的内容包括三大块:首先是对外API定义在video_capture.h描述了视频采集模块对外提供的能力。第二部分是公共实现部分video_capture_impl主要是对于公共功能的实现,数据流的控制等;第三部分是实际采集的模块,根据不同平台原创 2022-04-04 22:10:10 · 815 阅读 · 2 评论 -
webrtc整体框架
1 前言WebRTC前世今生,在2010年google收购了GlobalIpSolutions公司,并在2011年将其开源。WebRTC主要是机遇web浏览器的多媒体试试通讯技术,可以实现在没有其他中间媒介的情况下实现点对点通讯。本文主要目的是了解WebRTC的整体框架,为后续深入学习WebRTC框架打下基础。2 整体框架介绍WebRTC目前比较普遍的框架描述如下图所示,WebRTC整体架构从上到下一共分为三层,最上层是WbeAPI层,这一层是暴露给开发人员的用于开发WebRTC应用的JavaScri原创 2022-03-08 09:47:41 · 4390 阅读 · 0 评论 -
webrt环境搭建
前言webrtc源码下载比较复杂主要是需要科学上网,光是环境搭建估计就要劝退一拨人,这里主要是介绍可以访问外网情况下如何进行webrtc的源码下载和编译。1 源码下载官方源码下载地址:https://webrtc.googlesource.com/src/注意需要进行科学上网操作先。git clone https://webrtc.googlesource.com/src详细开发引导文档:https://webrtc.googlesource.com/src/+/main/docs/nativ原创 2022-03-06 21:43:12 · 3857 阅读 · 0 评论 -
webRTC之RTP封装与解封装
1 前言rtp_rtcp模块作为Webrtc组件中非常重要的组成部分,首先是对应rtp和rtcp的封装与解封装,第二部分是对QOS各种策略的支持都离不开rtcp的控制协议。这里首先进行协议封装的探讨。2 RTP协议解析各个音视频的大佬对下面这张RTP协议图应该并不陌生,这就是RTP头部协议,解析rtp主要就是为了解析头部信息,并且获取到准确的音视频数据部分。整个rtp头部至少包含12个字节,此时CSRC只有一个的情况,同时不包含扩展头部。rtp解析核心函数是RtpPacket::ParseBuff原创 2022-04-18 20:42:09 · 969 阅读 · 0 评论 -
Webrtc新增FFmpeg视频编解码模块
1 整体描述2 编码器初始化实现3 编码器编码实现4 解码器初始化实现5 解码器解码实现原创 2022-04-03 13:06:24 · 3056 阅读 · 0 评论 -
WebRTC拥塞控制原理之一基本介绍
WebRTC的拥塞控制模块使用的是基于TCP的拥塞控制算法。它是根据网络带宽和延迟等信息来自适应地调整传输速率的。具体来说,该模块采用的是基于RFC 3550中的延迟抖动调整算法的改进版本。该算法实施的基本原理是在传输的过程中定期探测网络的质量和延迟,并根据这些信息来自适应地调整传输速率。总之,WebRTC的拥塞控制模块采用了先进的自适应算法,可以在不影响通信质量的情况下尽可能地提高传输速率。这使得WebRTC成为一种非常强大和实用的实时通信技术。原创 2023-03-21 20:22:49 · 555 阅读 · 0 评论