Agora Java API Reference for Android

Classes | Public Member Functions | Public Attributes | List of all members
io.agora.rtc2.live.LiveTranscoding Class Reference

Transcoding configurations for Media Push. More...

## Classes
enum | AudioCodecProfileType
| Self-defined audio codec profile. More...
enum | AudioSampleRateType
class | TranscodingUser
| Transcoding configurations of each host. More...
enum | VideoCodecProfileType
| Video codec profile types. More...
enum | VideoCodecType
| The codec type of the output video. More...

## Public Member Functions
void | addWatermark (AgoraImage watermark)
boolean | removeWatermark (AgoraImage watermark)
ArrayList< AgoraImage > | getWatermarkList ()
void | addBackgroundImage (AgoraImage backgroundImage)
boolean | removeBackgroundImage (AgoraImage backgroundImage)
ArrayList< AgoraImage > | getBackgroundImageList ()
void | setAdvancedFeatures (String featureName, Boolean opened)
Map< String, Boolean > | getAdvancedFeatures ()
int | addUser (TranscodingUser user)
final ArrayList< TranscodingUser > | getUsers ()
void | setUsers (ArrayList< TranscodingUser > users)
void | setUsers (Map< Integer, TranscodingUser > users)
int | removeUser (int uid)
int | getUserCount ()
int | getBackgroundColor ()
void | setBackgroundColor (int color)
void | setBackgroundColor (int red, int green, int blue)
int | getRed ()
int | getGreen ()
int | getBlue ()
void | setRed (int red)
void | setGreen (int green)
void | setBlue (int blue)

## Public Attributes
int | width
int | height
int | videoBitrate
int | videoFramerate
boolean | lowLatency
int | videoGop
AudioSampleRateType | audioSampleRate
int | audioBitrate
int | audioChannels
AudioCodecProfileType | audioCodecProfile
VideoCodecProfileType | videoCodecProfile
VideoCodecType | videoCodecType
int | userCount
int | backgroundColor
String | userConfigExtraInfo
String | metadata

## Detailed Description

Transcoding configurations for Media Push.

## Member Function Documentation

## ◆ addWatermark()

void io.agora.rtc2.live.LiveTranscoding.addWatermark | ( | AgoraImage | watermark | ) |

add watermark to list

Parameters

  watermark | you want to add watermark.

## ◆ removeWatermark()

boolean io.agora.rtc2.live.LiveTranscoding.removeWatermark | ( | AgoraImage | watermark | ) |

remove watermark from list

Parameters

  watermark | you want to remove object.

Returns
  if success, will return true. Otherwise, will return false.

## ◆ getWatermarkList()

ArrayList<AgoraImage> io.agora.rtc2.live.LiveTranscoding.getWatermarkList | ( |  | ) |

get object attribute of watermarkList

Returns
  watermark list

## ◆ addBackgroundImage()

void io.agora.rtc2.live.LiveTranscoding.addBackgroundImage | ( | AgoraImage | backgroundImage | ) |

add background image to backgroundImageList

Parameters

  backgroundImage | you want to add background to list.

## ◆ removeBackgroundImage()

boolean io.agora.rtc2.live.LiveTranscoding.removeBackgroundImage | ( | AgoraImage | backgroundImage | ) |

remove background from background image list

Parameters

  backgroundImage | you want to remove background image

Returns
  if success to remove, will return true. Otherwise, will return false.

## ◆ getBackgroundImageList()

ArrayList<AgoraImage> io.agora.rtc2.live.LiveTranscoding.getBackgroundImageList | ( |  | ) |

get object attribute of backgroundImageList

Returns
  backgroundImage list

## ◆ setAdvancedFeatures()

void io.agora.rtc2.live.LiveTranscoding.setAdvancedFeatures | ( | String | featureName,
|  | Boolean | opened
| ) |  |

Enables/Disables advanced features of the RTMP or RTMPS streaming with transcoding.

