webrtc 视频数据流程概览

本文介绍了WebRTC视频数据从采集、编码、渲染到解码的详细流程。VideoCaptureModule采集视频,通过VideoSource和VideoBroadcaster分发给VideoEncoder进行编码并发送,或LocalPreview进行本地渲染。接收端解码后,VideoBroadcaster将数据分发给RemoteRenderer进行渲染。Windows平台使用DirectShow进行视频采集,VideoFrame对象在渲染和编码中起到关键作用。视频编解码主要使用OpenH264库,支持VP9 SVC和Simulcast技术。
摘要由CSDN通过智能技术生成

        视频数据由VideoCapture 采集后交给VideoSource,VideoSource 通过VideoBroadcaster成员,把数据发送给每个VideoSink(VideoEncoder和LoacalPreview)。VideoEncoder把视频数据编码之后交给网络层进行发送,LoacalPreview把视频数据渲染到屏幕上。

        从网络层收到视频数据后,先交给VideoEncoder LoacalPreview进行解码,解码之后交给VideoBroadcaster,最后由VideoBroadcaster分发给每个VideoSink(RemoteRenderer)。RemoteRenderer把视频数据渲染到屏幕上。

       1、视频采集

        VideoCaptureModule ,定义了启停采集(启动时设置参数)和视频数据回调的接口 RegisterCaptureDataCallback,内部还有一个DeviceInfo类,定义了获取相机设备信息的接口。

  

        webrtc::videocapturemodule::VideoCaptureImpl 是webrtc::VideoCaptureModule的子类,其中平台无关的视频采集逻辑实现,主要是调用数据回调,以及进行必要的数据格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值