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线程,其主要代码如下ÿ
相关文章
- 我在众多 AI 学习的分享中,找到了最强教学系列视频!
- 【c++STL——第六讲】deque系列 (常用知识点总结)
- JVM系列之:JIT中的Virtual Call
- (《机器学习》完整版系列)第5章 神经网络——5.3 SOW网络(“灯阵”面板)、Elman网络(将训练集转化时序数据)、Boltzmann机(达到Boltzmann分布)
- 微服务技术系列教程(20) - SpringCloud- 服务治理Eureka(替代方案)
- 分布式系列教程(03) -分布式Redis缓存(SpringBoot整合Redis)
- MySQL并发复制系列三:MySQL和MariaDB实现对比
- [WPF 自定义控件]自定义控件库系列文章
- 【jvm系列-01】初识虚拟机与java虚拟机
- JavaScript基础系列
- 排序算法系列之(一)——选择排序清新脱俗的一面
- iOS开发系列- 视频MPMoviePlayerController
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- WWDC21 学习系列之 Session 周一节目表含视频播放
- WWDC21 学习系列之 SwiftUI必看视频《 为 Apple Watch 构建锻炼应用程序》
- WWDC21 学习系列之 SwiftUI必看视频《watchOS 8 的新功能》
- WWDC21 学习系列之 SwiftUI必看视频《SwiftUI 新的Foundation》
- WWDC21 学习系列之 SwiftUI必看视频《SwiftUI 辅助功能:超越基础》
- WWDC21 学习系列之 SwiftUI必看视频《Swift 并发:更新示例应用》
- WWDC21 学习系列之 SwiftUI必看视频《了解适用于 macOS 的快捷方式》
- 找到任意组件实例——findComponents 系列方法
- vue3中toRaw以及markRow情况(系列八)
- 代码轻视频系列#001
- MySQL搭建系列之多实例
- Android开发系列(二十):AutoCompleteTextView(自己主动完毕文本框)的功能和使用方法
- 【第三期】初级入门Springboot+Jpa实战之注册系列视频课程-Array-专题视频课程
- 曹工说Spring Boot源码系列开讲了(1)-- Bean Definition到底是什么,附spring思维导图分享