Parameters

  featureName | The name of the advanced feature. It contains LBHQ and VEO.
  opened | Whether to enable the advanced feature: `true`: Enable the advanced feature. `false`: (Default) Disable the advanced feature.

## ◆ getAdvancedFeatures()

Map<String, Boolean> io.agora.rtc2.live.LiveTranscoding.getAdvancedFeatures | ( |  | ) |

Checks whether advanced features of the RTMP or RTMPS streaming with transcoding are enabled.

Returns
  The name of each advanced feature and whether the advanced feature is enabled.

## ◆ addUser()

int io.agora.rtc2.live.LiveTranscoding.addUser | ( | TranscodingUser | user | ) |

Adds a user displaying the video in CDN live.

Parameters

  user | transcodingUser.

Returns
  - 0: Success.
  - <0: Failure.

## ◆ getUsers()

final ArrayList<TranscodingUser> io.agora.rtc2.live.LiveTranscoding.getUsers | ( |  | ) |

Gets the user list in CDN live.

This method retrieves all users in CDN live. The user list returned by this method is read-only and should not be modified.

Returns
  User list in a array.

## ◆ setUsers() [1/2]

void io.agora.rtc2.live.LiveTranscoding.setUsers | ( | ArrayList< TranscodingUser > | users | ) |

Sets the users in batches in CDN live.

This method sets all users involved in the CDN live stream. This method replaces the old user data with the new user data.

Parameters

  users | All users involved in CDN live.

## ◆ setUsers() [2/2]

void io.agora.rtc2.live.LiveTranscoding.setUsers | ( | Map< Integer, TranscodingUser > | users | ) |

Sets the users in batches in CDN live. This method sets all users involved in CDN live. This method replaces the old user data with the the new user data.

Parameters

  users | All users involved in CDN live.

## ◆ removeUser()

int io.agora.rtc2.live.LiveTranscoding.removeUser | ( | int | uid | ) |

Removes a user from CDN live.

Parameters

  uid | User ID of the user to remove from CDN live.

Returns
  - 0: Success.
  - < 0: Failure.

## ◆ getUserCount()

int io.agora.rtc2.live.LiveTranscoding.getUserCount | ( |  | ) |

Gets the number of users transcoded in CDN live.

Returns
  Number of users transcoded in CDN live.

## ◆ getBackgroundColor()

int io.agora.rtc2.live.LiveTranscoding.getBackgroundColor | ( |  | ) |

Gets the background color in hex.

Returns
  Background color to set in RGB hex value.

## ◆ setBackgroundColor() [1/2]

void io.agora.rtc2.live.LiveTranscoding.setBackgroundColor | ( | int | color | ) |

Sets the background color of the CDN live stream in the format of RGB hex.

Parameters

  color | Background color to set in RGB hex value. Value only, do not include a #. For example, 0xFFB6C1 (light pink). The default value is 0x000000 (black).

## ◆ setBackgroundColor() [2/2]

void io.agora.rtc2.live.LiveTranscoding.setBackgroundColor | ( | int | red,
|  | int | green,
|  | int | blue
| ) |  |

Sets the background color in RGB format.

Parameters

  red | Red component.
  green | Green component.
  blue | Blue component.

## ◆ getRed()

int io.agora.rtc2.live.LiveTranscoding.getRed | ( |  | ) |

Deprecated:
  Gets the background color's red component.

Returns
  Background color's red component.

## ◆ getGreen()

int io.agora.rtc2.live.LiveTranscoding.getGreen | ( |  | ) |

Deprecated:
  Gets the background color's green component.

Returns
  Background color's green component.

## ◆ getBlue()

int io.agora.rtc2.live.LiveTranscoding.getBlue | ( |  | ) |

Deprecated:
  Gets the background color's blue component.

Returns
  Background color's blue component.

## ◆ setRed()

void io.agora.rtc2.live.LiveTranscoding.setRed | ( | int | red | ) |

