WebRTC系列-视频VideoBroadcaster与视频流

news2024/12/31 7:10:35

文章目录

  • 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线程,其主要代码如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx网页配置工具nginxWebUI

今天应该是我们公司 2022 年最后一天上班了,给自己做个简单的年度总结吧: 1月:做核酸 2月:做核酸 3月:做核酸,半个月左右居家办公 4月:做核酸,静态管理 5月:做核酸&…

贪吃蛇基础·框架版(简单)开头有原码

更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发, 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我…

XStream < 1.4.20 栈缓冲区溢出漏洞

漏洞描述 XStream 是一个轻量级的、简单易用的开源Java类库,它主要用于将对象序列化成XML(JSON)或反序列化为对象。 在1.4.20之前的版本中存在栈缓冲区溢出漏洞,从而导致通过操纵已处理的输入流来造成拒绝服务。 在使用集合和映…

一文掌握FastDeploy Serving服务化部署(打造线上证件照制作系统,含完整代码)

目录一、概述1.1 服务化部署1.2 FastDeploy简介二、搭建线上证件照制作系统2.1 准备环境2.1.1 安装Docker2.1.2 安装NVIDIA Container Toolkit2.1.3 获取FastDeploy Serving镜像2.2 部署模型2.2.1 准备模型仓库2.2.2 编写配置文件config.pbtxt2.2.3 服务启动2.3.4 测试访问2.3 …

盒子模型、CSS 中选择器优先级以及权重计算、px、em 和 rem 的区别

CSS 的盒模型? 盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际 内容这几个部分 盒子模型分为两种 第一种是 W3C 标准的盒子模型(标准盒模型)…

微软 Outlook 如何修改邮件列表中的字体或字号

因为电脑的操作系统是默认英文的,默认的字体实在是太难看了。 解决方案 我们是可以对字体进行修改的。 例如修改成下面的方案。 选择视图 首先,先选定顶部的视图。 然后在当前的视图下,选择视图设置。 随后在弹出的窗口中,选择…

一劳永逸解决latex 80%bug

Latex编辑器也用过很多了,这种问题出现,一般就是}没对应啥的,但是这次检查了半天,就是找不到问题。 最后有一个快捷的解决方案,就是overleafhttps://www.overleaf.com/project/6347bab20a4c120392547ff3 写文章五六年…

美颜sdk是如何美化皮肤的?

当下,互联网娱乐飞速发展,一些社交拍摄的平台逐渐爆火,例如短视频和直播类平台,此类平台基本都需要真人出镜,因此大家或多或少都有些“颜值焦虑”,平台方也正是因为这个原因,开始为大家接入美颜…

Mathorcup数学建模竞赛第五届-【妈妈杯】D题:图像去噪中几类稀疏变换的矩阵表示(附特等奖获奖论文和matlab代码实现)

赛题描述 假设一幅二维灰度图像 X 受到加性噪声的干扰:Y=X+N , Y 为观察到的噪声图像, N 为噪声。通过对于图像 Y 进行稀疏表示可以达到去除噪声的目的。任务: 2. 利用 Cameraman 图像中的一个小图像块(见图 1 )进行验证。 3. 分析稀疏系数矩阵,比较四种方法…

写作历时一个月,长达8000字的年终总结——[2022年终总结]不要怕,请勇敢的向前走

个人博客:武师叔 ❤️ 做一个有趣而不甘平庸的人!!❤️ 哈喽哈喽,好久不见,我的老朋友最近还好吗 距离上次7.21凌晨1:06完稿的【年中总结】,下半年也匆匆过去啦~ 其实总的来说,下半年过得并不…

医药流通企业如何安全访问医药ERP?无需公网IP和改变现有IT架构

随着目前医药流通行业竞争的加剧,市场供应日趋饱和,传统的粗放式管理缺陷逐渐暴露,导致从事医药行业企业的利润不同程度的下滑,想要满足医药行业客户的个性化需求,为适应企业未来发展,医药流通行业越来越多…

