初识WebRTC(Web Real-Time Communication)网络实时通信

news2024/11/29 8:39:45

W3C提供的WebRTC  API

英文API:http://www.w3.org/TR/webrtc/(个人建议看英文版)

中文API:http://www.iwebrtc.com/blog/webrtc1-0/(old版)

三个主要API:

MediaStream:获取音视频流

RTCPeerConnection:用以音视频数据通信

RTCDataChannel:用以任意应用数据通信

WebRTC 文档链接

This version:

WebRTC 1.0: Real-Time Communication Between Browsers

Latest published version:

WebRTC 1.0: Real-Time Communication Between Browsers

Latest editor's draft:

WebRTC 1.0: Real-Time Communication Between Browsers

Test suite:

wpt/webrtc at master · web-platform-tests/wpt · GitHub

Implementation report:

webrtc-pc interop

Previous version:

WebRTC 1.0: Real-Time Communication Between Browsers

WebRTC(Web Real-Time Communication)也被称为网络实时通信,是由 Google、Mozilla 和其他公司推动的一个开源项目,它通过 Javascript API 实现无插件的实时通信,以及在不需要中介的情况下在浏览器之间交换任意数据。

WebRTC的优点:

  • 开源、免费,开发者不需要承担高昂的专利费用
  • 基于浏览器,不需要安装插件,只要调用就可以实现音视频互动
  • 被纳入了HTML5标准,主流浏览器全面支持WebRTC
  • 不仅支持Web之间的音视频通讯,还支持Android以及IOS端,由于该项目是开源的,我们也可以通过编译C++代码,从而达到全平台的互通

WebRTC技术的诞生,有一个很重要的原因在于,在浏览器实现实时音视频通话,需要依赖相关插件或程序,而插件安全漏洞问题则更为关键。浏览器开发人员无法控制这些插件以及更新,因此插件带来的安全风险也相对较大。

例如,Adobe Flash一直以来以安全性问题闹了不少负面新闻,以至于史蒂夫·乔布斯写了一封公开信,详细说明了为何iOS从2010年就禁止了该插件。所以,Adobe于2015年停用了Flash,并宣布2020年终止服务。 WebRTC音视频传输是基于点对点传输的,实现简单的 1 对 1 通话场景,需要较少的服务器资源,借助免费的 STUN/TURN 服务器可以大大节约成本开销,到目前为止,几乎所有主要的浏览器都兼容WebRTC,包括谷歌Chrome、苹果Safari、Mozilla Firefox 、QQ浏览器、360浏览器和Microsoft Edge,除了IE浏览器外。 

WebRTC/PRTC直播效果

实拍图1:带货场景下的无延迟直播 / 手机端与PC端同步

 实拍图2:带货场景下的无延迟直播 / 手机端与PC端同步

 

 实拍图3:带货场景下的无延迟直播 / 手机端与PC端同步

  MR直播

  • MR直播实例(混合现实直播)高品质企业直播
  • 企业年会直播来个虚拟舞台场景如何?
  • MR直播(混合现实直播)做一场高品质企业培训
  • MR场景直播-帮助企业高效开展更有意思的员工培训

无延迟直播

  • 无延时直播/超低延时直播画面同步性测试(实测组图)
  • 搞定企业视频直播:硬件设备、直播网络环境和设备连接说明
  • 无延时/无延迟视频直播实例效果案例
  • OBS无延迟视频直播完整教程(组图)
  • 毫秒级超低延时直播产品实测(PRTC直播/webRTC直播)

视频加密与安全

  • 企业培训视频如何防止被下载和盗用?
  • 上新:视频加密功能增加防录屏(随机水印)功能
  • 两种实现视频倍速播放的方法(视频播放器倍速1.5x/2x)

在线导播台

  • 在线导播台(网页导播台)混流效果
  • OBS Studio导播台多画面使用实测

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

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

相关文章

C++——继承和多态常见的面试问题

目录1. 继承和多态常见的面试问题1.1 概念查考1.2 问答题1.什么是多态?2.什么是重载、重写(覆盖)、重定义(隐藏)?3.多态的实现原理?4.inline函数可以是虚函数吗?5.静态成员可以是虚函数吗?6.构造函数可以是虚函数吗&am…

国产低功耗Soc蓝牙语音遥控器芯片HS6621 指纹锁、体脂称等应用方案

随着物联网技术不断发展,家用电器往智能化方向持续迭代,使用红外遥控器这种传统的互动方式已经满足不了实际的使用需求,蓝牙语音遥控器作为人机交互新载体,逐渐取代传统红外遥控器成为家居设备的标配。 相比于传统红外遥控器&…

C语言(数组和指针存储字符串)

目录 一.数组和指针 1.字符串数组和字符数组区别 2.数组存储字符串常量 3.指针存储字符串 二.数组和指针的区别 1.常量和变量 2.修改成本 3.存储成本 一.数组和指针 1.字符串数组和字符数组区别 char ch[]"hello world",末尾存储着\0,就是字符…

RabbitMQ工作模式

目录1.Work queues工作队列模式1.1 模式说明1.2 代码1.3 测试1.4 小结2.订阅模式类型3.Publish/Subscribe发布与订阅模式3.1 模式说明3.2 代码3.3 测试3.4 小结4.Routing路由模式4.1 模式说明4.2 代码4.3 测试4.4 小结5.Topics通配符模式5.1 模式说明5.2 代码5.3 测试5.4 小结6…

使用crontab执行定时任务

