百家云BRTC的解决方案

随着网络实时通信技术(Web Real-Time Communication,简称WebRTC)的不断发展和普及,webRTC已成为现代互联网通讯领域的核心技术之一。它体现在方方面面比如:

  1. 实时视频通话: WebRTC 可以用于实现浏览器之间的实时视频通话,包括一对一通话和多方视频会议。

  2. 在线教育: WebRTC 提供了稳定和低延迟的实时通信,因此在在线教育平台上被广泛应用。教育者和学生可以通过视频和音频进行实时交流。

  3. 远程协作: 在远程工作和协作的环境中,WebRTC 可以用于实现团队成员之间的实时视频会议、屏幕共享和协同编辑。

  4. 医疗保健: 在远程医疗保健中,WebRTC 被用于实现患者与医生之间的远程诊断和在线咨询。

  5. 社交应用: 实时通信对于社交媒体和社交应用也是至关重要的。WebRTC 可以用于实现语音和视频通话功能。

  6. 在线直播: WebRTC 提供了实时流媒体的能力,因此在在线直播和互动直播平台上被广泛使用。

  7. 游戏实时通信: 在多人在线游戏中,WebRTC 可以用于实现玩家之间的实时语音通信和数据交换。

        百家云推出的BRTC服务则涵盖了它几乎所有的方面。百家云BRTC作为一款高度优化并深度定制的实时音视频通信解决方案,不仅完全兼容WebRTC协议标准,而且针对各类浏览器进行了深度适配与优化,无论是主流的Chrome、Firefox,还是具有自身特性的Safari,甚至是对旧版浏览器,都能确保稳定、流畅的实时通信体验。

兼容性浏览器

