AgoraLiveTranscoding
旁路推流的转码属性。
Objective-C
__attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject
@property(assign, nonatomic) CGSize size;
@property(assign, nonatomic) NSInteger videoBitrate;
@property(assign, nonatomic) NSInteger videoFramerate;
@property(assign, nonatomic) BOOL lowLatency;
@property(assign, nonatomic) NSInteger videoGop;
@property(assign, nonatomic) AgoraVideoCodecProfileType videoCodecProfile;
@property(assign, nonatomic) AgoraVideoCodecTypeForStream videoCodecType;
@property(copy, nonatomic) NSArray<AgoraLiveTranscodingUser *> *_Nullable transcodingUsers;
@property(copy, nonatomic) NSString *_Nullable transcodingExtraInfo;
@property (copy, nonatomic) NSArray<AgoraImage *> *_Nullable watermarkArray;
@property (copy, nonatomic) NSArray<AgoraImage *> *_Nullable backgroundImageArray;
@property(strong, nonatomic) COLOR_CLASS *_Nullable backgroundColor;
@property(assign, nonatomic) AgoraAudioSampleRateType audioSampleRate;
@property(assign, nonatomic) NSInteger audioBitrate;
@property(assign, nonatomic) NSInteger audioChannels;
@property(assign, nonatomic) AgoraAudioCodecProfileType audioCodecProfile;
+ (AgoraLiveTranscoding *_Nonnull)defaultTranscoding;
- (int)addUser:(AgoraLiveTranscodingUser *_Nonnull)user;
- (int)removeUser:(NSUInteger)uid;
- (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened;
- (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures;
@end
size
推流视频的总尺寸(宽和高),单位为像素。
- 如果推视频流,请注意:
- 宽的取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1920,声网服务器会自动调整为 1920。
- 高的取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1080,声网服务器会自动调整为 1080。
- 如果推音频流,请将宽和高都设为 0。
videoBitrate
视频编码码率,单位为 Kbps。该参数无需设置,保留默认值 AgoraVideoBitrateStandard 即可,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。有关视频分辨率和帧率的对应关系,详见视频属性。
videoFrameRate
用于旁路直播的输出视频的帧率。取值范围是 (0,30],单位为 fps。15 fps 为默认值。
注意
声网服务器会将高于 30 fps 的帧率统一调整为 30 fps。
lowLatency
废弃
低延时模式
YES
: 低延时,不保证画质。NO
:(默认值)高延时,保证画质。
videoGop
用于旁路直播的输出视频的 GOP (Group of Pictures)。单位为帧。默认值为 30。
videoCodecProfile
用于旁路直播的输出视频的编码规格。可以设置为 66、77 或 100,详见 AgoraVideoCodecProfileType。
注意
如果你把这个参数设为其他值,声网服务器会将其调整为默认值。
videoCodecType
用于旁路直播的输出视频的编解码类型。详见 AgoraVideoCodecTypeForStream。
transcodingUsers
用于管理参与旁路直播的视频转码合图的用户。最多支持 17 人同时参与转码合图。详见 AgoraLiveTranscodingUser。
transcodingExtraInfo
预留参数:用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096 字节。关于 SEI 的详细信息,详见 SEI 帧相关问题。
backgroundColor
用于旁路直播的输出视频的背景色。
格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。
COLOR_CLASS 为类型统称,具体为:
- iOS: UIColor
- macOS: NSColor
backgroundImageArray
直播视频上的背景图数组。详见 AgoraImage。你可以使用 backgroundImageArray 添加一张或多张背景图。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。
audioSampleRate
用于旁路推流的输出媒体流的音频采样率 (Hz),详见 AgoraAudioSampleRateType。
audioBitrate
用于旁路直播的输出音频的码率。单位为 Kbps,默认值为 48,最大值为 128。
audioChannels
用于旁路直播的输出音频的声道数,默认值为 1。取值范围为 [1,5] 中的整型,建议取 1 或 2。3、4、5 需要特殊播放器支持:
- 1: (默认)单声道
- 2: 双声道
- 3: 三声道
- 4: 四声道
- 5: 五声道
audioCodecProfile
用于旁路直播输出音频的编码规格。详见 AgoraAudioCodecProfileType。
watermarkArray
直播视频上的水印数组。详见 AgoraImage。你可以使用 watermarkArray 添加一张或多张水印。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。
方法
addUser
添加转码合图用户。详见 addUser:。
getAdvancedFeatures
获取转码推流高级功能的开/关状态。详见 getAdvancedFeatures。
removeUser
删除转码合图用户。详见 removeUser:。
setAdvancedFeatures
设置是否启用转码推流的高级功能。详见 setAdvancedFeatures:opened:。
defaultTranscoding
应用默认的转码设置,详见 defaultTranscoding。