视频数据由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的子类,其中平台无关的视频采集逻辑实现,主要是调用数据回调,以及进行必要的数据格

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

被折叠的 条评论
为什么被折叠?