2022 IoTDB Summit:Apache IoTDB PMC 张金瑞《为物联网场景优化的时序数据库共识协议》...

12 月 3 日、4日,2022 Apache IoTDB 物联网生态大会在线上圆满落幕。大会上发布 Apache IoTDB 的分布式 1.0 版本,并分享 Apache IoTDB 实现的数据管理技术与物联网场景实践案例,深入探讨了 Apache IoTDB 与物联网企业如何共建活跃生态&#…

再学C语言19:循环控制语句——关系运算符

关系表达式&#xff08;relational expression&#xff09;&#xff1a;进行比较的判断表达式 关系运算符&#xff08;relational operator&#xff09;&#xff1a;关系表达式中出现的运算符 一、关系运算符 关系运算符运算符含义<小于<小于或等于等于>大于或等于&…

第二十一讲:神州路由器RIP路由的配置

设备 端口 IP 子网掩码 网关 Router-A F0/0 192.168.1.1 255.255.255.0 无 F0/3 192.168.10.1 255.255.255.0 无 Router-B F0/0 192.168.1.2 255.255.255.0 无 F0/3 192.168.20.1 255.255.255.0 无 PC1 192.168.10.2 255.255.255.0 192.168.10.1 PC…

超店有数丨tiktok必备选品和带货技巧!小白秒变大神!

有一些刚刚入门的小白缺乏跨境电商选品灵感&#xff0c;苦于不知道从哪里挖掘爆款产品&#xff0c;不知如何发现热门商家。如果你也面临着这些困扰&#xff0c;可以试试超店有数&#xff0c;它是专业的第三方数据服务平台&#xff0c;能够帮助商家发现热门种草视频、进行小店数…

【C++、数据结构】二叉搜索树 模拟实现

文章目录&#x1f4d6; 前言1. 二叉搜索树2. 二叉搜索树的模拟实现2.1 结点的声明2.2 基本的几个成员函数非递归版本&#xff08;1&#xff09;查找&#xff1a;&#xff08;2&#xff09;插入&#xff1a;&#xff08;4&#xff09;删除&#xff1a;&#xff08;重点&#xff…

你阳了吗?可以接种最新加强针疫苗了!

今天不聊技术&#xff0c;唠唠嗑。刚才得知室友全部阳了&#xff0c;不知道我还能撑到多会&#x1f926;‍♂️当前时间&#xff0c;距离全国抗疫政策转向已有一个月时间&#xff0c;大家都不可避免的直面新冠病毒。奥密克戎的传播能力果然很强&#xff0c;短短半个月时间从周围…

Docker- 7.2、跨主机网络-overlay

Docker提供了overlay driver&#xff0c;使用户可以创建基于VxLan的overlay网络。VxLAN可将二层数据封装到UDP进行传输&#xff0c;VxLAN提供与VLAN相同的以太网二层服务&#xff0c;但拥有更强的扩展性和灵活性。Docker overlay网络需要一个key-value数据库用于保存网络状态信…

嵌入式C语言设计模式 --- 工厂方法模式

1 - 什么是工厂方法模式? 前一篇文章讲述了在使用简单工厂模式的时候,有一个明显的缺陷,就是我们添加一款新的LCD控制器的时候,需要修改工厂类的构造函数(因为只有一家工厂),在switch-case里面新增一个条件项,违背了面向对象设计的“开闭原则”。 为了解决这个问题,可…

让自己成为一个创作者

写博客三年多&#xff0c;创作不易&#xff0c;以下是自己的一点感悟&#xff0c;大家共勉&#xff01; “千万不要把“创作”当成是一件很大的事情&#xff0c;那只是思维方式和行为的转变而已&#xff01;” 01 — 我有个爱好--打游戏&#xff0c; 特别喜欢宫崎英高的魂系…