实时音视频
  • iOS
  • Android : Java
  • macOS
  • Windows
  • HarmonyOS
  • Linux
  • Web
  • 小程序
  • Flutter
  • Electron
  • Unity3D
  • uni-app
  • React Native
  • Cocos2D
  • 产品简介
  • 下载
  • 体验 App
  • 快速开始
    • 跑通示例源码
    • 集成 SDK
    • 实现视频通话
    • 实时音视频 SDK 与实时语音 SDK 差异
  • 基础功能
  • 进阶功能
  • 最佳实践
  • 常见错误码
  • 服务端 API
  • 客户端 API
  • 常见问题

概述

更新时间:2022-07-06 18:48

极速视频(Express Video)是一款实时的音视频互动服务产品,能够为开发者提供便捷接入、高可靠、多平台互通的音视频服务。通过低至 200 ms 的端到端平均时延,业内领先的保障弱网质量的 QoS 策略,并结合强大的 3A 处理能力,完美支持一对多、多对多的实时音视频通话、直播、会议等场景。

极速视频同时为开发者提供 4 行代码全平台极速接入音视频服务的能力,能够让开发者在 30 分钟内构建出拥有完美音视频体验的产品和服务。

相关概念请参见 术语说明

1 主要功能和场景

基础功能

主要功能 功能描述 业务场景
音视频通话 用户加入同一个房间,并进行音视频通话。
  • 1v1 视频通话
  • 多人视频会议
音视频直播 同一个房间,包含主播及观众,主播可以进行音视频直播,该房间内的观众可以观看直播。
  • 秀场直播
  • 游戏直播
  • 电商直播
常用视频配置 在视频通话或直播时,自定义设置采集及播放的视频的相关配置,如视频采集分辨率、视频编码输出分辨率、视频帧率、码率、视图模式和镜像模式等。 分辨率、码率、镜像等特殊要求
视频旋转 用户使用移动设备进行直播或视频通话时,可以采用不同的视频采集方向,并且可以根据对端用户的摄像头方向的角度进行适配调整。 多类型设备视频通话、直播场景,需要最佳的视频播放角度的场景
通话前检测 在进行音视频通话或直播前,对摄像头、麦克风、显示器等进行设备检测,确保通话或直播的正常运行。 正常的通话功能检测
音视频质量检测 对音视频的质量进行检测,如分辨率、帧率、码率、采样率等多指标检测,确保质量稳定。 银行开户、远程鉴定等对音视频质量较高要求和限定的场景
混流 把多人的多路视频流混流为一路流,从而只需要拉取一条流就能看到房间内所有成员的画面,听到房间内所有成员的声音。 多人通话主播连麦
CDN 直播 支持推流到 CDN(Content Delivery Network,内容分发网络),方便用户从网页或第三方播放器直接观看和收听直播内容。 延迟要求没有特别高的直播场景
媒体播放器 提供播放音视频媒体文件的能力,并且支持将播放的媒体文件的音画数据推流出去。
  • 播放测试音频
  • 播放背景音乐
  • 播放视频文件
音效播放器 提供音效播放器,并进行音效统一管理,实现增强真实感或者烘托场景氛围播放的简短效果音的播放控制等效果。
  • 秀场直播
  • 游戏娱乐
屏幕共享 视频通话或互动直播过程中将屏幕内容以视频的方式共享给房间内的其他用户。
  • 视频会议
  • 游戏直播
水印 可以在视频画面上添加版权 Logo 等水印。 有版权的视频分享等
房间实时消息 实时消息主要提供纯文本消息的收发功能,可向同一房间内的其他用户发送广播消息和弹幕消息,或者对某些指定用户发送自定义消息,并可以根据需要自行实现点赞、送礼物、答题等互动功能。
  • 秀场直播
  • 语聊房
用户权限控制 对用户进行权限控制,如:指定用户可以进房/退房;指定用户发言/静音;指定用户。 视频会议

进阶功能

主要功能 功能描述 业务场景
直播连麦 一个房间内,可以出现多个主播,进行同屏连麦直播。
登录多房间 一个用户可以同时进入多个房间进行音视频通话或观看直播。 老师多班在线教学
同时推送多路流 一个用户可以推送多路音视频流,如分享屏幕的同时,将摄像头的视频流进行发送。 视频会议中播放 PPT 的同时,看到主讲人的画面
通过 URL 拉流 当推流端使用第三方推流工具(例如 OBS 软件、网络摄像头 IP Camera 等)将流推到 CDN 时,或通过使用 ZEGO SDK 转推 CDN 功能将音视频画面推送到第三方 CDN 上时,可使用直接传入 URL 地址的方式进行拉流。 第三方直播画面获取
录制 本地媒体录制组件提供媒体本地录制的能力,把直播过程中的音视频数据录制存储到本地文件。
  • 会议录制
  • 直播录制
