检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
同一端大小流或多流模式多路流设置的分辨率需保持一致,否则会设置失败。 多终端发流和选看的分辨率不一致时,sdk默认自适应并匹配最接近的分辨率(以实际发流分辨率优先),可能会导致选看时设置的分辨率和实际收到的流分辨率不一致。 调用接口一设置编码参数的分辨率发生变化时,需要先enab
不同人数的实际布局效果如下图所示。 如果实际视频流的宽高比与视窗的宽高比不一致,视频画面会裁剪以适配视窗的大小。 中途有流退出房间,则该条流的画面会被后进入房间的流顶替。 如果房间内的人数不足,则剩余位置显示背景色。 如果用户只发送音频,仍然会占用画面位置。 支持背景图,如果房间内人数不足,显示背景图。
同人数的实际布局效果如下图所示: 如果实际视频流的宽高比与视窗的宽高比不一致,则视频画面会裁剪以适配视窗的大小。 如果中途有流退出房间,则该条流的画面会被后进入房间的流顶替。 如果房间内的人数不足,则剩余位置显示背景色。 如果用户只发送音频,仍然会占用画面位置。 支持背景图,如果房间内人数不足,则显示背景图。
许录制文件存储在OBS桶中。 注意事项 授权的OBS桶所在区域必须为华北-北京四。 前提条件 因录制生成的视频文件是存储在OBS服务中的,因此,您需要先开通OBS服务,具体请参见OBS快速入门。 已在OBS服务中创建用于存储录制文件的OBS桶,若未创建,请参见OBS帮助中心创建桶。
'libs', include: ['*.jar', '*.aar']) } 将如图1所示的包含so库的两个文件夹导入到jniLibs文件夹中。 图1 so库目录 在“/app/build.gradle”文件中设置so库的存放路径。 1 2 3 4 5 sourceSets { main
获取账号ID 在调用接口的时候,部分URL中需要填入账号ID,所以需要先在管理控制台上获取到账号ID。具体获取步骤如下: 登录管理控制台。 鼠标悬停在右上角的用户名,选择下拉列表中“我的凭证”。 在“API凭证”页面,即可获取对应的账号ID信息。 图1 获取账号ID 父主题: 附录
'libs', include: ['*.jar', '*.aar']) } 将如图1所示的包含so库的两个文件夹导入到jniLibs文件夹中。 图1 so库目录 在“/app/build.gradle”文件中设置so库的存放路径。 1 2 3 4 5 sourceSets { main
app_key为华为云SparkRTC针对每个app生成的鉴权密钥,需要安全保存,谨防泄漏。您可以通过以下方式获取: 登录实时音视频控制台。 在左侧导航栏中,选择“应用管理”,进入应用管理页面。 在目标应用行单击应用名称,进入应用详情页面。 “鉴权私钥”可见状态下,复制应用的鉴权私钥。 图1 应用详情界面 父主题:
Info, eventHandler); m_engineEventHandler:引擎回调句柄,指定一个回调事件。SDK通过指定的事件通知应用程序的运行事件,如加入或离开房间等,具体请参见事件回调(IHRTCEngine)。 engineInfo:结构体具体请参见HRTCEngineConfig。
基本使用逻辑 创建新的项目工程,导入 SDK 后,需要创建客户端并获取本地音视频设备信息。 创建本地流并初始化。 当用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以对音视频流进行订阅、取消订阅等其它操作。 在会中,也可以对本地录音或播放设备等进行配置。
0:方法调用成功。 > 0:方法调用失败。具体请参见HRTCErrorCode。 使用该接口设置辅流编码参数,目前策略会根据获取的区域宽高比对设置的宽高进行调整,使用户设置的宽高比与获取的宽高比保持一致,因此,用户实际收流分辨率与设置分辨率有可能不同。 父主题: IHRTCEngine
ER_BYTE_ARRAY)); } 加入房间 参考接口调用流程中加入房间的时序图步骤加入房间。 渲染远端视频流 加入房间后,可以通过在onRenderExternalVideoFrame回调中进行视频帧的渲染。 public void onRenderExternalVideoFrame(String
产品优势 全球实时音视频网络 提供覆盖全球的高质量、大规模的实时音视频网络。 自研高效调度算法,具有全网调度能力。丰富的节点资源储备,保证端到端平均时延小于200ms。 低卡顿 基于华为30年音视频编解码能力和优异弱网对抗能力80%丢包下音频通话流畅,50%丢包下视频通话流畅。 全平台覆盖,极简接入
功能描述 实时视频传输过程中,HWRtcEngine SDK通常会启动默认的视频模块进行采集和渲染。在以下场景中,您可能会发现默认的视频模块无法满足开发需求: app中已有自己的视频模块。 需要使用自定义的采集或播放处理。 某些视频采集设备被系统独占。 接口调用流程 实现自定义视频采集
自定义视频采集 功能描述 如果您需要使用自定义的美颜库或有前处理库,则需要自己采集和处理摄像头拍摄画面,您可以通过SparkRTC SDK的setExternalVideoCapture接口开启 自采集功能。然后使用pushExternalVideoFrame接口推送外部视频数据到SparkRTC
加入房间前调用主引擎的setExternalVideoCapture 加入房间前调用此接口打开视频自采集功能。一旦开启后,将无法切换。 //开启自采集功能 [rtcEngine setExternalVideoCapture:YES]; 加入房间 参考接口调用流程中加入房间的时序图步骤加入房间。
自定义视频采集 功能描述 如果您需要使用自定义的美颜库或有前处理库,则需要自己采集和处理摄像头拍摄画面,您可以通过SparkRTC SDK的setExternalVideoCapture接口开启自采集功能。然后使用pushExternalVideoFrame接口推送外部视频数据到SparkRTC
功能描述 实时音频传输过程中,HWRtcEngine SDK通常会启动默认的音频模块进行采集和渲染。在以下场景中,您可能会发现默认的音频模块无法满足开发需求: app中已有自己的音频模块。 需要使用自定义的采集或播放处理。 某些音频采集设备被系统独占。 接口调用流程 实现音频自采集和音频自渲染
SDK通常会启动默认的音频模块进行采集和渲染。在以下场景中,您可能会发现默认的音频模块无法满足开发需求: app中已有自己的音频模块。 需要使用自定义的采集或播放处理。 某些音频采集设备被系统独占。 注意事项 当前只支持PCM数据格式处理。 接口调用流程 实现过程 加入房间前调用主引擎的set
实时音频传输过程中,HWRtcEngine SDK通常会启动默认的音频模块进行采集和渲染。在以下场景中,您可能会发现默认的音频模块无法满足开发需求: 需要使用自定义的采集或播放处理。 某些音频采集设备被系统独占。 接口调用流程 实现过程 加入房间前调用主引擎的setExternalAudioCapture