百家云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 平台兼容性

浏览器 VP8 H.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平台的兼容性

浏览器 VP8 H.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 打开源码工程
  • CommonToolsKeyCenter.java 文件中,配置相应的 AppIDSig

编译运行

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

体验demo功能

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

相关推荐
却道天凉_好个秋10 天前
WebRTC(七):媒体能力协商
webrtc
毕设做完了吗?10 天前
视频相似度检测算法(带课设报告)
人工智能·算法·机器学习·音视频
语音之家10 天前
2025年CCF先进音频技术竞赛
人工智能·音视频
音视频牛哥10 天前
音视频全链路开发实践:基于SmartMediakit的架构设计与应用实战
音视频·大牛直播sdk·rtsp播放器·rtmp播放器·安卓rtmp播放器·rtmpplayer·linux rtsp
十年编程老舅10 天前
音视频流媒体高级开发-学习路线
ffmpeg·音视频·音视频开发·音视频编解码·c++音视频·流媒体服务器·音视频学习路线
weisian15110 天前
一款强大的音视频处理工具--FFmpeg-2--常用音频处理示例
音视频·mpeg-2
9527华安11 天前
国产安路FPGA实现MIPI视频解码转HDMI输出,基于SC500摄像头,提供TD工程源码和技术支持
fpga开发·音视频·csi·mipi·dphy·安路fpga·sc500
niech_cn11 天前
微信小程序扫码添加音频播放报错{errCode:10001, errMsg:“errCode:602,err:error,not found param“}
微信小程序·小程序·音视频
扫地僧98511 天前
免费1000套编程教学视频资料视频(涉及Java、python、C C++、R语言、PHP C# HTML GO)
java·c++·音视频
dualven_in_csdn11 天前
创世新布控球 国标
音视频