LiveTranscoding
Transcoding configurations for Media Push.
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}); @JsonKey(name: 'width') final int? width; @JsonKey(name: 'height') final int? height; @JsonKey(name: 'videoBitrate') final int? videoBitrate; @JsonKey(name: 'videoFramerate') final int? videoFramerate; @JsonKey(name: 'lowLatency') final bool? lowLatency; @JsonKey(name: 'videoGop') final int? videoGop; @JsonKey(name: 'videoCodecProfile') final VideoCodecProfileType? videoCodecProfile; @JsonKey(name: 'backgroundColor') final int? backgroundColor; @JsonKey(name: 'videoCodecType') final VideoCodecTypeForStream? videoCodecType; @JsonKey(name: 'userCount') final int? userCount; @JsonKey(name: 'transcodingUsers') final List<TranscodingUser>? transcodingUsers; @JsonKey(name: 'transcodingExtraInfo') final String? transcodingExtraInfo; @JsonKey(name: 'metadata') final String? metadata; @JsonKey(name: 'watermark') final List<RtcImage>? watermark; @JsonKey(name: 'watermarkCount') final int? watermarkCount; @JsonKey(name: 'backgroundImage') final List<RtcImage>? backgroundImage; @JsonKey(name: 'backgroundImageCount') final int? backgroundImageCount; @JsonKey(name: 'audioSampleRate') final AudioSampleRateType? audioSampleRate; @JsonKey(name: 'audioBitrate') final int? audioBitrate; @JsonKey(name: 'audioChannels') final int? audioChannels; @JsonKey(name: 'audioCodecProfile') final AudioCodecProfileType? audioCodecProfile; @JsonKey(name: 'advancedFeatures') final List<LiveStreamAdvancedFeature>? advancedFeatures; @JsonKey(name: 'advancedFeatureCount') final int? advancedFeatureCount; factory LiveTranscoding.fromJson(Map<String, dynamic> json) => _$LiveTranscodingFromJson(json); Map<String, dynamic> toJson() => _$LiveTranscodingToJson(this); }
Attributes
- width
-
The width of the video in pixels. The default value is 360.
- When pushing video streams to the CDN, the value range of
width
is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1920, Agora server automatically adjusts it to 1920. - When pushing audio streams to the CDN, set
width
andheight
as 0.
- When pushing video streams to the CDN, the value range of
- height
-
The height of the video in pixels. The default value is 640.
- When pushing video streams to the CDN, the value range of
height
is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1080, Agora server automatically adjusts it to 1080. - When pushing audio streams to the CDN, set
width
andheight
as 0.
- When pushing video streams to the CDN, the value range of
- videoBitrate
-
Bitrate of the output video stream for Media Push in Kbps. The default value is 400 Kbps.
Set this member according to the Video profile table. If you set a bitrate beyond the proper range, the SDK automatically adapts it to a value within the range.
- videoFrameRate
-
Frame rate (fps) of the output video stream set for Media Push. The default value is 15. The value range is (0,30].
Attention: The Agora server adjusts any value over 30 to 30. - lowLatency
-
- Deprecated
- This member is deprecated.
Latency mode:
true
: Low latency with unassured quality.false
: (Default) High latency with assured quality.
- videoGop
- GOP (Group of Pictures) in fps of the video frames for Media Push. The default value is 30.
- videoCodecProfile
-
Video codec profile type for Media Push. Set it as 66, 77, or 100 (default). See VideoCodecProfileType for details.
Attention: If you set this parameter to any other value, Agora adjusts it to the default value. - videoCodecType
- Video codec profile types for Media Push. See VideoCodecTypeForStream.
- transcodingUsers
-
Manages the user layout configuration in the Media Push. Agora supports a maximum of 17 transcoding users in a Media Push channel. See TranscodingUser.
- transcodingExtraInfo
-
Reserved property. Extra user-defined information to send SEI for the H.264/H.265 video stream to the CDN live client. Maximum length: 4096 bytes. For more information on SEI, see SEI-related questions.
- backgroundColor
-
The background color in RGB hex value. Value only. Do not include a preceeding #. For example, 0xFFB6C1 (light pink). The default value is 0x000000 (black).
- userCount
-
The number of users in the Media Push. The value range is [0,17].
- metadata
-
- Deprecated
- Obsolete and not recommended for use.
The metadata sent to the CDN client.
- watermark
-
The watermark on the live video. The image format needs to be PNG. See RtcImage.
You can add one watermark, or add multiple watermarks using an array.
- backgroundImage
-
The number of background images on the live video. The image format needs to be PNG. See RtcImage.
You can add a background image or use an array to add multiple background images. This parameter is used with backgroundImageCount.
- audioSampleRate
-
The audio sampling rate (Hz) of the output media stream. See AudioSampleRateType.
- audioBitrate
-
Bitrate (Kbps) of the audio output stream for Media Push. The default value is 48, and the highest value is 128.
- audioChannels
-
The number of audio channels for Media Push. Agora recommends choosing 1 (mono), or 2 (stereo) audio channels. Special players are required if you choose 3, 4, or 5.
- 1: (Default) Mono
- 2: Stereo.
- 3: Three audio channels.
- 4: Four audio channels.
- 5: Five audio channels.
- audioCodecProfile
- Audio codec profile type for Media Push. See AudioCodecProfileType.
- watermarkCount
- The number of watermarks on the live video. The total number of watermarks and background images can range from 0 to 10. This parameter is used with watermark.
- backgroundImageCount
- The number of background images on the live video. The total number of watermarks and background images can range from 0 to 10. This parameter is used with backgroundImage.
- advancedFeatures
- Advanced features of the Media Push with transcoding. See LiveStreamAdvancedFeature.
- advancedFeatureCount
- The number of enabled advanced features. The default value is 0.