接下来:10-8
附录:对于视频引擎来说重要的不是视频引擎的类,而是WebRtcVideoChannel,所有的数据流传都是以WebRtcVideoChannel为核心进行逻辑组织的。
创建WebRtcVideoChannel的过程:

一、编码器如何拿到视频分发器的数据
二、视频编码器的创建
三、总略图:包含视频编码器的编码以及把编码好的数据传递给上层回调
一、编码器如何拿到视频分发器的数据
视频编码器是如何获取分发器获得的视频数据呢,当视频编码器注册进分发器后,通过VideoStreamEncoder::OnFrame(…)这个函数来获取分发器给的视频帧数据。
通过PostTask(…)创建任务,并将任务插进队列,这个任务是一个匿名函数,主要调用MaybeEncodeVideoFrame(incoming_frame, post_time.us())函数,下面图片中这个函数名字拼写有误,这个函数在src/video/video_stream_encoder.cc中。
本文详细分析了WebRTC中视频编码器如何从视频分发器获取数据,创建过程,以及编码后数据的传递。重点讨论了VideoStreamEncoder的创建时机,编码器的选择和参数配置,以及编码器与VP8的关系。同时阐述了编码器如何通过OnFrame获取视频帧,ReconfigureEncoder创建和初始化编码器,以及EncodedImageCallback回调返回编码后的数据。
订阅专栏 解锁全文
3561

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