媒体补充增强信息 文本信息与音视频内容打包在一起通过流媒体通道进行传输,以此实现文本数据与音视频内容的精准同步的目的。
  • 视频画面的精准布局
  • 远端歌词同步
  • 直播答题
摄像头变焦 通过 SDK 设置摄像头的变焦倍数,可实现拍摄时放大远方物体的效果。 户外直播
自定义视频采集 自定义向 ZegoExpressEngine SDK 提供视频输入源输入视频数据,并由 ZegoExpressEngine SDK 进行编码推流的功能。
  • 使用了第三方美颜厂商的美颜 SDK
  • 摄像头无法被 SDK 正常使用
  • 直播非摄像头采集的数据
自定义视频前处理 开发者自行对视频数据进行自定义的前处理。 美颜、添加挂件等操作
自定义视频编解码 可对视频的编解码进行详细设置,包括启用分层视频编码、使用硬件编解码和设置编码方式等。 对编解码有特殊要求时
自定义视频渲染 自定义视频渲染指的是 SDK 向外部提供本地预览及远端拉流的视频帧数据,供用户自行渲染。
  • App 使用了跨平台界面框架或游戏引擎
  • App 需要获取 SDK 采集或拉流的视频帧数据进行特殊处理
音频频谱与音量变化 音频频谱:即数字音频信号在各频点的能量值。
音量变化:即某条流音量的大小。
  • 判断麦上的用户谁在说话、麦克风、扬声器等是否可用
  • 音频频谱动画展示等
耳返 耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳机侧听到本设备麦克风采集的声音。
  • 秀场直播
  • 情感 FM
  • 音乐教学等较为专业场景
原始音频数据获取 获取原始音频录制的功能,获取的原始音频数据格式为 PCM。 音频数据留存或特殊处理
自定义音频采集 开发者可以自行获取音频信息后,交给 SDK 进行传输。
  • 在线或本地音频文件传输
  • 定制采集系统的音频文件进行传输
自定义音频前处理 开发者可以自行进行音频特殊处理。 有 SDK 无法满足的特殊的声音处理需求时,如特殊变声
自定义音频渲染 音频的由开发者自行渲染后进行播放。 开发者有自己的特殊渲染需求
音视频流加密 推流时对流进行加密,拉流时必须有与加密密钥一致的解密密钥。 需要加密流信息以保护通信安全的场景

特色功能

主要功能 功能描述 业务场景
游戏语音 模仿真实世界,人根据声音的方位及距离等因素,从而有不同的听觉感受,例如距离越远,声音越小等。同时可以对能接收到音源的人进行分组限定,例如房间中,分组进行讨论,不同组听不到彼此声音等。
  • 元宇宙
  • 同一房间,分组交流或对战
H.265 通过更加先进的 H.265 编码技术,在相同码率的情况下,提供更高的清晰度。 网络环境较差下需要较高的音视频通话、直播体验对带宽较为敏感
美声 通过优化音色,使声音的音色更加优美动听,如低沉、假声、清澈等。
  • 秀场直播
  • 情感 FM
  • 音乐教学
变声 通过改变用户的音调,使输出的声音在感官上与原始声音不同。如男声变女声、机器人音效、外国人音效等。
  • 匿名社交
  • 游戏娱乐
  • 角色扮演
空间塑造 模仿某一类空间带来的特殊的听觉效果,如 KTV、大会堂等。
  • 秀场直播
  • 游戏娱乐
美颜 当在视频通话或直播时,希望向对方呈现出良好的肌肤状态,可结合 AI视觉 实现美颜功能。
  • 秀场直播
  • 音视频通话
AEC(回声消除) ZEGO 业内领先技术,对采集到的音频数据进行过滤以减少音频中的回声,保障高质量语音。 所有希望有高质量实时音视频服务的场景
AGC(自动增益控制) ZEGO 业内领先技术,SDK 能够自动调节麦克风音量,适应远近拾音,保持音量稳定,保障高质量语音。 所有希望有高质量实时音视频服务的场景
ANS(降噪) ZEGO 业内领先技术,识别声音中的背景噪声并进行消除,开启该功能后可以使人声更加清晰,保障高质量语音。 所有希望有高质量实时音视频服务的场景
流量控制 ZEGO 业内领先技术。SDK 根据自己以及对端当前网络环境状态来动态调整视频推流的码率、帧率、分辨率,以及音频码率,自动适应当前网络环境及网络波动,从而保证视频能流畅发布。 所有希望有高质量实时音视频服务的场景