Deprecated:
  Sets the background color's red component.

## ◆ setGreen()

void io.agora.rtc2.live.LiveTranscoding.setGreen | ( | int | green | ) |

Deprecated:
  Sets the background color's green component.

## ◆ setBlue()

void io.agora.rtc2.live.LiveTranscoding.setBlue | ( | int | blue | ) |

Deprecated:
  Sets the background color's blue component.

## Member Data Documentation

## ◆ width

int io.agora.rtc2.live.LiveTranscoding.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` and `height` as 0.

## ◆ height

int io.agora.rtc2.live.LiveTranscoding.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` and `height` as 0.

## ◆ videoBitrate

int io.agora.rtc2.live.LiveTranscoding.videoBitrate

The encoding bitrate (Kbps) of the video. This parameter does not need to be set; keeping the default value `STANDARD_BITRATE` is sufficient. The SDK automatically matches the most suitable bitrate based on the video resolution and frame rate you have set. For the correspondence between video resolution and frame rate, see `Video profile`.

## ◆ videoFramerate

int io.agora.rtc2.live.LiveTranscoding.videoFramerate

Frame rate (fps) of the output video stream set for Media Push. The default value is 15. The value range is (0,30].

Note
  The Agora server adjusts any value over 30 to 30.

## ◆ lowLatency

boolean io.agora.rtc2.live.LiveTranscoding.lowLatency

Latency mode:

- `true`: Low latency with unassured quality.

- `false`: (Default) High latency with assured quality.

  Deprecated:
    Deprecated as of v2.8.0. Agora does not recommend using this parameter.

## ◆ videoGop

int io.agora.rtc2.live.LiveTranscoding.videoGop

GOP (Group of Pictures) in fps of the video frames for Media Push. The default value is 30.

## ◆ audioSampleRate

AudioSampleRateType io.agora.rtc2.live.LiveTranscoding.audioSampleRate

The audio sampling rate (Hz) of the output media stream. See `AudioSampleRateType`.

## ◆ audioBitrate

int io.agora.rtc2.live.LiveTranscoding.audioBitrate

Bitrate (Kbps) of the audio output stream for Media Push. The default value is 48, and the highest value is 128.

## ◆ audioChannels

int io.agora.rtc2.live.LiveTranscoding.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

AudioCodecProfileType io.agora.rtc2.live.LiveTranscoding.audioCodecProfile

Audio codec profile type for Media Push. See `AudioCodecProfileType`.

## ◆ videoCodecProfile

VideoCodecProfileType io.agora.rtc2.live.LiveTranscoding.videoCodecProfile

Video codec profile type for Media Push. Set it as 66, 77, or 100 (default). See `VideoCodecProfileType` for details.

Note
  If you set this parameter to any other value, Agora adjusts it to the default value.

## ◆ videoCodecType

VideoCodecType io.agora.rtc2.live.LiveTranscoding.videoCodecType

Video codec profile types for Media Push. See `VideoCodecType`.

## ◆ userCount

int io.agora.rtc2.live.LiveTranscoding.userCount

Obsolete and not recommended for use. Use `getUserCount` instead. The number of users in the Media Push. The value range is [0,17].

Deprecated:
  This parameter is deprecated. We recommend using the {getUserCount} method.

## ◆ backgroundColor

int io.agora.rtc2.live.LiveTranscoding.backgroundColor

Obsolete and not recommended for use. Use `setBackgroundColor [1/2]` instead.

Deprecated:
  This parameter is deprecated. We recommend using the {setBackgroundColor} method to set the background color.

## ◆ userConfigExtraInfo

String io.agora.rtc2.live.LiveTranscoding.userConfigExtraInfo

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.

## ◆ metadata

String io.agora.rtc2.live.LiveTranscoding.metadata

Obsolete and not recommended for use. The metadata sent to the CDN client.

Deprecated:
  This parameter is deprecated.