AgoraLiveTranscoding Class Reference

Inherits from NSObject
Declared in AgoraObjects.h

Overview

管理旁路推流转码的类

  size

推流视频的总尺寸(宽和高),单位为像素。

@property (assign, nonatomic) CGSize size

Discussion

  • 如果推视频流,请注意:

    • 宽的取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1920,声网服务器会自动调整为 1920。
    • 高的取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1080,声网服务器会自动调整为 1080。
  • 如果推音频流,请将宽和高都设为 0。

Declared In

AgoraObjects.h

  videoBitrate

用于旁路直播的输出视频的码率。单位为 Kbps。400 Kbps 为默认值。

@property (assign, nonatomic) NSInteger videoBitrate

Discussion

你可以根据 Video Profile 参考表中的码率值进行设置;如果设置的码率超出合理范围,声网服务器会在合理区间内自动调整码率值。

Declared In

AgoraObjects.h

  videoFramerate

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

@property (assign, nonatomic) NSInteger videoFramerate

Declared In

AgoraObjects.h

  lowLatency

低延时模式

@property (assign, nonatomic) BOOL lowLatency

Discussion

DEPRECATED 自 v2.8.0 起废弃。声网不推荐使用。

  • YES: 低延时,不保证画质
  • NO:(默认值)高延时,保证画质

Declared In

AgoraObjects.h

  videoGop

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

@property (assign, nonatomic) NSInteger videoGop

Declared In

AgoraObjects.h

  videoCodecProfile

用于旁路直播的输出视频的编码规格。

@property (assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile

Discussion

可以设置为 66、77 或 100,详见 AgoraVideoCodecProfileType

如果设置其他值,声网服务器会统一设为默认值 100。

Declared In

AgoraObjects.h

  videoCodecType

用于旁路直播的输出视频的编解码类型。详见 AgoraVideoCodecTypeForStream

@property (assign, nonatomic) AgoraVideoCodecTypeForStream videoCodecType

Availability

v3.2.0

Declared In

AgoraObjects.h

  transcodingUsers

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

@property (copy, nonatomic) NSArray<AgoraLiveTranscodingUser*> *transcodingUsers

Declared In

AgoraObjects.h

  transcodingExtraInfo

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

@property (copy, nonatomic) NSString *transcodingExtraInfo

Declared In

AgoraObjects.h

  watermark

Deprecated 自 v3.6.0 废弃。请改用 watermarkArray

@property (strong, nonatomic) AgoraImage *watermark

Discussion

直播视频上的水印。图片格式需为 PNG。详见 AgoraImage

Declared In

AgoraObjects.h

  watermarkArray

直播视频上的水印数组。详见 AgoraImage 。你可以使用 watermarkArray 添加一张或多张水印。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。

@property (copy, nonatomic) NSArray<AgoraImage*> *watermarkArray

Availability

v3.6.0

Declared In

AgoraObjects.h

  backgroundImage

Deprecated 自 v3.6.0 废弃。请改用 backgroundImageArray

@property (strong, nonatomic) AgoraImage *backgroundImage

Discussion

直播视频上的背景图。图片格式需为 PNG。详见 AgoraImage

Declared In

AgoraObjects.h

  backgroundImageArray

直播视频上的背景图数组。详见 AgoraImage 。你可以使用 backgroundImageArray 添加一张或多张背景图。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。

@property (copy, nonatomic) NSArray<AgoraImage*> *backgroundImageArray

Availability

v3.6.0

Declared In

AgoraObjects.h

  backgroundColor

用于旁路直播的输出视频的背景色

@property (strong, nonatomic) COLOR_CLASS *backgroundColor

Discussion

格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。

COLOR_CLASS 为类型统称,具体为:

  • iOS: UIColor
  • macOS: NSColor

Declared In

AgoraObjects.h

  audioSampleRate

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

@property (assign, nonatomic) AgoraAudioSampleRateType audioSampleRate

Declared In

AgoraObjects.h

  audioBitrate

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

@property (assign, nonatomic) NSInteger audioBitrate

Declared In

AgoraObjects.h

  audioChannels

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

@property (assign, nonatomic) NSInteger audioChannels

Discussion

  • 1: 单声道
  • 2: 双声道
  • 3: 三声道
  • 4: 四声道
  • 5: 五声道

Declared In

AgoraObjects.h

  audioCodecProfile

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

@property (assign, nonatomic) AgoraAudioCodecProfileType audioCodecProfile

Declared In

AgoraObjects.h

+ defaultTranscoding

应用默认的转码设置

+ (AgoraLiveTranscoding *_Nonnull)defaultTranscoding

Return Value

应用默认设置的 AgoraLiveTranscoding 对象

Declared In

AgoraObjects.h

– addUser:

添加一个用户到已有的用户中。

- (int)addUser:(AgoraLiveTranscodingUser *_Nonnull)user

Parameters

user

参数合图的用户,定义详见 AgoraLiveTranscodingUser

Return Value

  • 0: 方法调用成功
  • < 0: 方法调用失败

Declared In

AgoraObjects.h

– removeUser:

删除转码合图用户

- (int)removeUser:(NSUInteger)uid

Parameters

uid

待删除的用户 ID

Return Value

  • 0: 方法调用成功
  • < 0: 方法调用失败

Declared In

AgoraObjects.h

– setAdvancedFeatures:opened:

开启/关闭转码推流的高级功能。

- (void)setAdvancedFeatures:(NSString *_Nonnull)featureName opened:(BOOL)opened

Parameters

featureName

待开启的高级功能的名称。你可以把名称设为 LBHQ,这代表以较低的码率实现视觉上较高质量视频的功能。

opened

是否打开高级功能:

  • YES: 打开。
  • NO:(默认)关闭。
  • Declared In

    AgoraObjects.h

    – getAdvancedFeatures

    获取转码推流高级功能的开/关状态。

    - (NSArray<AgoraLiveStreamAdvancedFeature*> *_Nullable)getAdvancedFeatures

    Return Value

    高级功能的名称和该功能的开/关状态。详见 AgoraLiveStreamAdvancedFeature

    Declared In

    AgoraObjects.h