zl程序教程

您现在的位置是:首页 >  其它

当前栏目

WebRTC系列-视频VideoBroadcaster与视频流

系列 视频 Webrtc 视频流
2023-09-27 14:26:28 时间


在前面的文章视频的采集流程中,视频数据采集完成后到编码器之前,如果需要渲染处理那里需要两路视频,WebRTC是实现了一个视频分发器VideoBroadcaster;用来分发采集的视频帧;
这篇文章主要以iOS为例介绍VideoBroadcaster分发视频流的过程,需要强调的是iOS的本地渲染没有使用VideoBroadcaster,而是直接通过系统提供的预览类直接显示;Android和pc端的实现都是经过 VideoBroadcaster流转数据后显示;

1. VideoBroadcaster 添加sink

VideoBroadcaster类的AddOrUpdateSink方法中断点,当peerconnection添加视频的track后,首次断点的调用堆栈如下:
在这里插入图片描述
这里从堆栈的最上层开始分析,在VideoRtpSender类的SetSend()方法中,主要是找到source然后切换到work线程,其主要代码如下ÿ