# 实时音视频 SparkRTC > 低时延、高并发、安全可靠的音视频通话服务 ## 服务公告 - [版本规划](https://support.huaweicloud.com/bulletin-rtc/rtc_14_0001.md): 本章节为您介绍实时音视频服务(SparkRTC)客户端SDK的版本支持机制。版本号格式为a.b.c.d,其中:a为大版本号:在版本架构重构的情况下更新。b为小版本号:在重大特性或接口变更的情况下更新。c为月度开发版本号:月度累加。d为release版本号:300开头表示第一个release版本号,补丁版本累加。版本号样例:2.0.9.30 - [【下线公告】实时音视频服务下线客户端SDK](https://support.huaweicloud.com/bulletin-rtc/rtc_14_0002.md): 华为云实时音视频服务计划于2025年6月30日,完全下线客户端SDK,届时此功能将无法再为老用户提供维护和升级能力,新用户不再支持接入。下线区域:所有区域。如您正在使用客户端SDK功能,建议您及时处理完成已有业务,及时备份和保存已有音视频数据,以避免SDK不再维护和升级可能带来的影响。客户端SDK功能下线后,相关文档说明也会同步下线。如您 ## 产品介绍 - [什么是实时音视频?](https://support.huaweicloud.com/productdesc-rtc/rtc_01_0001.md): 华为云实时音视频服务(SparkRTC)凭借在视频业务领域长期技术积累,快速为行业提供高并发、低延迟、高清流畅、安全可靠的全场景、全互动、全实时的音视频服务,适用于在线教育、云会议、社交文娱等场景。实时音视频 客户端SDK:提供Android、iOS、Windows、Web等平台的SDK,方便用户快速集成开发音视频通话、互动直播等功能。实 - [产品优势](https://support.huaweicloud.com/productdesc-rtc/rtc_01_0002.md): 提供覆盖全球的高质量、大规模的实时音视频网络。 自研高效调度算法,具有全网调度能力。丰富的节点资源储备,保证端到端平均时延小于200ms。基于华为30年音视频编解码能力和优异弱网对抗能力80%丢包下音频通话流畅,50%丢包下视频通话流畅。提供覆盖iOS、Android、Windows、macOS、Web等各平台,兼容适配各类终端。完善示例 - [应用场景](https://support.huaweicloud.com/productdesc-rtc/rtc_01_0003.md): 丰富的一对一教学、小班课、大班课等多种解决方案,轻松构建高品质互动教学体验。高清、低时延、高并发直播,易集成,可快速部署到在线教育视频平台。零距离互动新玩法,助力业务创新、流量变现。适用于网红直播、企业直播、娱乐直播、游戏直播等场景,提供功能强大的实时媒体处理能力,实现各种直播场景玩法,为客户和合作伙伴打造端到端一站式“音视频互动”解决方 - [产品功能](https://support.huaweicloud.com/productdesc-rtc/rtc_01_0004.md): 华为云SparkRTC支持的主要功能如下。关于各功能支持的地域(Region)信息,可通过控制台查询详情。即1对1或多人视频通话,支持720P及以上高清画质。单个房间最多支持2000人同时在线,最高支持500人互动。常见场景:1对1视频通话、视频会议、在线问诊、多人视频聊天、视频客服、视频双录、在线理赔等。即1对1或多人语音通话,单个房间 - [使用限制](https://support.huaweicloud.com/productdesc-rtc/rtc_01_0005.md): 在使用实时音视频前,您需要了解本服务的使用限制。 - [常用概念](https://support.huaweicloud.com/productdesc-rtc/rtc_01_0007.md): 应用标识或应用ID,简称appID,是SparkRTC用来区分不同应用的唯一标识,在SparkRTC控制台中创建应用时自动生成。房间是一个音视频空间,同一房间内的用户可以互相接收对方的实时音视频数据。SparkRTC使用房间这个虚拟的概念,用于用户之间的相互隔离。只有在同一个房间里的用户才可以相互接收音视频。房间ID的命名规则:可自定义, - [计费说明](https://support.huaweicloud.com/productdesc-rtc/rtc_01_0008.md): 华为云实时音视频服务的计费详情,请提交工单咨询。 ## 快速入门 - [入门指引](https://support.huaweicloud.com/qs-rtc/rtc_02_0001.md): 如需开通购买SparkRTC服务,请提交工单处理。SparkRTC的入门操作流程说明如表1所示。 ## 用户指南 - [功能介绍](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0004.md): 在实时音视频控制台,您可以快速进行应用的创建、编辑等管理。同时,还提供了音视频互动质量指标监控服务,方便您进行数据分析。 - [应用管理](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0001.md): 您可以在实时音视频控制台创建应用并查询应用的基本信息,应用创建后,您可以使用应用对应的App ID和域名进入互动频道。首次使用华为云实时音视频服务,请先提交工单联系华为云技术客服进行业务咨询。停用或删除应用会导致业务不可用,请谨慎处理。参数配置说明,如表1所示。应用成功创建后,您可以在应用列表中查看到新创建的应用信息,包括应用名称、应用I - [配置录制规则](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0006.md): SparkRTC服务支持将实时音视频互动内容进行录制并将录制的内容存储到OBS桶中,您可以在OBS服务中对录制的音视频文件进行下载、分享等处理。相关操作流程,如图1所示。创建桶:创建用于存储SparkRTC录制文件的OBS桶,若已有OBS桶,请直接执行2。云资源授权:在SparkRTC服务中对存储录制文件的OBS桶进行授权,允许Spark - [配置录制回调](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0007.md): SparkRTC服务提供了录制任务状态回调设置,支持配置HTTP/HTTPS URL,向用户服务器发送POST请求,将录制任务状态信息实时反馈到用户服务器。请求:HTTP POST请求,请求Body的内容为JSON格式。应答:HTTP STATUS CODE = 200,应答内容为JSON格式,用户可以根据实际需求自定义应答内容。示例如下 - [通话调查](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0010.md): 您可以查看各房间的用户通话质量指标详情,对通话体验和端到端数据进行问题定位和原因分析,有效解决通话质量问题。“通话调查”中的数据仅供数据分析和质量问题查询,计费数据请以账单为准。由于统计数据需要时间,可能会有5分钟以内的延迟。支持查询的时间跨度最长为14天。支持查询最近24小时的实时数据。通话调查中提供的数据包括:设备状态,包括APP C - [数据洞察](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0011.md): 您可以通过查看通话用量和质量数据,了解通话用量和质量的总体趋势、不同维度的分布情况和每天的数据明细。“数据洞察”中的数据仅供数据分析和质量问题查询,计费数据请以账单为准。支持查询最近90天的历史数据。支持查询的时间跨度最长为31天。用量:支持查看通话时长、房间与用户数据统计、用户通话用量区域分布,以及通话用户所使用的网络类型、操作系统和S - [实时数据](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0012.md): 您可以查看音视频通话的规模、体验、网络指标的实时数据和分析图表,实时掌握项目整体动态,及时识别异常通话体验和异常根因。“实时数据”中的数据仅供数据分析和质量问题查询,计费数据请以账单为准。由于统计数据需要时间,可能会有5分钟以内的延迟。支持查询最近24小时的实时数据。支持查询的时间跨度最长为24小时。看板:展现项目的实时在线规模、质量水平 - [自动诊断](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0013.md): 您可以实时查看应用下所有通话体验异常的用户信息及异常明细数据,快速识别通话异常的类型和影响因素。由于统计数据需要时间,可能会有5分钟以内的延迟。支持查询最近24小时的实时数据。支持查询的时间跨度最长为24小时。诊断数据图表中可查看的信息主要包含不同异常类型的用户数据、不同异常影响因素的分布和所有通话体验异常的用户详情。总览-RTC展示不同 - [用量统计](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0003.md): 您可以根据应用名称查询近90天的音视频互动时长。“用量统计”非实时刷新,每5分钟统计一次,数据展示可能会有5分钟左右的延迟。支持最大查询跨度31天,最大查询周期90天。您也可以通过在“应用管理”页面的“操作”列,单击“用量”跳转到“用量统计”页面进行查看。统计图中展示了不同分辨率档位(标清/高清/超清)的视频通话时长和纯语音通话时长统计数 - [云资源授权](https://support.huaweicloud.com/usermanual-rtc/rtc_04_0008.md): 您可以将OBS桶授权给SparkRTC服务,允许录制文件存储在OBS桶中。授权的OBS桶所在区域必须为华北-北京四。因录制生成的视频文件是存储在OBS服务中的,因此,您需要先开通OBS服务,具体请参见OBS快速入门。已在OBS服务中创建用于存储录制文件的OBS桶,若未创建,请参见OBS帮助中心创建桶。您也可以通过在“添加录制规则”页面的“ ## 最佳实践 - [概述](https://support.huaweicloud.com/bestpractice-rtc/rtc_08_0008.md): 华为云实时音视频服务提供的云端录制回放功能适用于需要将音视频通话或互动直播过程进行录制和存储的业务场景。云端录制功能包含两种模式,如表1所示。 - [单流录制](https://support.huaweicloud.com/bestpractice-rtc/rtc_08_0009.md): 将房间中的每一个用户的音视频流分别录制成独立的文件。SparkRTC提供的单流录制支持自启动模式,即单流自动录制,具体的实现机制如下图所示。创建OBS桶:创建用于存储SparkRTC录制文件的OBS桶,若已有OBS桶,请直接执行2。由于单AZ桶的可靠性低于多AZ桶,为避免因OBS服务异常导致录制失败,建议您创建多AZ桶用于录制文件的存储。 - [合流录制](https://support.huaweicloud.com/bestpractice-rtc/rtc_08_0010.md): 将房间中的多路音视频进行云端混流,再将混合后的音视频流录制成一个文件。在合流录制模式下,支持分屏九宫格模板和共享屏幕模板(主视窗居左/主视窗居右)两种预设合流布局。同时,也支持用户自定义合流布局样式(自定义视频窗格位置)。九宫格模板每个用户画面平铺在画布上,大小一致。根据用户数量,动态调整每个画面的大小和位置。最多支持25个画面。不同人数 - [环境准备](https://support.huaweicloud.com/bestpractice-rtc/rtc_08_0071.md): 详情请参考开发前准备。 - [屏幕分享](https://support.huaweicloud.com/bestpractice-rtc/rtc_08_0011.md): 屏幕共享用于在音视频会议中,把一个与会者的屏幕内容,以视频的方式分享给其他与会者。加入房间参考接口调用流程中加入房间的时序图步骤加入房间。参考接口调用流程中加入房间的时序图步骤加入房间。共享桌面加入房间后可以调用setAuxiliaryVideoEncoderConfig设置编码参数,其中HRTCVideoAuxiliarEncParam - [通话中质量监测](https://support.huaweicloud.com/bestpractice-rtc/rtc_08_0012.md): 加入频道后,SDK会每隔2秒自动触发通话质量相关的回调,上报当前本地和远端的音视频统计信息。通话质量上报onNetworkQualityNotify,房间内客户端网络质量实时上报,默认开启,每2s上报一次,两人以上才会回调。@Override public void onNetworkQualityNotify(List0:失败。具体请参见客户端错误码。0:成功。>0:失败。具体请参见客户端错误码。成功加入房间发送音频流后才能调用,默认为发送本地音频流。【功能说明】设置是否接收对应远端用户的音频流。【请求参数】userId:用户ID。 - [视频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0016.md): 【功能说明】创建渲染视图。【请求参数】context:上下文。【返回参数】创建的渲染视图。【功能说明】设置本地窗口显示模式,镜像模式。【请求参数】displayMode:显示模式,具体请参见HRTCVideoDisplayMode。mirrorMode:镜像模式,具体请参见HRTCVideoMirrorType。【返回参数】0:成功。>0 - [屏幕共享](https://support.huaweicloud.com/csdk-rtc/rtc_05_0017.md): 【功能说明】开启屏幕共享。【返回参数】0:成功。> 0:失败。具体请参见客户端错误码。0:成功。> 0:失败。具体请参见客户端错误码。Android 5.0及以上版本支持此功能。使用时,在AndroidManifest.xml中需添加如下约束。 0:方法调用失败。具体请参见HWRtcErrorCode。0:方法 - [房间功能](https://support.huaweicloud.com/csdk-rtc/rtc_05_0055.md): 【功能说明】加入房间。该方法让用户加入通话房间。如果已在通话中,用户必须调用leaveRoom退出当前通话,才能进入下一个房间。【请求参数】joinParam:用户信息,具体请参见HWRtcJoinParam。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。0:方法调用成功。> 0:方法调用失败 - [音频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0056.md): 【功能说明】设置是否关闭本地音频流发送。【请求参数】mute:YES表示关闭音频流发送,NO表示开启音频流发送。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。默认开启本地音频发流。关闭本地音频发流,不影响本地音频采 - [视频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0057.md): 【功能说明】设置是否开启摄像头采集视频。【请求参数】enable:YES表示开启,NO表示关闭。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。默认开启本地视频采集,关闭不会影响视频流发送。远端用户订阅了本端用户时, - [辅流管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0058.md): 【功能说明】当远端开启屏幕共享,本地接收到远端屏幕共享开启并通过onUserAuxiliaryStreamAvailable回调得到消息后,设置屏幕辅流窗口视图并开始选看(发起辅流选看)。【请求参数】streamView:视图信息,具体请参见HWRtcVideoCanvas。streamType:编码类型,具体请参见HWRtcStream - [屏幕共享](https://support.huaweicloud.com/csdk-rtc/rtc_05_0059.md): 【功能说明】开启屏幕共享功能。【请求参数】无【返回参数】0:成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。0:成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。目前可支持多路辅流共享,若需开启多辅流,请提交工单联系技术支持处理。共享成功后会触发onScreenShareStarted回调。开启成功, - [音效文件播放管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0060.md): 如不集成hwffmpeg.framework,接口则只有startAudioFile/stopAudioFile/pauseAudioFile/resumeAudioFile生效,回调则只有onStartAudioFile/onStopAudioFile/onPauseAudioFile/onResumeAudioFile生效,且star - [检测功能](https://support.huaweicloud.com/csdk-rtc/rtc_05_0061.md): 【功能说明】会前网络质量开启测试,房间外调用,要等探测结束后才能加入房间。【请求参数】netWorkTestConfig:检测配置,具体请参见HWRtcNetworkTestConfig。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。会触发onNetworkTestQuality、onNetw - [自定义音频采集和渲染](https://support.huaweicloud.com/csdk-rtc/rtc_05_0062.md): 【功能说明】设置是否开启外部音频采集。需要在加入房间前调用。【请求参数】enable:YES表示开启,NO表示关闭。默认为NO。sampleRate:音频采样率,支持16k、24k、32k、44.1k、48k采样率。channels:音频声道数,1表示单声道,2表示双声道。enable:YES表示开启,NO表示关闭。默认为NO。sampl - [自定义视频采集和渲染](https://support.huaweicloud.com/csdk-rtc/rtc_05_0063.md): 【功能说明】设置是否开启外部视频采集。需要在加入房间前调用。【请求参数】enable:YES表示开启,NO表示关闭。默认为NO。format:设置外部采集的视频格式,默认为I420(即yuv420P)。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。加入房间前调用,不支持房间内切换。视频支持格式 - [设备管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0064.md): 【功能说明】设置声音播放模式。成功加入房间后才能调用。【请求参数】speakerModel:声音播放模式,具体请参见HWRtcSpeakerModel。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。只支持iphone。【功能说明】设置相机的相关参数,如默认使用的摄像头方向【请求参数】confi - [事件回调(HWRtcEngine)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0065.md): 本章节介绍了iOS/Mac SDK的回调接口HWRtcEngineDelegate的详情。【功能说明】成功加入房间,触发此回调。【回调参数】roomId:新加入的房间ID。userId:新加入房间的用户ID。roomId:新加入的房间ID。userId:新加入房间的用户ID。【功能说明】加入房间失败,触发此回调。【回调参数】errorCo - [接口总览](https://support.huaweicloud.com/csdk-rtc/rtc_05_0067.md): 本章节介绍了iOS/macOS SDK的HWRtcConnection接口详情。HWRtcConnection按照其功能可分类为:初始化等基础接口、房间功能、视频管理、屏幕共享、音频管理。单击下图中相应接口名称,可快速跳转到相应接口位置查看其使用方法。 - [初始化等基础接口](https://support.huaweicloud.com/csdk-rtc/rtc_05_0068.md): 【功能说明】注销引擎。【请求参数】无【返回参数】无【功能说明】根据roomId获取connection实例。【请求参数】roomId:房间ID。【返回参数】返回对应的跨房对象。【功能说明】使能视频前后处理。【请求参数】observer:代码对象 要求实现HWRtcConnectionVideoDelegate协议。【返回参数】0:方法调用 - [房间功能](https://support.huaweicloud.com/csdk-rtc/rtc_05_0069.md): 【功能说明】加入房间。该方法让用户加入通话房间。如果已在通话中,用户必须调用leaveRoom退出当前通话,才能进入下一个房间。【请求参数】joinParam:用户信息,具体请参见HWRtcJoinParam。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。0:方法调用成功。> 0:方法调用失败 - [音频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0070.md): 【功能说明】设置是否接收对应远端用户的音频流。【请求参数】userId:远端用户的userid,唯一标识。muted:YES表示取消订阅,NO表示订阅。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。【功能说明】设置是否接收所有用户的音频流。【请求参数】mute:YES表示取消订阅,NO表示订阅 - [视频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0071.md): 【功能说明】设置远端用户窗口,并开启收流。【请求参数】remote:远端预览视图,具体请参见HWRtcVideoCanvas。streamType:视频分辨率,具体请参见HWRtcStreamType。disableAdjustRes:禁用分辨率自适应,默认关闭。YES表示关闭,NO表示开启。若关闭,在网络环境较差情况下可能会出现卡顿现象 - [辅流管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0072.md): 【功能说明】开启辅流渲染视图(发起辅流选看)【请求参数】view: 具体请参见HWRtcVideoCanvas【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。收到onUserAuxiliaryStreamAvailable消息后,获取对应的userId。多辅流场景,一个用户同时只能订阅一条辅流; - [媒体原始数据管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0073.md): 【功能说明】注册原始视频媒体数据监听回调。【请求参数】HWRtcConnectionVideoDelegate:原始视频数据处理接口代理。具体请参见HWRtcConnectionVideoDelegate 。【返回参数】0:成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。0:成功。> 0:方法调用失败。具体请参见HW - [事件回调(HWRtcConnection)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0074.md): 本章节介绍了iOS/macOS SDK的回调接口HWRtcConnectionDelegate的详情。【功能说明】成功加入跨房房间,触发此回调。【回调参数】connection:跨房引擎。userId:新加入房间的用户ID。connection:跨房引擎。userId:新加入房间的用户ID。【功能说明】加入房间失败,触发此回调。【回调参数 - [注册回调(IHRTCMediaEngine)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0076.md): 【功能说明】注册原始视频媒体数据监听回调。【请求参数】HWRtcMediaEngineVideoDelegate:原始视频数据处理接口代理。具体请参见HWRtcMediaEngineVideoDelegate。【返回参数】0:成功。> 0:方法调用失败。具体请参见HWRtcErrorCode。0:成功。> 0:方法调用失败。具体请参见HW - [事件回调(HWRtcMediaEngineVideoDelegate)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0077.md): 本章节介绍了iOS SDK的回调接口HWRtcMediaEngineVideoDelegate的详情。【功能说明】原始视频回调,从接口回调中取到原始视频数据以作前处理。【回调参数】HWRtcVideoFrame:视频数据格式 ,具体请参见HWRtcVideoFrame。【返回参数】YES:处理结果成功。NO:处理结果失败。YES:处理结果 - [事件回调(HWRtcMediaEngineAudioDelegate)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0078.md): 本章节介绍了iOS SDK的回调接口HWRtcMediaEngineAudioDelegate的详情。【功能说明】需要播放的音频数据回调,从接口回调中取到音频数据以作后处理。【回调参数】HWRtcAudioFrame :音频数据格式,具体请参见HWRtcAudioFrame。【返回参数】YES:处理结果成功。NO:处理结果失败。YES:处 - [HWRtcReplay](https://support.huaweicloud.com/csdk-rtc/rtc_05_0079.md): 【功能说明】生成HWRtcReplay单例对象。【请求参数】无。【返回参数】无【功能说明】通过appGroup启动HWrtcReplay。在sampleHandle类中的broadcastStartedWithSetupInfo:接口内调用。【请求参数】appGroup :appGroupID。delegate:回调对象,具体请参见HWR - [客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0080.md): 本章节介绍了iOS/macOS SDK的客户端错误码HWRtcErrorCode的详细信息。 - [服务端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0081.md): 当SDK运行出现网络、媒体相关等错误时,SDK无法自动恢复,需要APP干预或进行用户提示。该错误码由服务端产生,通过onError返回。 - [数据类型](https://support.huaweicloud.com/csdk-rtc/rtc_05_0082.md): 本章节列出了iOS/macOS SDK的所有数据类型,您可以结合HWRtcEngine接口和回调进行开发。设备信息,macOS SDK使用。设备类型,MAC SDK使用。设备状态,MAC SDK使用。 - [事件回调(HWRtcReplay)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0083.md): 本章节介绍了RtcEngineReplayKitExt SDK回调接口HWRtcReplayDelegate的详情。【功能说明】录屏结束回调。【回调参数】无 - [常见问题](https://support.huaweicloud.com/csdk-rtc/rtc_05_0084.md): iOS平台如何缩减安装包体积?对于iPhone 5s及以上版本的手机支持只打包arm64架构,可以在XCode的Build Setting < Build Active Architecture Only设置为YES,并将Valid Architectures只写arm64,则SparkRTC SDK可压缩一半的体积。对于iPhone 5 - [修订记录](https://support.huaweicloud.com/csdk-rtc/rtc_05_0085.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [Android](https://support.huaweicloud.com/csdk-rtc/rtc_05_0088.md): 已提交工单获取SDK包。OHOS SDK需要集成到APP工程中,建议您在如下推荐环境中进行集成开发。准备DevEco,推荐使用4.0.0(10) SDK及以上。准备Android运行环境:API 21、Android 5.0以上设备。支持的终端CPU架构:armeabi-v7a、arm64-v8a。手机的CPU架构可通过以下方式查询。手机 - [iOS](https://support.huaweicloud.com/csdk-rtc/rtc_05_0089.md): 已提交工单获取SDK包。准备XCODE集成开发。准备iOS 8.0及以上的iPhone真机。支持的终端CPU架构:arm64,arm32。 - [Mac](https://support.huaweicloud.com/csdk-rtc/rtc_05_0090.md): 已提交工单获取SDK包。准备XCODE集成开发环境。准备MAC设备,支持macOS 10.11以上的设备。支持的终端CPU架构:x86_64。支持dylib和framework两种包集成。若Header Search Paths和Library Search Paths中文件位置不对,可以将XCODE对应文件夹直接拖过来即可。 - [Windows](https://support.huaweicloud.com/csdk-rtc/rtc_05_0091.md): 已提交工单获取SDK包。准备集成开发环境,建议使用Microsoft Visual Studio 2015或以上版本。支持Windows 7或以上版本的Windows设备。支持的平台:x86 release。头文件目录lib文件目录 - [SDK使用](https://support.huaweicloud.com/csdk-rtc/rtc_05_0092.md): 以下为集成SDK进行实时音视频互动直播的基本流程:appId获取方法请参见创建应用。m_engineEventHandler:引擎回调句柄,指定一个回调事件。SDK通过指定的事件通知应用程序的运行事件,如加入或离开房间等,具体请参见事件回调(IHRTCEngine)。engineInfo:结构体具体请参见HRTCEngineConfig。 - [基本使用逻辑](https://support.huaweicloud.com/csdk-rtc/rtc_05_0093.md): 创建新的项目工程,导入SDK后,需要先创建引擎。您可以在入会前进行视频编码、声音播放模式等参数的配置。设置本地视图。加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以为其设置远端视图。在会中,也可以进行切换摄像头等参数的配置。离开房间后,需销毁对应资源。在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使 - [接口总览](https://support.huaweicloud.com/csdk-rtc/rtc_05_0096.md): 本章节介绍了全平台C++ SDK的IHRTCEngine接口详情。IHRTCEngine按照其功能可分类为:初始化等基础接口、房间功能、视频管理、辅流管理、屏幕共享、音频管理、音效文件播放管理、自采集自渲染、其他接口。单击下图中相应接口名称,可快速跳转到相应接口位置查看其使用方法。 - [接口按功能说明](https://support.huaweicloud.com/csdk-rtc/rtc_05_0097.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [初始化等基础接口](https://support.huaweicloud.com/csdk-rtc/rtc_05_0098.md): 【功能说明】创建IHRTCEngine对象。【返回参数】huawei::rtc::IHRTCEngine*:IHRTCEngine对象。NULL:创建失败。【功能说明】调用createHRtcEngine成功后,可通过该函数,获取IHRTCEngine对象。【返回参数】huawei::rtc::IHRTCEngine*:IHRTCEngi - [房间功能](https://support.huaweicloud.com/csdk-rtc/rtc_05_0099.md): 【功能说明】加入房间。该方法让用户加入通话房间。【请求参数】joinParam:加入房间信息。具体请参见HRTCJoinParam。【返回参数】0:方法调用成功。>0:方法调用失败。具体请参见HRTCErrorCode。会触发以下回调:onConnectStateChange:连接状态发送改变。onJoinRoomSuccess:加入房间 - [音频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0100.md): 【功能说明】设置是否开启本地麦克风音频采集。【请求参数】enable:true表示开启。false表示关闭。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HRTCErrorCode。默认开启本地音频采集。远端用户会收到onRemoteAudioStateChangedNotify远端流状态变化回调。【功能说明】设置麦克风采 - [视频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0101.md): 【功能说明】设置是否开启摄像头采集视频。【请求参数】enable:true表示开启。false表示关闭。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HRTCErrorCode。默认开启本地视频采集。远端用户订阅了本端用户时,会收到onRemoteVideoStateChangedNotify远端流状态变化回调。【功能说明 - [辅流管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0102.md): 【功能说明】设置远端辅流视图旋转角度。【请求参数】userId:用户ID。rotation:旋转角度信息(0°,90°,270°),具体请参见HRTCVideoRotation。默认为0°。【返回参数】0:方法调用成功。>0:方法调用失败。具体请参见HRTCErrorCode。0:方法调用成功。>0:方法调用失败。具体请参见HRTCErr - [屏幕共享](https://support.huaweicloud.com/csdk-rtc/rtc_05_0103.md): 【功能说明】获取屏幕可共享对象列表。【请求参数】type:屏幕捕获图像类型,具体请参见HRTCScreenShareIconType。【返回参数】共享屏幕窗口对象列表,具体请参见共享屏幕资源管理。【功能说明】选择屏幕共享对象。【请求参数】info:共享对象信息,主要为采集源ID、名称等,具体请参见HRTCScreenShareSource - [音频文件播放管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0104.md): 音频文件播放使用ffmpeg能力,在播放在线url时受windows平台自身特性影响,断网时会立刻停止播放(SparkRTC内部无缓存设计),若对该场景体验有要求,建议业务通过先下载到本地再播放的形式使用。【功能说明】播放音频文件,房间内调用。当前仅支持本端播放。【请求参数】filePath:音频文件的本地全路径。publish:播放模式 - [自采集自渲染](https://support.huaweicloud.com/csdk-rtc/rtc_05_0105.md): 【功能说明】设置是否开启外部视频采集。【请求参数】enable:true表示开启视频自采集,false表示取消视频自采集。默认值为false。format:设置外部采集的视频格式,默认为I420(即yuv420P)。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HRTCErrorCode。加入房间前调用,不支持房间内切换。 - [其他接口](https://support.huaweicloud.com/csdk-rtc/rtc_05_0106.md): 【功能说明】开启网络质量测试,房间外调用,要等探测结束后才能加入房间。【请求参数】networkTestConfig:网络探测参数格式。具体请参见HRTCNetworkTestConfig。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HRTCErrorCode。会触发onNetworkTestQuality和onNetw - [事件回调(IHRTCEngine)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0107.md): 本章节介绍了全平台C++ SDK的回调接口IHRTCEngineEventHandler的详情。【功能说明】发生错误,触发此回调。返回客户端错误码或者服务端错误码。【回调参数】error:错误码,具体请参见HRTCErrorCode。msg:错误描述。【功能说明】成功加入房间,触发此回调。【回调参数】roomId:新加入的房间ID。use - [接口总览](https://support.huaweicloud.com/csdk-rtc/rtc_05_0109.md): 本章节介绍了全平台C++ SDK的IHRTCConnection接口详情。 - [初始化等基础接口](https://support.huaweicloud.com/csdk-rtc/rtc_05_0110.md): 【功能说明】释放IHRTCConnection对象,如果未离会,会自动离会再释放连接,会触发onDestroyConnection回调。如果资源已经释放,不能继续使用该对象,需要重新调用createConnection。【功能说明】获取当前连接对应的房间ID。【请求参数】无【返回参数】roomId:返回当前连接对应的房间ID。【功能说明】 - [房间功能](https://support.huaweicloud.com/csdk-rtc/rtc_05_0111.md): 【功能说明】加入房间。该方法让用户加入通话房间。【请求参数】joinParam:入会参数。具体请参见HRTCJoinParam。【返回参数】0:方法调用成功。>0:方法调用失败。具体请参见HRTCErrorCode。会触发以下回调:onConnectStateChange:连接状态发送改变。onJoinRoomSuccess:加入房间成功 - [音频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0112.md): 【功能说明】设置是否接收对应远端用户的音频流。同一时间所有房间最多只能接收17路音频流。【请求参数】userId: 远端用户的userId,唯一标识。mute:true表示取消音频流接收。false表示开启音频流接收。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HRTCErrorCode。【功能说明】设置是否接收当前房间 - [视频管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0113.md): 【功能说明】设置远端流渲染视图(新选看接口),该接口不影响收流。【请求参数】userId:远端用户的唯一标识。view:窗口句柄,view为NULL时,解除窗口绑定并结束选看。【返回参数】0:方法调用成功。> 0:方法调用失败。具体请参见HRTCErrorCode。【功能说明】设置远端用户视图渲染模式。【请求参数】userId:远端用户的 - [辅流管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0114.md): 【功能说明】设置远端辅流视图旋转角度。【请求参数】userId:用户ID。rotation:旋转角度信息(0°,90°,270°),具体请参见HRTCVideoRotation。【返回参数】0:方法调用成功。>0:方法调用失败。具体请参见HRTCErrorCode。0:方法调用成功。>0:方法调用失败。具体请参见HRTCErrorCode - [事件回调(IHRTCConnection)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0115.md): 本章节介绍了全平台C++ SDK的回调接口IHRTCEngineEventHandler的详情。【功能说明】发生错误,触发此回调。返回客户端错误码或者服务端错误码。【回调参数】conn:连接对象。error:错误码,具体请参见HRTCErrorCode。msg:错误描述。【功能说明】发生错误,触发此回调。返回客户端错误码或者服务端错误码。 - [音频设备管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0116.md): 本章节介绍了全平台C++ SDK的IHRTCAudioDeviceManager接口详情。【功能说明】获取系统音频播放设备列表。【请求参数】deviceInfo:输出参数,获取系统设备详情,包括设备标识和设备名称。具体请参见HRTCDeviceInfo。counts:输入输出参数,获取deviceInfo对象数量,输入值为deviceIn - [视频设备管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0117.md): 本章节介绍了全平台C++ SDK的IHRTCVideoDeviceManager接口详情。【功能说明】获取系统视频设备列表。【请求参数】deviceInfo:输出参数,获取系统设备详情,包括设备标识和设备名称。具体请参见HRTCDeviceInfo。counts:输入输出参数,获取deviceInfo对象数量,输入值为deviceInfo - [共享屏幕资源管理](https://support.huaweicloud.com/csdk-rtc/rtc_05_0118.md): 本章节介绍了全平台C++ SDK的IHRTCScreenShareSourceList类接口详情。【功能说明】获取屏幕共享窗口资源数量。【请求参数】无【返回参数】unsigned int:无符号整数,对象(屏幕或窗口)数量。【功能说明】获取屏幕共享窗口资源信息。【请求参数】index:资源句柄。【返回参数】捕获的共享资源对象,具体请参见H - [注册回调(IHRTCMediaEngine)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0120.md): 本章节介绍了全平台C++ SDK的IHRTCMediaEngine类接口详情。【功能说明】注册原始视频媒体数据监听回调。【请求参数】conn:连接对象。IHRTCVideoFrameObserver* observer:原始视频数据处理接口代理。具体请参见IHRTCVideoFrameObserver。IHRTCConnectionVid - [事件回调(IHRTCVideoFrameObserver)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0121.md): 本章节介绍了全平台C++ SDK的回调接口IHRTCVideoFrameObserver的详情。【功能说明】原始视频回调,从接口回调中取到原始视频数据以作前处理。【回调参数】videoFrame:视频数据格式 ,具体请参见HRTCVideoFrame。【返回参数】true:处理结果成功。false:处理结果失败。【功能说明】原始视频数据处 - [事件回调(IHRTCAudioFrameObserver)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0122.md): 本章节介绍了全平台C++ SDK的回调接口IHRTCAudioFrameObserver的详情。【功能说明】需要播放的音频数据回调,从接口回调中取到音频数据以作后处理。【回调参数】audioFrame:音频数据格式 ,具体请参见HRTCAudioFrame。【返回参数】true:处理结果成功。false:处理结果失败。【功能说明】全部音频 - [事件回调(IHRTCConnectionVideoFrameObserver)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0123.md): 本章节介绍了全平台C++ SDK的回调接口IHRTCConnectionVideoFrameObserver的详情。【功能说明】原始视频数据处理后回调【回调参数】conn:连接对象userid:用户IDvideoFrame:视频数据格式 ,具体请参见HRTCVideoFrame。【返回参数】true:处理结果成功。false:处理结果失败 - [事件回调(IHRTCEncDecryptFrameObserver)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0124.md): 【功能说明】媒体数据的加密回调【回调参数】frameType:媒体类型。frameBuffer:媒体数据格式 ,具体请参见HRTCFrameBuffer。【功能说明】媒体数据的解密密回调【回调参数】frameType:媒体类型frameBuffer:媒体数据格式 ,具体请参见HRTCFrameBuffer。 - [客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0125.md): 本章节介绍了SDK的客户端错误码HRTCErrorCode的详细信息。当SDK运行出现网络、媒体相关等错误时,SDK无法自动恢复,需要App干预或进行用户提示。 - [服务端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0126.md): 当SDK运行出现网络、媒体相关等错误时,SDK无法自动恢复,需要APP干预或进行用户提示。该错误码由服务端产生,通过onError返回。 - [HRTC码率帧率配置推荐](https://support.huaweicloud.com/csdk-rtc/rtc_05_0127.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [数据类型](https://support.huaweicloud.com/csdk-rtc/rtc_05_0128.md): 本章节列出了全平台C++ SDK的所有数据类型,您可以结合IHRTCEngine接口和回调进行开发。 - [常见问题](https://support.huaweicloud.com/csdk-rtc/rtc_05_0129.md): 调用加入房间接口成功后,再调用pushExternalVideoFrame返回90000001 SDK内部系统错误需要收到加入房间成功回调通知后,才能调用pushExternalVideoFrame。需要收到加入房间成功回调通知后,才能调用pushExternalVideoFrame。joiner和player都加入房间成功,joiner - [修订记录](https://support.huaweicloud.com/csdk-rtc/rtc_05_0130.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [浏览器适配](https://support.huaweicloud.com/csdk-rtc/rtc_05_0132.md): 本章节介绍Web SDK支持的浏览器类型、版本以及使用限制。已集成Web SDK 1.0+版本(2.0+版本不涉及)的用户,请尽快升级至1.10.0+版本,否则在Chrome 96+浏览器上有可能出现无法使用的情况。Web SDK 2.0+版本是目前的主力构建版本,承载新功能及体验优化,建议您优先集成使用。Web SDK 1.0+版本仅做 - [开发前准备](https://support.huaweicloud.com/csdk-rtc/rtc_05_0133.md): 已提交工单获取SDK包。编译工具推荐安装Microsoft Visual Studio Code 1.43.2或以上版本。如果客户端用Node.js开发, 推荐安装14.19.1或以上版本。支持的浏览器详情请参见Web浏览器适配详情。如果客户端用TypeScript开发,TypeScript的版本不低于3.8.3。由于浏览器安全策略限制, - [SDK使用](https://support.huaweicloud.com/csdk-rtc/rtc_05_0134.md): domain:string[128]类型,服务器域名。该参数在SDK 1.0+版本中必填,SDK 2.0+版本中非必填。appId:string[128]类型,必填。应用ID,只有App ID相同的应用程序才能进入同一个房间进行互通。countryCode:string[2]类型,可选。国家码,如:CN表示中国大陆,US表示美国,HK表示 - [基本使用逻辑](https://support.huaweicloud.com/csdk-rtc/rtc_05_0135.md): 创建新的项目工程,导入 SDK 后,需要创建客户端并获取本地音视频设备信息。创建本地流并初始化。当用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以对音视频流进行订阅、取消订阅等其它操作。在会中,也可以对本地录音或播放设备等进行配置。用户离开房间后,房间内其他用户会收到该用户离开的回调信息,离开房间后,需销毁 - [主入口(HRTC)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0137.md): 本章节介绍了Web SDK的HRTC接口详情。如果Web SDK版本在2.0.2到2.0.9.300之间,需要在2023年10月29日前更新至2.0.9.301及之后的版本,否则会导致checkSystemRequirements接口不可用。影响范围为微信浏览器。【功能说明】加入房间前必须要调用,检测浏览器是否兼容SparkRTC Web - [客户端对象(Client)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0138.md): 本章节介绍了Web SDK的Client接口详情。【功能说明】加入房间。该接口让用户加入一个房间,进行音频或视频通话。【请求参数】roomId:房间ID,房间唯一标识符。必选,string[64]类型。options:加入房间配置。必选,JoinConfig类型。JoinConfig 定义为:{userId:用户标识,userId需要保证 - [客户端事件通知(ClientEvent)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0139.md): 本章节介绍了Web SDK的ClientEvent事件。事件注册监听应在业务结束时取消注册,否则注册监听事件累积会有内存泄漏风险。【事件说明】远端用户加入房间事件,远端用户加入房间后会收到该事件通知。【回调参数】peerJoinEvent:必选,PeerJoin类型,用户信息。PeerJoin定义为:{userId:必选,string[6 - [流对象(Stream)](https://support.huaweicloud.com/csdk-rtc/rtc_05_0140.md): 本章节介绍了Web SDK的Stream接口详情。【功能说明】播放音视频流。该方法会自动创建