jancd/qiniu-developer_ShareGPT huggingface dataset:
human: 如何处理七牛云的实时音视频基本概念

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > 基本概念

#  基本概念

最近更新时间: 2021-11-05 18:22:17

本文旨在介绍实时音视频过程中涉及到的一些基本概念。

######

# 应用

**应用** 是您在七牛云实时音视频应用中的一个业务上的划分方式，以**应用 ID(AppID)** 作为唯一的标识符。**一个 APP
或者项目使用一个应用** ，同一个 APP 的不同平台（iOS、Android、Windows、Web）可共享一个应用，无需重复创建。

您可以通过[七牛控制台](https://portal.qiniu.com/rtn/app)来进行**应用的创建和编辑**
。如果您还没有注册七牛开发者平台，具体流程请参考[七牛实时音视频云接入指南](https://doc.qnsdk.com/rtn/docs/rtn_startup)。

>   * 不同应用之间的数据不互通，房间也无法连通。
>   * 一个应用对应一个唯一的 AppID，AppID 可用于后续的排障以及 RoomToken 的签算等工作。
>

######

# 房间

**房间** 是对音视频对话空间的抽象，用于隔离不同的通话过程，保障数据的安全及独立。同一房间内的用户可以互相接收对方的音视频数据。以 `RoomName`
为标识，需满足 `^[a-zA-Z0-9_-]{3,64}$` 的规格。**加入房间需要携带RoomToken**。

>   * 当用户加入的房间不存在时，七牛后台服务会自动创建对应的房间。
>   * 若房间内的所有用户都已离开，那么房间维持空状态 10s 后将会自动关闭。
>   * 若房间为服务端创建，且创建后无用户进入，那么房间维持空状态 30s 后将会自动关闭。
>   * 若房间内的用户由于断网等原因，30s 未向七牛后台服务通信，则该用户将被视为退出房间。
>

######

# UserID

**UserID** 是实时音视频通话房间内用户的唯一标识。

>   * UserID 支持字母、数字、中划线、下划线，区分大小写。
>   * 同一房间内 UserID
> 唯一，若有重复，则根据[七牛控制台上应用](https://portal.qiniu.com/rtn/app)对自动踢人配置，做相应的处理。
>

######

# RoomToken

**RoomToken** 是加入房间需要携带的凭证信息，是基于 AppID、RoomName、UserID
以及过期时间等信息按照一定规则生成的，其具体的签算方式可参考 [RoomToken
签发服务](https://developer.qiniu.com/rtc/development_guidelines/8813/roomToken)。

######

# Track

**Track** 代表音视频通话过程中的**一条音频轨** 或者**一条视频轨** ，是音视频通话的最小单位。

>   * 一个用户可以创建多条音视频的 Track，如摄像头视频 Track、录屏视频 Track 和麦克风音频 Track 等
>   * 音频 Track 仅支持创建一路，重复创建将创建失败
>

######

# 发布

**发布** 是指将创建好的音视频 Track 对应的音视频数据推送到七牛实时音视频服务的操作，执行发布操作后，远端用户可以选择性的进行订阅观看。

> 不同于 CDN 推流，此处的发布指的是房间内的音视频数据推送，将不会产生 rtmp 的直播观看地址

######

# 订阅

**订阅** 是指向七牛实时音视频服务请求拉取远端发布的音视频数据的操作。订阅后，本地即可实时的接收远端发布的音视频数据。

> 不同于 rtmp 拉流观看，此处的订阅指的是房间内的音视频数据接收，是基于实时性更好的 RTP 协议进行传输的

######

# CDN 推流

######

## 单路转推

**单路转推** 是指将客户端推送的一路音频 Track 和一路视频 Track 在服务端直接进行协议转换，再经由 CDN
分发的场景。由于不涉及服务端转码合流的操作，因此仅会产生单路转推场景的费用，费用相关可参考[单路转推费用文档](https://developer.qiniu.com/rtc/product_introduction/8804/pd-
price#4)。更详细的说明可参考使用指南相关文档。

> 单路转推最多仅支持一路音频和一路视频的 CDN 分发，无法进行多路画面和多路音频的合流操作

######

## 合流转推

**合流转推** 是指将房间内的多路音频进行混音，多路视频进行合流，再以 rtmp 推流的形式经由 CDN
分发的场景。该场景涉及到服务端的合流操作，将会产生合流相关的费用，费用相关可参考[合流转推费用文档](https://developer.qiniu.com/rtc/product_introduction/8804/pd-
price#5)。更详细的说明可参考使用指南相关文档。

######

# 大小流

**大小流** 是指用户发布视频 Track 时，基于该 Track 推送多路不同分辨率的视频码流，订阅端用户可以根据自己的需求选择订阅该 Track
的其中一路视频流。例如本地网络较差时，可选择订阅低分辨率的流；网络较好时，则可以选择订阅高分辨率的流。更详细的说明可参考使用指南相关文档。

> 订阅时指定的 profile 仅为预期设置，实际订阅是否成功，以 Track 相关回调通知的实际结果为准。

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频SDK 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Android >SDK 概览

#  SDK 概览

最近更新时间: 2024-08-23 18:05:58

> 本文档适用于 QNDroidRTC 4.x 及以上版本的 SDK，并不向下兼容。
>
>   * [3.x 及之前版本的相关文档](https://doc.qnsdk.com/rtn/android/)
>   * [4.x
> 版本迁移指南](https://developer.qiniu.com/rtc/development_guidelines/9394/migration-
> guide-android)
>

QNDroidRTC 是七牛推出的一款适用于 Android 平台的音视频通话
SDK，提供了包括美颜、滤镜、音视频通话等多种功能，提供灵活的接口，支持高度定制以及二次开发，您可以很方便地在 Android
平台上开发出一款基于实时音视频的应用。其中包括但不限于以下场景：

  * 在线教育
  * 在线直播互动连麦
  * 视频会议
  * 一对一社交
  * 狼人杀等依赖实时音视频通话的游戏
  * 在线客服
  * 在线抓娃娃

# 下载地址

  * [Android API Demo:](https://github.com/pili-engineering/QNRTC-Android/tree/master/QNRTC-API-Examples) 最详细接口使用 Demo，提供了音视频通话、纯音频通话、CDN 转推、音频混音等不同场景的实现示例，便于您理解各个场景的实现方式。
  * [Android 体验 Demo:](https://github.com/pili-engineering/QNRTC-Android/tree/master/QNDroidRTCDemo) 会议场景 Demo，包含视频会议、音频会议、屏幕共享、大小窗口切换、CDN 转推等一系列功能场景。您可以在理解了音视频通话的主要流程后，参考该 Demo 以扩展更多的高级功能。

# 功能列表

功能| 版本  
---|---  
支持内置媒体播放器| v6.4.0(+)  
支持音视频本地录制功能| v6.2.0(+)  
支持 CDN 直推功能| v6.0.0(+)  
支持自定义音频处理功能| v5.2.6(+)  
支持语音激励功能| v5.2.6(+)  
支持 quic 协议的信令交互| v5.2.5(+)  
支持设置房间重连的超时时间| v5.2.4(+)  
提供视频编码参数的预设值接口| v5.2.4(+)  
支持设置视频在弱网下的降级模式| v5.2.3(+)  
支持设置自定义的 so 加载路径| v5.2.3(+)  
支持新的日志上报功能| v5.2.3(+)  
支持同时发布多个 QNLocalAudioTrack| v5.2.3(+)  
支持动态修改本地视频 Track 的编码参数| v5.2.1(+)  
支持设置拉伸模式进行视频渲染| v5.2.0(+)  
支持音乐，音效通过 RTC 进行本地播放| v5.2.0(+)  
支持外部音源 (PCM) 混音| v5.2.0(+)  
新增音频场景化配置功能| v5.1.3(+)  
支持创建纯音频合流转推任务| v5.1.1(+)  
支持多重音效混音| v5.1.0(+)  
支持日志上报| v3.1.0(+)  
支持回调远端音频播放器数据| v3.1.0(+)  
支持合流添加 SEI| v3.0.2(+)  
支持合流保留最后一帧| v3.0.2(+)  
支持切换图片连麦| v3.0.1(+)  
支持单路转推添加 SEI| v3.0.1(+)  
支持添加视频水印| v3.0.1(+)  
新增音频数据自定义加解密接口| v3.0.0(+)  
新增远端用户正在重连，重连成功回调| v3.0.0(+)  
新增支持远端音频 Track 音量调节| v3.0.0(+)  
新增通话模式配置接口| v2.5.0(+)  
新增支持单路转推| v2.5.0(+)  
新增支持单路视频时发送及订阅大小流| v2.5.0(+)  
支持设置自定义 DNS 服务| v2.5.0(+)  
新增通话模式配置接口| v2.5.0(+)  
音频采集数据回调，新增采样率/声道参数| v2.5.0(+)  
添加对端网络信息回调 onRemoteStatisticsUpdated()| v2.4.0(+)  
添加本地统计回调字段，rtt，networkGrade| v2.4.0(+)  
增加本地离开房间的回调| v2.4.0(+)  
新增在线接口文档| v2.4.0(+)  
支持合流背景图片设置| v2.3.1(+)  
支持音频低采样率配置| v2.3.1(+)  
支持音频软件 AEC 配置| v2.3.1(+)  
支持音频双声道| v2.3.0(+)  
支持音量大小回调| v2.3.0(+)  
支持自定义消息| v2.3.0(+)  
支持在线背景音乐混音功能| v2.3.0(+)  
支持导入多种音频格式| v2.3.0(+)  
支持背景音乐混音功能、返听功能| v2.2.0(+)  
支持蓝牙耳机通话| v2.1.0(+)  
支持单用户多路流的场景| v2.0.0(+)  
支持回调摄像头 YUV 数据功能| v1.2.0(+)  
支持外部导入音视频数据功能| v1.1.0(+)  
支持大小窗口切换功能| v1.1.0(+)  
支持屏幕录制功能| v1.0.0(+)  
支持合流参数配置| v0.2.0(+)  
支持编码镜像功能| v0.2.0(+)  
支持回调本地/远端视频数据| v0.2.0(+)  
支持回调本地/远端音频数据| v0.2.0(+)  
支持获取连麦房间统计信息（帧率、码率等）| v0.1.0(+)  
支持视频的大小窗口切换| v0.1.0(+)  
支持纯音频互动| v0.1.0(+)  
支持丰富的消息回调| v0.1.0(+)  
支持自动重连| v0.1.0(+)  
支持视频尺寸配置| v0.1.0(+)  
支持视频码率的配置| v0.1.0(+)  
支持帧率配置| v0.1.0(+)  
支持静音功能| v0.1.0(+)  
支持踢人功能| v0.1.0(+)  
支持三方美颜、滤镜、面部特效| v0.1.0(+)  
内置美颜功能| v0.1.0(+)  
支持内置音视频采集，带闪光灯、摄像头切换、自动/手动对焦等常见功能| v0.1.0(+)  
基本的音视频通话功能| v0.1.0(+)  
  
以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频SDK 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > iOS >SDK 概览

#  SDK 概览

最近更新时间: 2024-05-31 16:03:27

> 本文档适用于 QNRTCKit 5.x 及以上版本的 SDK，并不向下兼容。
>
>   * [3.x 及之前版本的相关文档](https://doc.qnsdk.com/rtn/ios)
>   * [5.x
> 版本迁移指南](https://developer.qiniu.com/rtc/development_guidelines/11949/migration-
> guide-iOS-v5)
>

QNRTCKit 是七牛推出的一款适用于 iOS 平台的音视频通话
SDK，提供了包括美颜、滤镜、水印、音视频通话等多种功能，提供灵活的接口，支持高度定制以及二次开发，您可以很方便地在 iOS
平台上开发出一款基于实时音视频的应用。其中包括但不限于以下场景：

  * 在线教育
  * 在线直播互动连麦
  * 视频会议
  * 一对一社交
  * 狼人杀等依赖实时音视频通话的游戏
  * 在线客服
  * 在线抓娃娃

# 下载地址

  * [iOS API Demo：](https://github.com/pili-engineering/QNRTC-iOS/tree/master/QNRTC-API-Examples)最详细接口使用 Demo，提供了音视频通话、纯音频通话、CDN 转推、音频混音等不同场景的实现示例，便于您理解各个场景的实现方式
  * [iOS 1v1 Demo：](https://github.com/pili-engineering/QNRTC-SampleCode-Video-Basic/tree/master/One-On-One-Video/One-On-One-Video-iOS)最简单的 SDK 接口使用 Demo，便于您理解音视频通话的核心流程以及核心接口的使用方式。
  * [iOS 体验 Demo：](https://github.com/pili-engineering/QNRTC-iOS/tree/master/QNRTCKitDemo)会议场景 Demo，包含视频会议、音频会议、屏幕共享、大小窗口切换、CDN 转推等一系列功能场景。您可以在理解了音视频通话的主要流程后，参考该 Demo 以扩展更多的高级功能。

# 功能列表

功能| 版本  
---|---  
支持音视频本地录制| v6.2.0(+)  
SDK 稳定性优化| v6.1.0(+)  
音频弱网 QoS 优化| v6.1.0(+)  
支持直推 CDN| v6.0.0(+)  
支持更多外部音频格式导入| v5.2.7(+)  
支持麦克风启动开关及错误回调| v5.2.7(+)  
CustomAudioTrack 支持混音功能| v5.2.6(+)  
支持 pc 重连超时、mcu 获取超时时间| v5.2.6(+)  
支持语音激励| v5.2.6(+)  
支持软件回音消除| v5.2.6(+)  
支持信令 quic| v5.2.5(+)  
支持 mcu 备用域名设置| v5.2.5(+)  
支持软件编码| v5.2.5(+)  
支持编码预设配置| v5.2.4(+)  
支持重连超时配置| v5.2.4(+)  
支持视频降级默认值区分场景| v5.2.4(+)  
支持本地和远端视频 stats 回调宽高信息| v5.2.4(+)  
支持切换摄像头结果回调| v5.2.3(+)  
支持摄像头采集运行过程中发生错误回调| v5.2.3(+)  
支持设置视频在弱网下的降级模式| v5.2.3(+)  
支持日志文件上传| v5.2.3(+)  
支持音频场景配置| v5.2.3(+)  
支持发布多音频 Track| v5.2.3(+)  
支持动态修改编码配置| v5.2.1(+)  
支持通话模式开关| v5.2.0(+)  
支持推流固定分辨率| v5.2.0(+)  
支持音乐、音效及音源 RTC 本地播放| v5.2.0(+)  
支持多 PCM 混音| v5.2.0(+)  
支持多重音效混音| v5.1.0(+)  
支持获取本地或远端音频数据音量等级| v4.0.3(+)  
支持跨房间场景用户角色| v4.0.1(+)  
支持跨房间媒体转发| v4.0.1(+)  
支持合流 SEI| v3.0.2(+)  
支持延迟停止单路转推| v3.0.1(+)  
支持延迟停止合流| v3.0.1(+)  
支持视频 SEI| v3.0.1(+)  
支持麦克风音量调节| v3.0.1(+)  
支持摄像头 Track 发送图片| v3.0.1(+)  
支持编码数据加密传输| v3.0.0(+)  
支持编码自定义拓展数据传输| v3.0.0(+)  
支持远端音频播放音量调节| v3.0.0(+)  
支持大小流传输| v2.5.0(+)  
支持单路转推| v2.5.0(+)  
支持配置 RTC 与其他音频同时播放| v2.3.1(+)  
支持双声道音频| v2.3.0(+)  
支持音量大小回调| v2.3.0(+)  
支持自定义消息| v2.3.0(+)  
支持背景音乐混音功能| v2.2.0(+)  
支持使用 TCP 传输媒体流| v2.2.0(+)  
支持本地/远端画面截帧| v2.1.0(+)  
支持使用蓝牙耳机通话| v2.1.0(+)  
支持扬声器/听筒切换| v2.1.0(+)  
支持音视频分别发布| v2.0.0(+)  
支持发布多路视频| v2.0.0(+)  
支持外部导入数据（可用于录屏）| v1.0.0(+)  
支持回调本地音频数据| v0.2.0(+)  
支持回调远端音频数据| v0.2.0(+)  
支持回调远端视频数据| v0.2.0(+)  
支持编码镜像| v0.2.0(+)  
支持合流参数配置| v0.2.0(+)  
支持后台连麦| v0.1.0(+)  
支持纯音频连麦| v0.1.0(+)  
支持硬件编码| v0.1.0(+)  
支持码率上下限配置| v0.1.0(+)  
支持多分辨率编码| v0.1.0(+)  
支持回调本地视频数据| v0.1.0(+)  
支持实时美颜滤镜| v0.1.0(+)  
支持第三方美颜滤镜| v0.1.0(+)  
支持水印功能| v0.1.0(+)  
支持踢人功能| v0.1.0(+)  
支持静音功能| v0.1.0(+)  
支持自动/手动对焦| v0.1.0(+)  
支持实时状态回调| v0.1.0(+)  
支持回调连麦房间统计信息| v0.1.0(+)  
支持丰富的连麦消息回调| v0.1.0(+)  
  
以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频开发准备

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > iOS >开发准备

#  开发准备

最近更新时间: 2023-03-10 10:52:54

本文主要介绍开发前的准备工作，包括设备、系统及开发环境的要求等。

# 设备以及系统要求

  * 设备要求：iPhone 5s 及以上
  * 系统要求：iOS 9.0 及以上

# 开发环境

  * Xcode 开发工具。[App Store下载地址](https://itunes.apple.com/cn/app/xcode/id497799835?ls=1&mt=12)
  * 安装 CocoaPods。[了解 CocoaPods 使用方法](https://guides.cocoapods.org/)

# 版本升级需知

  * v5.0.0 版本起，去除 HappyDNS.framework
  * v5.1.0 版本起，开始使用 FFmpeg，版本号为 v4.1

> 注意：会与其它同样使用 FFmpeg 的 SDK 产生符号重复。为避免冲突，建议相同的依赖库只保留一份。
>
> 一般 Xcode Build 时，不会提示符号重复。但程序运行时，会出现崩溃。可在 “Build Settings” -> “Other Linker
> Flags” 下添加 “-all_load” 选项，将使 Xcode Build 时，提示具体是哪个 SDK 存在符号重复。

# 导入实时音视频 SDK

## 通过 CocoaPods 导入

[CocoaPods](https://cocoapods.org/) 是针对 Swift 和 Objective-C 的依赖管理工具，它能够将使用类似
QNRTCKit-iOS 的第三方库的安装过程变得非常简单和自动化，您能够用下面的命令来安装它：

    
    
    $ sudo gem install cocoapods
    

### Podfile

为了使用 CocoaPods 集成 QNRTCKit-iOS 到您的 Xcode 工程当中，您需要编写您的 `Podfile`

    
    
    target 'TargetName' do
    pod 'QNRTCKit-iOS'
    end
    

默认为真机版，若需要使用模拟器 + 真机版，则改用如下配置

    
    
    pod "QNRTCKit-iOS", :podspec => 'https://raw.githubusercontent.com/pili-engineering/QNRTC-iOS/master/QNRTCKit-iOS-universal.podspec'
    

> 注意：鉴于目前上架 App Store 时只支持动态库真机版本，请在 App 上架前更换至真机版本。

然后，运行如下的命令：

    
    
    $ pod install
    

## 手动导入

[点击下载](https://github.com/pili-engineering/QNRTC-iOS/tree/master/Pod)相应版本的
SDK，将下载好的动态库文件 QNRTCKit.framework 导入到您的 Xcode 工程当中。

动态库链接到工程中的方式，如下所示：

  * **Step 1:**

右键当前项目文件夹，选择 `Add Files to xxx` ![](https://docs.qnsdk.com/iOS-QNRTCKit-
prepare-1.png)

  * **Step 2:**
    * 选中 `Destination` 的 `Copy items if needed`
    * 选中 `Added folders` 的 `Create groups`
    * 选中 `Add to targets` 中需要引入 SDK 的 Target
    * 找到刚下载好的 QNRTCKit.framework
    * 点击 `Add`

![](https://docs.qnsdk.com/iOS-QNRTCKit-prepare-2.png)

  * **Step 3:**

在项目工程配置 `General` 中将两个 SDK 的 `Embed` 设置为 `Embed & Sign`
![](https://docs.qnsdk.com/iOS-QNRTCKit-prepare-3.png)

  * **Step 4:**

在需要使用的类中引入头文件

    
    
    #import <QNRTCKit/QNRTCKit.h>
    

> 注意：
>
> 1）如果运行后程序 crash，报错信息标识**动态库无法找到`image not found`**，说明 SDK 没有正常
> Embed，可以按文档流程重新引入一次。示例中使用的 xcode 版本为 Version 13.1 (13A1030d)，其他版本 xcode
> 的动态库引入方式可能会有差异。
>
> 2）从 v5.1.0 起，请务必在工程配置 “Build Phases” -> “Link Binary With Libraries” 下添加
> libbz2.tbd、libiconv.tbd、libz.tbd 系统配置库。

# 添加相关权限

我们需要在 Info.plist 文件中添加相应权限的说明，否则程序在 iOS 10 及以上系统会出现崩溃。需要添加如下权限：

  * 麦克风权限：Privacy - Microphone Usage Description 是否允许 App 使用麦克风
  * 相机权限：Privacy - Camera Usage Description 是否允许 App 使用相机

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频SDK 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Web >SDK 概览

#  SDK 概览

最近更新时间: 2024-06-20 19:23:04

# SDK 介绍

这是一款适用于 Web 平台的七牛实时音视频 SDK，提供了包括音视频通话、静音、发布、订阅等多种功能，基于此 SDK，您可以很方便地在 Web
上开发出一款基于实时音视频的应用。  
其中包括但不限于以下场景

  * 在线教育
  * 主播观众连麦
  * 视频会议
  * 一对一社交
  * 狼人杀等依赖实时音视频通话的游戏
  * 在线客服
  * 在线抓娃娃

您可以访问 [Demo页面](https://demo-rtc.qiniuapi.com) ，体验我们最新的 Demo 效果。（请使用最新版 Chrome
浏览器）

# SDK 功能列表

以下是 SDK 截止到最新版本所提供的功能列表

功能| 版本  
---|---  
基本的音视频通话功能| v0.1.0  
支持内置音视频采集| v0.1.0  
支持 Typescript| v0.1.0  
支持踢人功能| v0.1.0  
支持静音功能| v0.1.0  
支持帧率配置| v0.1.0  
支持视频尺寸配置| v0.1.0  
支持自动重连| v0.1.0  
支持丰富的消息回调| v0.1.0  
支持音视频码率的配置| v0.1.1  
支持 USB 外置媒体设备| v0.1.1  
支持配置服务端合流| v0.2.0  
支持本地音视频采集数据的回调| v0.2.0  
支持远端音视频渲染数据的回调| v0.2.0  
支持主流浏览器| v1.0.0  
支持屏幕/窗口分享| v1.0.0  
支持外部音频导入| v1.0.0  
支持单用户多流的场景| v2.0.0  
支持动态订阅| v2.0.0  
支持录制屏幕捕获声音| v2.3.0  
支持发送文本消息| v2.3.0  
支持视频大小流| v2.3.1  
支持 Safari 屏幕共享| v2.4.1  
支持切换图片 track| v2.4.1  
  
以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频开发准备

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Web >开发准备

#  开发准备

最近更新时间: 2022-06-08 16:46:46

# 接入之前

> **浏览器只允许 localhost 或者 https 页面访问媒体设备(摄像头等)，请先检查确保在该环境下运行 SDK。**

# 接入流程

在开始编写代码之前，请先确认您已经对这个产品有了大概的了解，并且已经完成了
[七牛实时音视频云接入流程](https://developer.qiniu.com/rtc/10155/process)。

> 当您已经可以随时生成实时音视频云的 RoomToken 时（在控制台手动生成，或者调用后端生成都可以）, 就认为完成了接入流程，可以准备开发工作了

# 引入 SDK

我们提供了两种方式引入方式，您可以直接下载 JS 文件，也可以通过 `npm` 完成引入

## NPM 安装

运行下方的命令即可通过 `npm` 引入我们的 SDK

    
    
    npm install --save qnweb-rtc
    

如果想要更新到最新版本或者指定版本，运行下列命令

    
    
    npm install --save qnweb-rtc@latest  # 最新版本
    npm install --save qnweb-rtc@4.0.0   # 指定版本
    

> 我们更加推荐您使用 [yarn](https://yarnpkg.com/zh-Hans/) 来管理 npm 模块  
>  通过 `yarn add qnweb-rtc` 引入 SDK，通过 `yarn add qnweb-rtc@latest` 来更新版本

安装好后，运行以下代码访问 SDK 的入口

    
    
    import QNRTC from "qnweb-rtc";
    
    console.log("current version is", QNRTC.VERSION);
    

运行时看到打印的 `current version` 表示引入成功

> 注意！我们默认提供的是 **没有 polyfill** 的 [ECMAScript 5](https://www.ecma-
> international.org/ecma-262/5.1/) 代码。

## 直接导入 JS 文件

每次发布版本，我们都会将最新的 SDK JS 文件放在我们的 [Github](https://github.com/pili-
engineering/QNRTC-Web/blob/master/Release/qnweb-rtc.js) 上，点击链接即可获取当前最新的 SDK JS
文件。 所以，每次想要升级版本时，只需要访问我们的 [Github](https://github.com/pili-engineering/QNRTC-
Web/blob/master/Release/qnweb-rtc.js) 页面，然后替换一下自己的 js 文件即可。

> 如果想要使用特定版本的 SDK，可以访问我们 Github 的 [Release](https://github.com/pili-
> engineering/QNRTC-Web/releases) 页面查看。

SDK 的 JS 文件在导入页面后，会自动创建一个全局对象 `QNRTC`，这个对象的成员包括了 SDK 所导出的所有模块和对象。

    
    
    // 当页面资源加载完成后
    window.onload = () => {
      console.log("current version is", QNRTC.VERSION);
    }
    

运行时看到打印的 `current version` 表示引入成功。

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频浏览器兼容性说明

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Web >浏览器兼容性说明

#  浏览器兼容性说明

最近更新时间: 2022-01-05 15:25:02

# 概述

WebRTC 是一个支持网页浏览器进行实时语音对话或视频对话、进行实时数据传输的一组 JavaScript API。

七牛 RTC Web SDK 使用了 WebRTC 技术实现实时音视频功能。因此，SDK 是否可用，依赖于当前浏览器对 WebRTC API
的支持情况。目前 WebRTC 主要在桌面端的 Chrome、 Firefox️、Safari 等浏览器，以及移动端的 Safari
浏览器上有较为完整的支持。本文将分别介绍桌面端和移动端的浏览器兼容性情况。

> 由于平台和一些应用内置浏览器的实现各不相同，无法涵盖所有浏览器，因此在通话前建议先对浏览器兼容性支持情况做检测，具体检测方法参考
> [浏览器兼容性检测](https://developer.qiniu.com/rtc/10232/check-system-requirements)。

# 桌面浏览器

目前七牛 RTC Web SDK在桌面端支持的浏览器及版本如下：

> 当前桌面浏览器中，Chrome 对 WebRTC API 的支持情况最好，建议使用最新版本的 Chrome 浏览器。

操作系统 | 浏览器 | 版本兼容性 | 拉流 | 推流 | 屏幕共享  
---|---|---|---|---|---  
MacOS | Safari 浏览器 | 11.0 或以上版本 | ✔️ | ✔️ | ✔️（Safari 13 或以上版本支持）  
Chrome 浏览器 | 56.0 或以上版本 | ✔️ | ✔️ |  ✔️（Chrome 72 或以上版本支持）   
Firefox 浏览器 | 56.0 或以上版本 | ✔️ | ✔️ | ✔️（Firefox 66或以上版本支持）  
Edge 浏览器 |  80 或以上版本 | ✔️ | ✔️ | ✔️  
微信内置浏览器 | —— | ✔️ | ✔️ | ✖️  
  
Windows  
  
  
  
| Chrome 浏览器 | 56 或以上版本 | ✔️ | ✔️ | ✔️（Chrome 72 或以上版本支持）  
Firefox 浏览器 | 56 或以上版本 | ✔️ | ✔️ | ✔️（Firefox 66 或以上版本支持）  
QQ浏览器 | 10.4 或以上版本 | ✔️ | ✔️ | ✖️  
Edge 浏览器 | 80或以上版本支持 | ✔️ | ✔️ | ✔️  
微信内置浏览器 | —— | ✔️ | ✖️ | ✖️  
  
# 移动浏览器

## Android

目前七牛 RTC Web SDK 在 Android 上支持的浏览器情况如下：

操作系统 | 浏览器 | 拉流 | 推流 | 屏幕共享  
---|---|---|---|---  
  
  
Android  
  
  
| Chrome浏览器 | ✔️ | ✔️ | ✖️  
UC 浏览器（不支持） | ✖️ | ✖️ | ✖️  
Firefox 浏览器 | ✔️ | ✔️ | ✖️  
QQ 浏览器 | ✔️ | ✔️ | ✖️  
企业微信浏览器 | ✔️ | ✔️ | ✖️  
微信内置浏览器 （X5内核） | ✔️ | ✔️ | ✖️  
  
> 以上列表中提供的浏览器可以大致表明兼容性情况，但由于Android
> 设备上浏览器情况比较复杂，不同手机产商对自带浏览器内核或多或少做出改动，所以无法保证自带浏览器能够很好地支持 WebRTC，建议开发者使用 Chrome
> 浏览器。
>
> 也可结合上面提到的[浏览器兼容性检测](https://developer.qiniu.com/rtc/10232/check-system-
> requirements)方法，在使用之前先进行检测，通过测试之后再允许用户使用。

## iOS

目前七牛 RTC Web SDK 在 iOS 上支持的浏览器情况如下：

操作系统 |  浏览器 |  版本兼容性 |  拉流 |  推流 |  屏幕共享  
---|---|---|---|---|---  
操作系统 |  浏览器 |  版本兼容性 |  拉流 |  推流 |  屏幕共享  
iOS 11.0.1 或以上版本 | Safari浏览器 | 11.0 或以上版本 | ✔️ | ✔️ | ✖️  
iOS 12.1.4 或以上版本 | Chrome 浏览器 | —— | ✔️ | ✖️ | ✖️  
iOS 12.1.4 或以上版本 | Edge浏览器 | —— | ✔️ | ✖️ | ✖️  
iOS 12.1.4 或以上版本 | 微信内置浏览器 | —— | ✔️ | ✖️ | ✖️  
iOS 12.1.4 或以上版本 | 企业微信内置浏览器 | —— | ✔️ | ✖️ | ✖️  
iOS 14.3 或以上版本 | Chrome 浏览器 | —— | ✔️ | ✔️ | ✖️  
iOS 14.3 或以上版本 | 微信内置浏览器 | 推荐最新版本 | ✔️ | ✔️ | ✖️  
iOS 14.3 或以上版本 | Edge 浏览器 | —— | ✔️ | ✔️ | ✖️  
  
以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频SDK 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Windows >SDK 概览

#  SDK 概览

最近更新时间: 2022-11-11 16:42:29

## 概述

QNRTCWin 是七牛云推出的一款适用于 Win7 及以上版本 Windows 平台的实时音视频 C++
SDK，提供了灵活的接口，支持高度定制以及二次开发。

## 场景介绍

QNRTCWin 适用于一对一、一对多、多对多的实时语音聊天、唱歌、教学、医疗等场景，同时可与其它平台 Android、iOS、Web、Linux
等平台互通。

## 下载地址

  * [Windows Demo 以及 SDK 下载地址](https://github.com/pili-engineering/QNRTC-Windows)

## 功能列表

功能| 版本  
---|---  
增加 Intel 和 Nvidia 硬件编码功能| v3.1.0(+)  
支持对 D3D 窗口的捕获能力| v3.1.0(+)  
sei 支持 uuid 设置| v3.1.0(+)  
桌面共享支持帧率设置| v3.1.0(+)  
合流支持停止时保持最后一帧功能| v3.0.2(+)  
增加单路转推成功的回调| v3.0.2(+)  
支持摄像头切换图片连麦| v3.0.1(+)  
支持添加自定义SEI 功能| v3.0.1(+)  
支持合流时单独设置 Track 填充模式| v3.0.1(+)  
支持设置渲染窗口画面填充模式| v3.0.1(+)  
支持对外部视频进行裁剪和缩放功能| v3.0.1(+)  
支持摄像头采集数据镜像功能| v3.0.1(+)  
增加远端用户重连中/重连成功消息通知| v3.0.0(+)  
增加音频加解密功能| v3.0.0(+)  
增加 dns 域名解析功能| v3.0.0(+)  
增加是否开启 qos 信息回调的接口| v3.0.0(+)  
增加单路转推是否为内部推流设置| v3.0.0(+)  
新增大小流功能| v2.4.0(+)  
新增单路转推功能| v2.4.0(+)  
新增收发自定义消息功能| v2.3.0(+)  
新增画面旋转功能| v2.3.0(+)  
摄像头采集画面新增裁剪和缩放的功能| v2.3.0(+)  
添加对端网络信令回调字段：远端用户 track 丢包率，远端用户 rtt| v2.3.0(+)  
添加本地统计回调字段：本地 rtt| v2.3.0(+)  
新增 unpublish 的回调| v2.3.0(+)  
新增创建自定义合流任务功能| v2.2.0(+)  
新增对外部编解码器的支持| v2.1.0(+)  
新增回声消除的动态开关| v2.1.0(+)  
新增 64bit 版本的支持| v2.1.0(+)  
新增媒体传输策略配置| v2.1.0(+)  
支持同时订阅多路视频 Track| v2.0.0(+)  
支持 I420 视频数据的剪裁| v1.1.0(+)  
支持其它原始数据格式转换为 I420 格式| v1.1.0(+)  
支持外部音频数据导入| v1.0.0(+)  
支持外部视频数据导入| v1.0.0(+)  
支持屏幕、窗口的采集| v1.0.0(+)  
支持视频渲染镜像功能| v1.0.0(+)  
基本的音视频通话功能| v0.2.0(+)  
支持纯音频通话| v0.2.0(+)  
支持物理和虚拟摄像头采集| v0.2.0(+)  
支持踢人功能| v0.2.0(+)  
支持音频调节功能| v0.2.0(+)  
支持视频帧率配置| v0.2.0(+)  
支持视频码率的配置| v0.2.0(+)  
支持视频尺寸配置| v0.2.0(+)  
支持网络自动重连| v0.2.0(+)  
支持获取通话质量统计信息| v0.2.0(+)  
支持房间状态回调| v0.2.0(+)  
支持本地音视频采集数据的回调| v0.2.0(+)  
支持远端音视频渲染数据的回调| v0.2.0(+)  
支持音视频设备插拔事件的回调| v0.2.0(+)  
  
以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频开发准备

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Windows >开发准备

#  开发准备

最近更新时间: 2022-11-11 16:42:47

## 开发语言以及系统要求

  * 开发语言：C++14
  * 系统要求：Windows 7 及以上版本的 Windows 系统

## 开发环境

  * [Visual Studio 2017](https://www.visualstudio.com/zh-hans/vs/older-downloads/) 或 [Qt Creator](http://download.qt.io/archive/qt/)
  * Windows Platform

## 导入 SDK

将下载好的 SDK 拷贝到你的工程目录中 `$(ProjectDir)`，添加 `$(ProjectDir)Release\include`
到头文件引用目录，添加 `$(ProjectDir)Release\lib` 到依赖库查找目录中，并拷贝 `QNRtcStreaming.dll`
工程运行目录下，然后在代码中通过静态加载的方式加载 SDK 库，如下：

    
    
    #include "QNRTCClientInterface.h"
    #include "QNRTCInterface.h"
    #include "QNTrackInterface.h"
    #include "QNErrorCode.h"
    
    using namespace qiniu_v2;
    
    #pragma comment(lib, "QNRtcStreaming.lib")
    

## 编译运行

编译运行，验证以上配置是否正确，如果运行时提示缺少
`XXX.dll`，则说明以上目录配置错误，需再检查下目录配置，以及动态库是否被拷贝至应用程序的工作目录。

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频SDK 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Linux >SDK 概览

#  SDK 概览

最近更新时间: 2022-07-13 23:53:33

## 概述

QNRTC-Linux 是七牛云推出的一款适用于 Linux 平台的实时音视频 C++ SDK，提供了灵活的接口，支持高度定制以及二次开发。

## 场景介绍

QNRTC-Linux 适用于一对一、一对多、多对多的实时语音聊天、唱歌、教学、医疗等场景，同时可与其它平台 Android、iOS、Web、Windows
等平台互通。

## 下载地址

  * [Linux Demo 以及 SDK 下载地址](https://github.com/pili-engineering/QNRTC-Linux)

## 功能列表

功能| 版本  
---|---  
支持多重混音功能| v5.1.0(+)  
支持 arm_linux_gnueabihf 架构| v5.0.2(+)  
支持外部视频 h264| v5.0.1(+)  
增加单路转推成功的回调| v5.0.0(+)  
支持摄像头切换图片连麦| v5.0.0(+)  
支持合流时单独设置 Track 填充模式| v5.0.0(+)  
支持摄像头采集数据镜像功能| v5.0.0(+)  
增加远端用户重连中/重连成功消息通知| v5.0.0(+)  
新增大小流功能| v5.0.0(+)  
新增单路转推功能| v5.0.0(+)  
新增收发自定义消息功能| v5.0.0(+)  
新增创建自定义合流任务功能| v5.0.0(+)  
新增回声消除的动态开关| v5.0.0(+)  
支持同时订阅多路视频 Track| v5.0.0(+)  
支持外部音频数据导入| v5.0.0(+)  
支持外部视频数据导入| v5.0.0(+)  
基本的音视频通话功能| v5.0.0(+)  
支持纯音频通话| v5.0.0(+)  
支持音频调节功能| v5.0.0(+)  
支持视频帧率配置| v5.0.0(+)  
支持视频码率的配置| v5.0.0(+)  
支持视频尺寸配置| v5.0.0(+)  
支持网络自动重连| v5.0.0(+)  
支持获取通话质量统计信息| v5.0.0(+  
支持房间状态回调| v5.0.0(+  
支持本地音视频采集数据的回调| v5.0.0(+  
支持远端音视频渲染数据的回调| v5.0.0(+)  
  
以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频开发准备

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Linux >开发准备

#  开发准备

最近更新时间: 2022-06-15 16:57:31

## 开发语言以及系统要求

  * 开发语言：C/C++
  * 系统要求：Linux 平台

## 开发环境

  * Ubuntu 16.04+
  * CMake
  * GCC5 及以上

> 用户可根据自己的开发习惯或环境自由选择开发方式，以下章节只介绍基于 `CMake` 生成 `Makefile`的开发配置。

## 导入 SDK

  * 将 `Release/linux/include` 复制到自己的头文件目录
  * 将 `Release/linux/lib` 目录添加到项目库搜索路径

## 编译运行 Demo

    
    
    cd src/linux/RtcDemo
    chmod a+x build.sh
    # x86_64
    ./build.sh x86_64
    # arm_linux_gnueabihf
    ./build.sh arm_linux_gnueabihf
    

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频SDK 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > WXApp >SDK 概览

#  SDK 概览

最近更新时间: 2022-03-04 10:22:24

这是一款适用于 微信小程序 的七牛实时音视频 SDK，提供了包括音视频通话、静音、发布、订阅等多种功能，基于此 SDK，您可以在 小程序
上开发出一款基于实时音视频的应用。 其中包括但不限于以下场景

  * 在线教育
  * 主播观众连麦
  * 视频会议
  * 一对一社交
  * 狼人杀等依赖实时音视频通话的游戏
  * 在线客服
  * 在线抓娃娃

您可以扫以下二维码 ，体验我们最新的 Demo 效果。

![](https://docs.qnsdk.com/v4-demo-qrcode.png)

# 微信兼容性

Android| iOS  
---|---  
7.0.0| 7.0.0  
  
# SDK 功能列表

以下是 SDK 截止到最新版本所提供的功能列表

功能| 版本  
---|---  
基本的音视频通话功能| v4.0.1  
合流和自定义消息| v4.0.1  
单路转推| v4.0.1  
订阅主讲的共享画面| v4.0.1  
控制合流发布显示模式相关问题| v4.0.1  
支持静音功能| v4.0.1  
  
以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频开发准备

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > WXApp >开发准备

#  开发准备

最近更新时间: 2022-03-21 19:10:35

# 开始之前

  1. 请先确认您已经对这个产品有了大概的了解，并且已经完成了[七牛实时音视频云接入流程](https://developer.qiniu.com/rtc/8802/pd-overview)。
  2. 请先了解小程序开发，阅读 [微信小程序开发者文档](https://developers.weixin.qq.com/miniprogram/dev/index.html) 。
  3. 请在微信小程序后台 -> 开发 -> 开发设置 -> 服务器域名配置中，将 `wss://rtmpgate.cloudvdn.com` 加到 socket 合法域名中，将 `https://pili-rtc-qos.qiniuapi.com` 添加到 request 合法域名中。
  4. 在小程序的开发后台打开实时播放/录制音视频流的开关（小程序后台 -> 开发 -> 接口设置）。

# 引入 SDK

### NPM 安装

    
    
    npm install --save qnwxapp-rtc
    

### SDK 引入

> 引入之后必须点击 微信开发者工具 > 工具 > 构建 npm 方可使用。关于在小程序中使用 npm 包，详情见微信官方文档 [npm
> 支持](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html) 。
    
    
    import { QNRTC } from 'qnwxapp-rtc'
    
    console.log(QNRTC.VERSION)
    
    const client = QNRTC.createClient()
    
    

### 引入组件

接下来，在页面的 `wxml` 中引入 [live-
pusher](https://developers.weixin.qq.com/miniprogram/dev/component/live-
pusher.html) 和 [live-
player](https://developers.weixin.qq.com/miniprogram/dev/component/live-
player.html)。

    
    
    <view>
      <live-pusher mode="RTC" url="..."></live-pusher>
      <live-player mode="RTC" src="..."></live-player>
    </view>
    

> **注意** ： 如果您需要在微信开发者工具上跑通我们的 demo ，请先在 demo 目录下执行 `npm install` ，然后点击
> 微信开发者工具 > 工具 > 构建 npm 即可。

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频SDK 概览

gpt: [实时音视频](https://developer.qiniu.com/rtc) > 快速入门 > Uniapp >SDK 概览

#  SDK 概览

最近更新时间: 2023-12-18 15:10:40

> 具体 demo 可见 [github](https://github.com/pili-engineering/QNRTC-
> Uniapp/tree/main/demo) 仓库，该 demo 已集成 **前端 SDK** 与 **原生 SDK** ，直接制作自定义基座，填写
> **iOS** 或 **Android** 证书，即可运行。

**QNRTC-Uniapp** 是基于 **[UNIAPP](https://uniapp.dcloud.io/)** 、 **[QNRTC-
Android](https://developer.qiniu.com/rtc/8764/an-overview-of-the-android-
sdk)** 以及 **[QNRTC-iOS](https://developer.qiniu.com/rtc/8830/an-overview-of-
the-ios-sdk)** 三者所实现的。前端可通过 **QNRTC-Uniapp** 所提供的 **JS 插件** 与 **Native 插件**
调用原生 `Android` 以及 `iOS` 的 RTC 接口来实现实时音视频通话。

其中包括但不限于以下场景

  * 在线教育
  * 主播观众连麦
  * 视频会议
  * 一对一社交
  * 狼人杀等依赖实时音视频通话的游戏
  * 在线客服
  * 在线抓娃娃

# SDK 功能列表

以下是 SDK 截止到最新版本所提供的功能列表

功能| 版本  
---|---  
支持视频 SEI| v1.0.0  
支持摄像头 Track 发送图片| v1.0.0  
支持编码数据加密传输| v1.0.0  
支持远端音频播放音量调节| v1.0.0  
支持大小流传输| v1.0.0  
支持单路转推| v1.0.0  
支持配置 RTC 与其他音频同时播放| v1.0.0  
支持音量大小回调| v1.0.0  
支持自定义消息| v1.0.0  
支持使用 TCP 传输媒体流| v1.0.0  
支持使用蓝牙耳机通话| v1.0.0  
支持扬声器/听筒切换| v1.0.0  
支持音视频分别发布| v1.0.0  
支持发布多路视频| v1.0.0  
支持回调本地音频数据| v1.0.0  
支持回调远端音频数据| v1.0.0  
支持回调远端视频数据| v1.0.0  
支持编码镜像| v1.0.0  
支持合流参数配置| v1.0.0  
支持后台连麦| v1.0.0  
支持纯音频连麦| v1.0.0  
支持硬件编码| v1.0.0  
支持码率上下限配置| v1.0.0  
支持多分辨率编码| v1.0.0  
支持回调本地视频数据| v1.0.0  
支持实时美颜滤镜| v1.0.0  
支持水印功能| v1.0.0  
支持踢人功能| v1.0.0  
支持静音功能| v1.0.0  
支持自动/手动对焦| v1.0.0  
支持实时状态回调| v1.0.0  
支持回调连麦房间统计信息| v1.0.0  
支持丰富的连麦消息回调| v1.0.0  
支持混音功能| v1.0.1  
支持多重混音功能| v5.2.7  
支持跨房连麦| v5.2.7  
  
以上内容是否对您有帮助？