webrtc 音视频数据流向

本文详细介绍了Webrtc音视频数据的处理流程,包括发送端的采集、编码及网络发送,以及接收端的收流、抖动处理和渲染等关键步骤。通过对核心流程的剖析,帮助读者理解Webrtc的工作原理。

1.分析思路切入点

音视频的处理过程是一个很典型的流水线形式,如下图所示:
在这里插入图片描述
对于一个程序来说,人员应该关注数据结构和数据的流向,这里的数据结构指的是核心的数据模型,是对业务的抽象结构,比如Linux下的进程 task_struct结构体。开发人员要清晰地知道整个程序在生命周期内的数据流向,知道数据在模块之间是怎么流动的,输入前和收入后有什么变化。

基于上面的流程图,本文分析下webrtc中核心的音视频数据流向图,希望可以给读者建立一个webrtc音视频处理过程的初步印象。

2. 音视频处理流程

运行环境是在window下,基于webrtc官方的native demo,只分析视频数据的处理过程,按照webrtc 线程处理数据的功能进行划分。

这张图是来自知乎陈子兴,清晰地概括webrtc中的线程模型,webrtc的各个模块就运行在这些线程中。
在这里插入图片描述

2.1 发送端

2.1.1 采集和前处理

独立的视频采集线程,这个线程操作包括通过libyuv进行的一些前处理过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值