平台浏览器最低版本要求
Windows 7+Chrome 60+ Firefox 56+ Opera 50+ Edge 浏览器 79+ QQ 浏览器 10+ 360 安全浏览器 10+ 360 极速浏览器 12+
macOS 10+Chrome 60+ Firefox 56+ Opera 50+ Edge 浏览器 79+ 苹果 Safari 11+
Android 5.0+Chrome 60+ 华为浏览器 10+ 微信公众号/微信浏览器 7+ 内嵌 WebView 的应用(部分设备
iOS 11+苹果 Safari 11+ 微信公众号/微信浏览器 7+(仅支持接收) Chrome 60+(仅支持接收) 内嵌 WebView 的应用(仅支持接收)
iOS 14.3+苹果 Safari 11+ 微信公众号/微信浏览器 7+ Chrome 60+ 内嵌 WebView 的应用
  • iOS 14.3 以下的系统有限制,仅允许 苹果 safari 浏览器 使用麦克风、摄像头设备,不允许 其他浏览器 使用麦克风、摄像头设备,因此 iOS 14.3以下的系统中的 微信浏览器、谷歌 Chrome 浏览器中无法发布音视频流,仅支持接收音视频流
  • iOS 14.3 及以上的系统放开了设备权限,除了 苹果 safari 浏览器,其他浏览器如 微信浏览器、谷歌 Chrome 浏览器,可以申请麦克风、摄像头设备的使用权限,因此 iOS 14.3 及以上的系统中的 微信浏览器、谷歌 Chrome 浏览器 可以支持发布音视频流

iOS 平台兼容性

浏览器VP8H.264
Safari 浏览器(支持发送和接收)iOS 12.2 及以后版本iOS 11 及以后版本
微信公众号/微信浏览器 7+(支持发送和接收)iOS 14.3 及以后版本iOS 14.3 及以后版本
Chrome 60+(支持发送和接收)iOS 14.3 及以后版本iOS 14.3 及以后版本
内嵌 WebView 的应用(支持发送和接收)iOS 14.3 及以后版本iOS 14.3 及以后版本
微信公众号/微信浏览器 7+(仅支持接收)iOS 12.2 及以后版本iOS 12.1.4 及以后版本
Chrome 60+(仅支持接收)iOS 12.2 及以后版本iOS 12.1.4 及以后版本
内嵌 WebView 的应用(仅支持接收)iOS 12.2 及以后版本iOS 12.1.4 及以后版本

Android平台的兼容性

浏览器VP8H.264
Chrome 60+支持发送和接收部分设备支持发送和接收
微信公众号/微信浏览器 7+支持发送和接收部分设备支持发送和接收
内嵌 WebView 的应用部分设备支持发送和接收部分设备支持发送和接收
  • 在调用 SDK 的通信能力之前,建议您先使用 checkSystemSupport() 接口检测 SDK 是否支持当前网页
  • 如果 SDK 不支持当前浏览器,请根据用户设备类型建议用户使用 SDK 支持的浏览器
BRTC.checkSystemSupport().then(checkResult => {
  if (!checkResult.result) {
    console.log('checkResult', checkResult.result, 'checkDetail', checkResult.detail);
    // 根据用户设备类型建议用户使用 SDK 支持的浏览器
  }
})

当用户使用 checkSystemSupport() 返回的检测结果为 false 时,可能是以下原因:

情况一:请检查链接是否满足以下三种情况之一

  • localhost 域( Firefox 浏览器支持 localhost 及本地 ip 访问 )
  • 开启了 HTTPS 的域
  • 使用 file:/// 协议打开的本地文件

情况二:Firefox 浏览器安装完成后需要动态加载 H264 编解码器,因此会出现短暂的检测结果为 false 的情况,请稍等再试或先使用其他推荐浏览器打开链接

使用方式也很简单,我们先测试一个简单的demo,首先登录百家云官网,注册注册登录之后进入BRTC模块创建自己的应用。

然后是生成sig

  • Sig 是 App 用户在加入房间时采用的一种安全的鉴权方式,目的是为了阻止恶意攻击者盗用您的云服务使用权。生成 Sig 文档
  • 为了快速跑通 DEMO 您可以先使用百家云后台生成的临时 Sig 做测试
  • 建议您在生成临时 Sig 的时候在 userID 后加 0 来生成对应的 Sig。

下载demo源码

  • 在百家云后台 -> BRTC -> 开发者中心 -> 下载中心
  • 下载对应的 Demo 源码

配置demo工程文件

下面以 BRTC Demo Android 工程为例说明:

  • 解压下载的 Demo 源码包
  • 使用 Android Studio 打开源码工程
  • 在 CommonTools 的 KeyCenter.java 文件中,配置相应的 AppID 和 Sig

编译运行

  • 通过菜单命令 Sync Project and Gradle Files 同步代码
  • 点击【运行】在真机上运行 Demo App

体验demo功能

Demo 成功运行后,您将会看到按照功能模块划分的各项接口功能演示:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开源运维监控工具Uptime Kuma本地部署并结合内网穿透实现公网访问

目录 主要功能 一、前期准备 本教程环境为:Centos7,可以跑Docker的系统都可以使用本教程安装。 本教程使用Docker部署服务,如何安装Docker详见: 二、Docker部署Uptime Kuma 三、实现公网查看网站监控 四、使用固定公网地址…

网管协议SNMPv1/v2c的配置案例

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 厦门微思网络​​​​​​ https://www.xmws.cn 华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom Linux\RHCE\RHCE 9.0\RHCA\ Oracle O…

(二十四)Kubernetes系列之Helm3

Helm为kubernetes的包管理工具,就像Linux下的包管理器(yum/apt等),可以很方便的将之前打包好的yaml文件部署到kubernetes上。 1.安装访问地址:https://github.com/helm/helm/releases 点击查看最新的版本&#xff0c…

2024阿里云优惠政策解读,共4点

阿里云优惠政策有哪些?2024年阿里云优惠政策风向改了,之前一直是老用户与狗的营销策略,今年阿里云2核2G、3M固定带宽服务器99元居然开启了老用户购买权限,并且续费不涨价,阿里云这波操作确实让用户赢麻了,在…

IoC 容器总结

目录 理解 IoC 实现方式 DI 实现原理 Autowired VS Resource 区别 IoC 和 DI 有什么区别 理解 IoC IoC——控制反转,是 Spring 框架的核心概念之一,是一种设计原则和编程模式,用于实现松耦合和可测试的应用程序 控制反转:对…

多特征变量序列预测(六) CEEMDAN+CNN-Transformer风速预测模型

目录 往期精彩内容: 前言 1 多特征变量数据集制作与预处理 1.1 导入数据 1.2 CEEMDAN分解 1.3 数据集制作与预处理 2 基于Pytorch的CEEMDAN CNN-Transformer 预测模型 2.1 定义CEEMDAN CNN-Transformer预测模型 2.2 设置参数,训练模型 3 模型…

《WebKit 技术内幕》学习之八(1):硬件加速机制

《WebKit 技术内幕》之八(1):硬件加速机制 1 硬件加速基础 1.1 概念 这里说的硬件加速技术是指使用GPU的硬件能力来帮助渲染网页,因为GPU的作用主要是用来绘制3D图形并且性能特别好,这是它的专长所在,它…

现代密码学基础(2)

目录 一. 介绍 二. 举例:移位密码 (1)密文概率 (2)明文概率 三. 举例:多字母的移位密码 四. 完美安全 五. 举例:双子母的移位密码 六. 从密文角度看完美安全 七. 完美保密性质 一. 介绍…

2024年【陕西省安全员B证】免费试题及陕西省安全员B证复审考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年陕西省安全员B证免费试题为正在备考陕西省安全员B证操作证的学员准备的理论考试专题,每个月更新的陕西省安全员B证复审考试祝您顺利通过陕西省安全员B证考试。 1、【多选题】下列关于安全帽&#xf…

盘点几种有线扩展Wifi覆盖范围方式的优缺点

前言 前几天小白到一个朋友的家里,发现她家的主路由是放在玄关的。 这个方式就导致了她家三个卧室的Wifi信号都很弱。 她叫我过去帮忙弄一下网络的问题,这个对于有一点电脑知识的小伙伴来说,基本上不是什么难事,因为每个房间基本…

Windows 下ffmpeg安装及实践

Windows 下ffmpeg安装及实践 背景安装实践其他 背景 最近负责音频文件处理相关的业务,涉及到 ffmpeg 对一些音频文件格式的校验,记录一下安装过程及踩坑过程。 安装 如图1所示,进入官网,在windows下任选一个文件:h…

负债 1092.8 亿美元,苹果成全球负债第二多的科技公司丨 RTE 开发者日报 Vol.131

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

【网站项目】基于SSM的271楚师师生健康管理系统

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【数据结构】在链队列中你可能忽视的二三事

链队列及其基本操作的C语言实现 导言一、链队列二、链队列的基本操作的实现2.1 链队列的数据类型2.2 链队列的初始化2.2.1 带头结点的链队列的初始化2.2.3 不带头结点的链队列的初始化 2.3 链队列的判空2.3.1 带头结点的链队列的判空2.3.2 不带头结点的链队列的判空 2.4 链队列…

《WebKit 技术内幕》学习之七(4): 渲染基础

4 WebKit软件渲染技术 4.1 软件渲染过程 在很多情况下,也就是没有那些需要硬件加速内容的时候(包括但不限于CSS3 3D变形、CSS3 03D变换、WebGL和视频),WebKit可以使用软件渲染技术来完成页面的绘制工作(除非读者强行…

电力需求侧管理,缓解电力系统峰值压力

电力需求侧管理和电力负荷管理数字化解决方案 《电力需求侧管理办法(征求意见稿)》和《电力负荷管理办法(征求意见稿)》的出台正逢其时,结合了新型电力系统实际问题,为缓解电力供需矛盾提供了政策支持和解…

处理Synology Photos视频不生成缩略图

1、在套件中心新增一个套件 套件位置:矿神群晖SPK套件源DSM7.x by IMNKS.COM 2、安装ffmpeg 3、连接ssh,运行命令 如果没有开启ssh功能,在控制面版 - 终端机和 SNMP 命令如下: sudo -i cp /volume2/\appstore/ffmpeg/bin/ffmpe…

如何自己实现一个Spring Boot Starter

现在很多开源的组件都会提供对应的 springboot-starter 包给我们去用,要做一个 starter 包并不难。参照Spring内置的实现就好了: 1、在工程里引入 starter 打包相关的依赖。 2、在我们工程内建 spring.factories 文件,编写我们配置类的全限类…

JavaScript 学习笔记(WEB APIs Day2)

「写在前面」 本文为 b 站黑马程序员 pink 老师 JavaScript 教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容: 1. JavaScript 学习笔记(Day1) 2. JavaSc…

C# 使用System.Threading.Timer 实现计时器

写在前面 以往一般都是用 System.Timers.Timer 来做计时器,而 System.Threading.Timer 也可以实现计时器功能,并且还可以配置首次执行间隔,在功能上比System.Timers.Timer更加丰富;根据这个特性就可以实现按指定时间间隔对委托进…