文章目录
- 1. VideoBroadcaster 添加sink
- 2. VideoBroadcaster 视频数据分发OnFrame方法
在前面的文章视频的采集流程中,视频数据采集完成后到编码器之前,如果需要渲染处理那里需要两路视频,WebRTC是实现了一个视频分发器VideoBroadcaster;用来分发采集的视频帧;
这篇文章主要以iOS为例介绍VideoBroadcaster分发视频流的过程,需要强调的是iOS的本地渲染没有使用VideoBroadcaster,而是直接通过系统提供的预览类直接显示;Android和pc端的实现都是经过
VideoBroadcaster流转数据后显示;
1. VideoBroadcaster 添加sink
在VideoBroadcaster类的AddOrUpdateSink方法中断点,当peerconnection添加视频的track后,首次断点的调用堆栈如下:

这里从堆栈的最上层开始分析,在VideoRtpSender类的SetSend()方法中,主要是找到source然后切换到work线程,其主要代码如下:









![写作历时一个月,长达8000字的年终总结——[2022年终总结]不要怕,请勇敢的向前走](https://img-blog.csdnimg.cn/img_convert/521792c93ed164bdb60b45bef8593c80.png)









