【WebRTC---入门篇】(三)WebRTC运行机制
轨和流
Track
轨:音频轨和视频轨是不相交的
MediaStream
媒体流:中包含多个音视频轨
WebRTC重要类
MediaStream
负责添加N个轨,加入到RTCPeerConnection
RTCPeerConnection
核心
RTCDataChannel
非音视频数据,通过RTCPeerConnection取到的
RTCPeerConnection调用过程
worker_thread:和网络无关,但是要耗时的操作在此进行
signaling_thread :所有PC Factory和PC的对外接口都会切换到此进行
network_thread:所有网络相关操作切换到此
流程:PC工厂会分别创建音视频轨(会先创建音视频源CreateSource),创建媒体流,创建PC。先将轨加入到媒体流中,(可以多个)媒体流加入到PC中可以复用同一个链接。
RTCPeerConnection调用时序
【WebRTC---入门篇】(三)WebRTC运行机制相关推荐
- WebRTC入门与实战 --- WebRTC原理与架构
上一篇我们对WebRTC进行了整体的介绍和学习,作为技术人员,我们学习过程中是要了解一个技术的原理的,接下来我们就来学习一下WebRTC的原理与架构,下边是官网的架构图: 架构图颜色标识说明: (1) ...
- java入门(1) 程序运行机制及运行过程
首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. ...
- Vue学习-基础入门篇(三万字收藏篇)
目录 前言 一.Vue介绍 1.Vue是什么 2.Vue的特点 二.Vue.js的安装 1.使用Vite创建 三.Vue声明式渲染 四.Data Property 和方法 1.Data Propert ...
- 软件测试基础理论(入门篇三)---缺陷管理理论与工具(禅道)
目录 一.软件的缺陷 二.缺陷管理 2.1 提交缺陷注意事项 2.2 缺陷的跟踪流程 三.项目管理工具之一---禅道 3.1 禅道介绍 3.1.1 基础了解 3.1.2 禅道使用流程 3.1.3测试人 ...
- 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息]
三.使用Azure AD 管理用户信息 在上一章我们采用OpenID的方案和Azure AD交互进行身份验证,本章节我们继续了解如何在Azure AD中创建用户,列出用户信息,修改用户信息和删除用户信 ...
- Kubernetes入门篇(三)——Kubernetes的对象和API
声明:这是我在大学毕业后进入第一家互联网公司学习的内容 Kubernetes 对象 在 Kubernetes 系统中,Kubernetes 对象 是持久化的实体.Kubernetes 使用这些实体去表 ...
- 算法入门篇三 详解桶排序和整理排序知识 堆的相关操作 补充 不完整
归并排序不使用递归 使用一个变量,使其按照1.2.4.8递增,控制左右两边1个元素.2个元素.4个元素等元素的合并 完全二叉树 完全二叉树 要不全是满的,要不叶子节点出现在最后一层,只要出现了叶子节点 ...
- TensorFlow入门篇(三):MNIST数据集简易分类
数据集:http://yann.lecun.com/exdb/mnist/ 环境:Python 3.7 TensorFlow 1.12 numpy 1.15.4 问题:1.增加隐藏层后,效果为何变差? ...
- mysql自动填充测试数据库_入门篇(三):通过填充器快速填充测试数据
入门篇(三):通过填充器快速填充测试数据 由 学院君 创建于2年前, 最后更新于 1年前 版本号 #3 11119 views 9 likes 0 collects 我们在前两篇教程中分别介绍了如何连 ...
- JAVA中整型常量的长度,Java基础入门篇(三)——Java常量、变量,
Java基础入门篇(三)--Java常量.变量, 一.Java常量 (一)什么是常量 常量指的是在程序中固定不变的值,是不能改变的数据.在Java中,常量包括整型常量.浮点型常量.布尔常量.字符常量等 ...
最新文章
- php按条件修改xml,php如何修改xml内容
- iOS中autolaylout和sizeclass的理解
- 架构师实践日 11.9 南京站报名 | 技术大牛带你剖析大数据平台内部演进中的挑战与实践...
- 机器学习实战笔记(Python实现)-04-Logistic回归
- 关于比较两个字节数组是否内容相同
- 转载一朋友的qq空间,感觉都是至理名言啊!
- 获取rabbitmq连接对象_NET Core使用RabbitMQ
- 关键时刻救一命:旧手机改造求生工具
- MySQL中对索引的理解 特点 优势_深入理解MySQL索引和优化
- 企业信息化有哪些好处?
- Android——USB转COM口(CH340)与传感器进行通讯
- 从零开发一款笔记APP——神马笔记WhatsNote
- Asterisk是什么?
- jQuery-什么是jQuery
- 江阴长泾/江阴各乡镇到无锡汽车客运站/无锡东站/硕放机场站快捷班车的购票方法
- 面试华为必备:华为18级大牛呕心沥血三年整理的 趣谈网络协议
- 【PS问题处理】画笔延迟较高的解决方法
- JAVA实现输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
- 互联网人的乐理基础(二)
- 虚拟机Linux安装与应用(保姆级)
热门文章
- apache jmx_用于JMX访问的Apache Ant任务
- 配置hibernate_测试Hibernate的最低配置
- jpa和hibernate_使用JPA和Hibernate有效删除数据
- 使用这些先进的GC技术提高应用程序性能
- gradle构建工具_Gradle:我们需要另一个构建工具吗?
- Neo4j:Cypher –属性值只能是原始类型或其数组
- 使用Spock Mocks进行Grails 3.3集成测试
- 1.0jpa 2.0_EasyCriteria 2.0 – JPA标准应该很容易
- mysql连接不断线_某些小时后MySql连接自动掉线
- cdh搭建hadoop集群_Hadoop宿醉:使用Apache Whirr启动hadoop集群CDH4