网络传输

主要功能 功能描述 业务场景
网络传输 QoS
实现冗余数据(FEC)和重传策略(ARQ)的动态平衡,一方面保障宽带的充分利用,另一方面不至于抢带宽造成链路自身拥塞。
全场景
网络自适应
提供端到端的全链条优化算法,能根据当前网络情况预测网速并自动进行流控,支持弱网自适应推流和拉流。
全场景
智能调节
码率和帧率的智能调节,保障了画质和流畅性的平衡效果。
全场景
抖动缓冲
在弱网环境下,利用良好的抖动缓冲策略找到延时与流畅的最佳契合点。
全场景

2 特性指标

特性 极速视频指标
SDK 包体积
Express-Video SDK 全功能安装包增量大小如下:

  • iOS(arm64):5.97 MB
  • Android(arm64):6.87 MB
  • Android(armv7):6.51 MB
  • macOS(x86_64):8.95 MB
  • Windows(x86):9.02 MB
  • Windows(x86_64):10.95 MB

以上数据为全功能 SDK 包的大小,若您对包大小有较高要求,可以联系 ZEGO 技术支持对 SDK 进行功能裁剪。

多人音视频
支持 50 路实时音视频互动。
视频质量
  • SDK 采集支持 1080p 分辨率、1 fps ~ 30 fps 帧率。
  • 低延迟:正常时延区间在 200 ms ~ 1000 ms。
音频质量
  • 音频采样率:16 kHz ~ 48 kHz。
  • 支持单、双声道。
  • 回声消除:支持 10 路同时讲话。
海量并发
全球 200 多个 BGP 节点,提供稳定的跨国内容分发网络。

3 平台兼容

极速视频支持 iOS、Android、Windows、macOS、HarmonyOS、Web、小程序并支持平台间互通,具体的兼容性要求见下表。

平台 支持版本 支持架构
iOS
9.0 或以上版本
  • arm64
  • armv7
  • x86_64(模拟器)
  • arm64(模拟器)
  • x86_64(Mac Catalyst)
  • arm64(Mac Catalyst)
Android
4.4 或以上版本
  • arm64-v8a
  • armeabi-v7a
  • x86
  • x86_64
Windows
Windows 7 或以上版本
  • x86
  • x64
Linux
任意具有 GLIBC 2.16 或以上版本的 Linux 发行版系统
  • amd64 (x86_64-linux-gnu)
  • arm64 (aarch64-linux-gnu)
  • armhf (arm-linux-gnueabihf)
  • armel (arm-linux-gnueabi)
HarmonyOS
HarmonyOS 2.0.0 或以上版本
  • arm64-v8a
  • x86_64
macOS
10.11 或以上版本
  • x86_64
  • arm64
Web
  • Chrome 58 或以上版本
  • Firefox 56 或以上版本
  • Safari 11 或以上版本
  • Opera 45 或以上版本
  • QQ 浏览器 Windows 10.1 或以上版本、macOS 4.4 或以上版本
  • 360 安全浏览器极速模式
  

更多兼容性要求,请参考 限制说明 - 浏览器兼容性说明

-
小程序
微信小程序基础库 1.7.0 或以上版本
-
Flutter
  • Flutter 1.12 或以上版本
  • iOS 9.0 或以上版本
  • Android 4.4 或以上版本
  • Windows 7 或以上版本(注意:目前 SDK 在 Windows 上仅支持音频功能,暂不支持视频功能)
  • Web: Chrome 58 或以上版本、Firefox 56 或以上版本、Safari 11 或以上版本、Opera 45 或以上版本、QQ 浏览器 Windows 10.1 或以上版本/macOS 4.4 或以上版本、360 安全浏览器极速模式
-
Electron
  • Electron 5.0.8 或以上版本
  • Windows 7 及以上 / macOS 10.11 及以上操作系统
-
uni-app
  • HBuilderX 3.0.0 或以上版本
  • iOS 9.0 或以上版本
  • Android 4.4 或以上版本
-
Unity3D
  • Unity 2018.4.21f1 或以上版本
  • Android:Android 4.4 或以上版本
  • iOS:Xcode 13.0 或以上版本,iOS 9.0 或以上版本
  • macOS:macOS 10.11 或以上版本
  • Windows:Windows 7 或以上版本
-
React Native
  • React Native 0.60.0 或以上版本
  • iOS 9.0 或以上版本
  • Android 4.4 或以上版本
-