产品百科 | RTC iOS SDK 如何设置视频属性

简介: 本文将为您介绍如何设置视频流规格、视频流类型和视频属性。阅读本文后,你可以根据实际业务需求设置视频属性,以达到更好的产品体验。

功能简介

在音视频通信中,根据您的喜好和实际情况设置视频属性,调整视频画面的清晰度和流畅度。如果是一对一视频通信,您可以将分辨率和帧率调高,如果频道内有多个用户进行视频通信,您可以将分辨率和码率适当调低,以减少编解码的资源消耗和缓解下行带宽压力。视频属性包含视频流规格、视频流类型。

视频流规格如下表所示。

枚举名 描述
AliRtcVideoProfile_Default 默认,分辨率 480*640,帧率 15
AliRtcVideoProfile_180_240P_15 分辨率 180*240,帧率 15
AliRtcVideoProfile_180_320P_15 分辨率 180*320,帧率 15
AliRtcVideoProfile_180_320P_30 分辨率 180*320,帧率 30
AliRtcVideoProfile_240_320P_15 分辨率 240*320,帧率 15
AliRtcVideoProfile_360_480P_15 分辨率 360*480,帧率 15
AliRtcVideoProfile_360_480P_30 分辨率 360*480,帧率 30
AliRtcVideoProfile_360_640P_15 分辨率 360*640,帧率 15
AliRtcVideoProfile_360_640P_30 分辨率 360*640,帧率 30
AliRtcVideoProfile_480_640P_15 分辨率 480*640,帧率 15
AliRtcVideoProfile_480_640P_30 分辨率 480*640,帧率 30
AliRtcVideoProfile_720_960P_15 分辨率 720*960,帧率 15
AliRtcVideoProfile_720_960P_30 分辨率 720*960,帧率 30
AliRtcVideoProfile_720_1280P_15 分辨率 720*1280,帧率 15
AliRtcVideoProfile_720_1280P_30 分辨率 720*1280,帧率 30
AliRtcVideoProfile_1080_1920P_15 分辨率 1080*1920,帧率 15
AliRtcVideoProfile_1080_1920P_30 分辨率 1080*1920,帧率 30
AliRtcVideoProfile_480_640P_15_1500Kb 分辨率 480*640,帧率 15,1500Kb 码率
AliRtcVideoProfile_900_1600P_20 分辨率 900*1600,帧率 20
AliRtcVideoProfile_360_640P_15_800Kb 分辨率 360*640,帧率 15,800Kb 码率
AliRtcVideoProfile_480_840P_15_500Kb 分辨率 480*840,帧率 15,500Kb 码率
AliRtcVideoProfile_480_840P_15_800Kb 分辨率 480*840,帧率 15,800Kb 码率
AliRtcVideoProfile_540_960P_15_800Kb 分辨率 540*960,帧率 15,800Kb 码率
AliRtcVideoProfile_540_960P_15_1200Kb 分辨率 540*960,帧率 15,1200Kb 码率
AliRtcVideoProfile_Max 占位值

视频流类型如下表所示。

枚举名 描述
AliRtcVideoTrackNo 无摄像头和屏幕共享流
AliRtcVideoTrackCamera 相机流
AliRtcVideoTrackScreen 屏幕共享流
AliRtcVideoTrackBoth 相机流和屏幕共享流

实现方法

在实现该功能之前,需要您已经搭建 AppServer、实现基本功能等操作。详情请参见入门概述

阿里云 RTC SDK 通过 setVideoProfile 方法设置视频属性。

- (void)setVideoProfile:(AliRtcVideoProfile)profile forTrack:(AliRtcVideoTrack)track;
参数 类型 描述
profile AliRtcVideoProfile 视频流参数。
track AliRtcVideoTrack 需要设置的视频 Track 类型。

获得更多功能实现方法,请参见 AliRtcEngine 接口


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

image.png

相关文章
|
开发工具 iOS开发 计算机视觉
|
iOS开发 UED 开发者
iOS 手势中cancelsTouchesInView delaysTouchesBegan delaysTouchesEnded 三种属性的使用
iOS 手势中cancelsTouchesInView delaysTouchesBegan delaysTouchesEnded 三种属性的使用
416 10
|
Swift iOS开发
iOS开发-属性的内存管理
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),不维持对象生命期,可用于解除循环引用;`assign`(赋值),适用于基本数据类型及非指针对象属性;`copy`,复制对象而非引用,确保对象不变性。iOS采用引用计数管理内存,ARC(自动引用计数)自动处理引用增减,简化开发。为避免循环引用,可利用弱引用或Swift中的`[weak self]`。最佳实践包括:选择恰当的内存管理策略、减少不必要的强引用、及时释放不再使用的对象、注意block内存管理,并使用Xcode工具进行内存分析。
124 1
|
API 开发工具 vr&ar
PicoVR Unity SDK⭐️一、SDK下载、项目设置与程序初始配置
PicoVR Unity SDK⭐️一、SDK下载、项目设置与程序初始配置
|
开发工具 iOS开发 容器
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
106 0
|
JSON Java API
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
【Azure API 管理】通过Java APIM SDK创建一个新的API,如何为Reqeust的Representation设置一个内容示例(Sample)?
|
固态存储 Java 网络安全
【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)
【Azure Developer】使用Java SDK代码创建Azure VM (包含设置NSG,及添加数据磁盘SSD)
130 0
|
缓存 Java API
【Azure 服务总线】详解Azure Service Bus SDK中接收消息时设置的maxConcurrentCalls,prefetchCount参数
【Azure 服务总线】详解Azure Service Bus SDK中接收消息时设置的maxConcurrentCalls,prefetchCount参数
162 0
|
开发工具 图形学 iOS开发
Unity与IOS⭐Unity接入IOS SDK的流程图
Unity与IOS⭐Unity接入IOS SDK的流程图
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)