LiveTranscoding
旁路推流的转码属性。
class LiveTranscoding {
const LiveTranscoding(
{this.width,
this.height,
this.videoBitrate,
this.videoFramerate,
this.lowLatency,
this.videoGop,
this.videoCodecProfile,
this.backgroundColor,
this.videoCodecType,
this.userCount,
this.transcodingUsers,
this.transcodingExtraInfo,
this.metadata,
this.watermark,
this.watermarkCount,
this.backgroundImage,
this.backgroundImageCount,
this.audioSampleRate,
this.audioBitrate,
this.audioChannels,
this.audioCodecProfile,
this.advancedFeatures,
this.advancedFeatureCount});
(name: 'width')
final int? width;
(name: 'height')
final int? height;
(name: 'videoBitrate')
final int? videoBitrate;
(name: 'videoFramerate')
final int? videoFramerate;
(name: 'lowLatency')
final bool? lowLatency;
(name: 'videoGop')
final int? videoGop;
(name: 'videoCodecProfile')
final VideoCodecProfileType? videoCodecProfile;
(name: 'backgroundColor')
final int? backgroundColor;
(name: 'videoCodecType')
final VideoCodecTypeForStream? videoCodecType;
(name: 'userCount')
final int? userCount;
(name: 'transcodingUsers')
final List<TranscodingUser>? transcodingUsers;
(name: 'transcodingExtraInfo')
final String? transcodingExtraInfo;
(name: 'metadata')
final String? metadata;
(name: 'watermark')
final List<RtcImage>? watermark;
(name: 'watermarkCount')
final int? watermarkCount;
(name: 'backgroundImage')
final List<RtcImage>? backgroundImage;
(name: 'backgroundImageCount')
final int? backgroundImageCount;
(name: 'audioSampleRate')
final AudioSampleRateType? audioSampleRate;
(name: 'audioBitrate')
final int? audioBitrate;
(name: 'audioChannels')
final int? audioChannels;
(name: 'audioCodecProfile')
final AudioCodecProfileType? audioCodecProfile;
(name: 'advancedFeatures')
final List<LiveStreamAdvancedFeature>? advancedFeatures;
(name: 'advancedFeatureCount')
final int? advancedFeatureCount;
factory LiveTranscoding.fromJson(Map<String, dynamic> json) =>
_$LiveTranscodingFromJson(json);
Map<String, dynamic> toJson() => _$LiveTranscodingToJson(this);
}
width
推流视频的总宽度,默认值 360,单位为像素。
- 如果推视频流,
width
取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 1920,声网服务器会自动调整为 1920。 - 如果推音频流,请将
width
和height
设为 0。
height
推流视频的总高度,默认值 640,单位为像素。
- 如果推视频流,
height
取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 1080,声网服务器会自动调整为 1080。 - 如果推音频流,请将
width
和height
设为 0。
videoBitrate
视频编码码率,单位为 Kbps。该参数无需设置,保留默认值 standardBitrate 即可,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。有关视频分辨率和帧率的对应关系,详见视频属性。
videoFrameRate
用于旁路直播的输出视频的帧率。取值范围是 (0,30],单位为 fps。15 fps 为默认值。
lowLatency
低延时模式
true
: 低延时,不保证画质。false
:(默认值)高延时,保证画质。
videoGop
videoCodecProfile
用于旁路直播的输出视频的编码规格。可以设置为 66、77 或 100,详见 VideoCodecProfileType。
videoCodecType
transcodingUsers
用于管理参与旁路直播的视频转码合图的用户。最多支持 17 人同时参与转码合图。详见 TranscodingUser。
transcodingExtraInfo
预留参数:用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096 字节。关于 SEI 的详细信息,详见 SEI 帧相关问题。
backgroundColor
用于旁路直播的输出视频的背景色,格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认0x000000,黑色。
userCount
参与合图的用户数量,默认 0。取值范围为 [0,17]。
metadata
发送给 CDN 客户端的 metadata。
watermark
直播视频上的水印。图片格式需为 PNG。详见 RtcImage。
你可以添加一个水印,或使用数组的方式添加多个水印。
backgroundImage
直播视频上的背景图。图片格式需为 PNG。详见 RtcImage。
你可以添加一张背景图,或使用数组的方式添加多张背景图。该参数与 backgroundImageCount 搭配使用。
audioSampleRate
用于旁路推流的输出媒体流的音频采样率 (Hz),详见 AudioSampleRateType。
audioBitrate
用于旁路直播的输出音频的码率。单位为 Kbps,默认值为 48,最大值为 128。
audioChannels
用于旁路直播的输出音频的声道数,默认值为 1。取值范围为 [1,5] 中的整型,建议取 1 或 2。3、4、5 需要特殊播放器支持:
- 1: (默认)单声道
- 2: 双声道
- 3: 三声道
- 4: 四声道
- 5: 五声道