ARLiveTranscoding

最近更新时间:2022-09-20 05:17:40

属性概览

size

  • 推流视频的总尺寸(宽和高),单位为像素。
  • 如果推视频流,宽和高的值均不得低于 64,否则 SDK 会调整为 64。
  • 如果推音频流,请将宽和高都设为 0。

videoBitrate

  • 用于旁路直播的输出视频的码率。单位为 Kbps。400 Kbps 为默认值。
  • 你可以根据 Video Profile 参考表中的码率值进行设置;如果设置的码率超出合理范围,服务器会在合理区间内自动调整码率值。

videoFramerate

  • 用于旁路直播的输出视频的帧率。取值范围是 (0,30],单位为 fps。
  • 15 fps 为默认值。服务器会将高于 30 fps 的帧率设置改为 30 fps。

videoGop

  • 用于旁路直播的输出视频的 GOP。单位为帧。默认值为 30 帧

videoCodecProfile

  • 用于旁路直播的输出视频的编码规格。
  • 可以设置为 66、77 或 100,详见 ARVideoCodecProfileType
  • 如果设置其它值,服务器会统一设为默认值 100。

ARVideoCodecProfileType

参数描述
ARVideoCodecProfileTypeBaseLineBaseline 级别的视频编码规格,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。
ARVideoCodecProfileTypeMainMain 级别的视频编码规格,一般用于主流消费类电子产品,如 mp4、便携的视频播放器、PSP 和 iPad 等。
ARVideoCodecProfileTypeHigh(默认)High 级别的视频编码规格,一般用于广播及视频碟片存储,高清电视。

transcodingUsers

  • 用于管理参与旁路直播的视频转码合图的用户。最多支持 50 人同时参与转码合图,详见 ARLiveTranscodingUser

ARLiveTranscodingUser

参数描述
uid旁路推流的用户 ID,本地用户ID写@"0"字符串。
rect直播视频上用户视频在布局中相对左上角的位置和大小信息
zOrder直播视频上用户视频帧的图层编号
整数,取值范围为 0 到 100
- 最小值为 0(默认值),表示该区域图像位于最下层
- 最大值为 100,表示该区域图像位于最上层
alpha直播视频上用户视频的透明度。取值范围为 0.0,1.0
0.0: 表示该区域图像完全透明
1.0: 表示该区域图像完全不透明。默认值为 1.0.
audioChannel直播音频所在声道
取值范围为 [0,5],默认值为 0:
- 0:(推荐) 默认混音设置,最多支持双声道,与主播端上行音频相关
- 1: 对应主播的音频,推流中位于 FL 声道。如果主播端上行音频是多声道,会先把多声道混音成单声道。
- 2: 对应主播的音频,推流中位于 FC 声道。如果主播端上行音频是多声道,会先把多声道混音成单声道。
- 3: 对应主播的音频,推流中位于 FR 声道。如果主播端上行音频是多声道,会先把多声道混音成单声道。
- 4: 对应主播的音频,推流中位于 BL 声道。如果主播端上行音频是多声道,会先把多声道混音成单声道。
- 5: 对应主播的音频,推流中位于 BR 声道。如果主播端上行音频是多声道,会先把多声道混音成单声道。
Note: 选项不为 0 时,需要特殊的播放器支持。

transcodingExtraInfo

  • 预留参数:用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096 字节。关于 SEI 的详细信息,详见SEI 帧相关问题。

watermark

  • 用于旁路直播的输出视频上的水印图片
  • 仅支持 PNG 格式的图片。添加后所有旁路直播的观众都可以看到水印。水印图片的定义详见 ARImage

ARImage

参数描述
url直播视频上图片的 HTTP/HTTPS 地址,字符长度不得超过 1024 字节。
rect图片在视频帧上的位置和大小,类型为 CGRect

backgroundImage

  • 用于旁路直播的输出视频上的背景图片
  • 添加后所有旁路直播的观众都可以看到背景图片。背景图片的定义详见 ARImage

backgroundColor

  • 用于旁路直播的输出视频的背景色
  • 格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。
  • COLOR_CLASS 为类型统称,具体为:iOS: UIColor macOS: NSColor

audioSampleRate

  • 用于旁路直播的输出音频的采样率,详见 ARAudioSampleRateType

ARAudioSampleRateType

参数描述
ARAudioSampleRateType3200032 kHz.
ARAudioSampleRateType4410044.1 kHz.
ARAudioSampleRateType4800048 kHz.

audioBitrate

  • 用于旁路直播的输出音频的码率。单位为 Kbps,默认值为 48,最大值为 128

audioChannels

  • 用于旁路直播的输出音频的声道数,默认值为 1。
  • 取值范围为 [1,5] 中的整型,建议取 1 或 2。3、4、5需要特殊播放器支持:
  • 1: 单声道
  • 2: 双声道
  • 3: 三声道
  • 4: 四声道
  • 5: 五声道

audioCodecProfile

  • 用于旁路直播输出音频的编码规格,默认值为 ARAudioCodecProfileLCAAC(0)。详见 ARAudioCodecProfileType

ARAudioCodecProfileType

参数描述
ARAudioCodecProfileLCAAC0: (默认) LC-AAC 规格,表示基本音频编码规格。
ARAudioCodecProfileHEAAC1: HE-AAC 规格,表示高效音频编码规格。

defaultTranscoding

+(ARLiveTranscoding *_Nonnull) defaultTranscoding;
  • 应用默认的转码设置

返回值

应用默认设置的 ARLiveTranscoding 对象

addUser

-(int)addUser:(ARLiveTranscodingUser * _Nonnull)user;
  • 添加一个用户到已有的用户中。
参数描述
user参数合图的用户,定义详见 ARLiveTranscodingUser 。

返回值

0: 方法调用成功,< 0: 方法调用失败。

removeUser

-(int)removeUser:(NSString *_Nonnull)uid;
  • 删除转码合图用户
参数描述
uid待删除的用户 ID

返回值

0: 方法调用成功,< 0: 方法调用失败。