本来这个东西是挺简单的,是我脑子一直没转过来弯,我就想看看有多少人跟我一样😏 crontab语法自己去菜鸟教程看看就知道了,没什么难度 需求:每分钟定时执行一个PHP文件或者一个PHP命令 这是需要执行的文件&#xff0…

《Redis实战篇》七、Redis消息队列

7.1 Redis消息队列-认识消息队列 什么是消息队列:字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色: 消息队列:存储和管理消息,也被称为消息代理(Message Broker)生产者:发送消息…

JAVA锁相关的概念和分类

JAVA对象和对象头 java中object对象一般由对象头、示例数据、填充字节三部分组成其中填充字节是为了补全对象大小为8bit的倍数而存在,没太多功能性要求对象头包括mark word和class point class point存放的是指向堆中数据类型的指针mark word是存储了许多和当前对象…

Linux配置和使用Git

本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 ​ 目录 前言 正文 注册Giett构建仓库 注册giett 构建仓库 Linux配置Git 下载Git 配置Git用户名 配置Git账户邮箱 验证是否初始化成功 生成授权证书 获…

重新认识 React Hooks useContext

通常来说,React 数据的传递方式都是一层一层把资料 props 传到子层的 就算第二层(Function Component)、第三层(Button Group Compontn) 根本没有用到这个资料,但是为了传到最底层(button) ,每一层还是必须要传props // App.js const App = () => {const [dark, setDark…

vue3:加载本地图片等静态资源

背景 在我们用 vue2 webpack 的时候&#xff0c;加载图片资源是这样用的&#xff1a; <img :src"require(/assets/test.png)" />这样打包后就会触发 file-loader 打包图片资源&#xff0c;在 dist 文件夹中就可以看到这个图片&#xff08;如果图片较小会打包…

Vue3+vite4使用mockjs进行模拟开发遇到的坑

Vue3vite4使用mockjs进行模拟开发遇到的坑 最近没那么忙了&#xff0c;就想着自己写一个后台管理系统的小demo。刚好最近把Vue3的文档撸了一遍&#xff0c;正好可以顺便练习一下Vue3ts。 插件 1、mockjs是必不可少的。 2、vite-plugin-mock。由于现在创建Vue3项目默认都使用vit…

Django框架之配置信息

静态文件 项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中&#xff0c;以方便管理。在html页面中调用时&#xff0c;也需要指定静态文件的路径&#xff0c;Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下&#xff0c…

2023年,pmp项目管理师证书有用么?难考吗?

一、这个证书含金量高么&#xff1f; 是高的&#xff0c;在项目管理或者管理领域中&#xff0c;知名度和含金量都是在前列的。看项目岗位要求&#xff1a;“PMP证书优先”&#xff0c;“”具备项目管理资质&#xff08;PMP&#xff09;优先“。 且在行业内几乎是共识了&#…

2023最新软件测试八股文,能不能拿Offer就看你背得怎样了

前言鉴于目前测试就业越来越严峻&#xff0c;内卷也成了测试领域的代名词了。我的一个HR朋友告诉我&#xff0c;由于门槛较低&#xff0c;现在普通测试岗&#xff08;偏功能&#xff09;的投递比已经将近100&#xff0c;也就是一个岗位差不多有百分简历投进来。 所以现在还想从…

【机器学习】lightGBM是什么?

梯度提升法(Gradient Boosting Machine&#xff0c;简记 GBM)以非参数方法&#xff08;不假设函数形式&#xff09;估计基函数&#xff0c;并在“函数空间”使用“梯度下降”进行近似求解。非参数方法包括K近邻法、决策树、以及基于决策树的装袋法、随机森林与提升法等。 01 梯…

MySQL-Innodb引擎事务原理

文章目录1.事务介绍2 事务特性3. 事务的实现原理4 redo log 保证持久性5 undo log 保证原子性6 MVCC 概念6.1 隐藏字段6.2 版本链6.3 ReadView6.3.1readview 版本控制规则7 隔离性 实现7.2 隔离性- REPEATABLE READ 可重复读下8 一致性1.事务介绍 事务是一组操作的集合&#xf…

Vue (4)

文章目录1. 绑定样式1.1 绑定 class 样式1.2 绑定 style 样式2. 条件渲染2.1 v-show2.2 v-if3. 列表渲染3.1 v-for3.2 key 的作用与原理3.3 列表过滤3.4 列表排序1. 绑定样式 说 绑定样式 前&#xff0c;先准备好 以下几个 样式 : <style>.basic {width: 400px;height: 1…

四数之和(详细题解:双指针+排序)

18. 四数之和 难度中等1502 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#x…

Java 魔法类 Unsafe 详解

阅读过 JUC 源码的同学&#xff0c;一定会发现很多并发工具类都调用了一个叫做 Unsafe的类。 那这个类主要是用来干什么的呢&#xff1f;有什么使用场景呢&#xff1f;这篇文章就带你搞清楚&#xff01; Unsafe 介绍 Unsafe 是位于 sun.misc 包下的一个类&#xff0c;主要提…

要发计算机SCI论文,参考文献应该怎么引用? - 易智编译EaseEditing

SCI论文发表中经常被引用的参考文献主要有以下四种。 一是关于具体的实验的方法&#xff0c;二是支持性或者有冲突的证据&#xff0c;三是比较有用的类似的文献&#xff0c;四是有历史背景的和有意义的文献。 其实归根到底&#xff0c;你引用的SCI的参考文献必须对你的论文发表…