All Products
Search
Document Center

:UpdateLiveMPUTask (new)

Last Updated:Nov 29, 2024

Updates a mixed-stream relay task.

Usage notes

Make sure that a mixed-stream relay task is created before you call this operation. You can call the StartLiveMPUTask operation to create a mixed-stream relay task.

QPS limit

You can call this operation up to 500 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see QPS limits.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter

Type

Required

Example

Description

Action

String

Yes

UpdateLiveMPUTask

The operation that you want to perform. Set the value to UpdateLiveMPUTask.

AppId

String

Yes

yourAppId

The application ID. You can specify only one application ID. The ID can be up to 64 characters in length and can contain letters, digits, underscores (_), and hyphens (-).

ChannelId

String

Yes

yourChannelId

The channel ID. You can specify only one channel ID. The ID can be up to 64 characters in length and can contain letters, digits, underscores (_), and hyphens (-).

TaskId

String

Yes

yourTaskId

The task ID. You can specify only one task ID. The ID can be up to 55 characters in length and can contain letters, digits, underscores (_), and hyphens (-). The ID must be unique.

MixMode

String

No

0

The stream mixing mode. Valid values:

  • 0: the single-stream relay mode. In this mode, the service only relays the original single stream, but does not transcode mixed streams. You do not need to set parameters for mixed-stream transcoding.

  • 1 (default): the mixed-stream relay mode.

StreamURL

String

No

rtmp://example.com/live/stream

The ingest URL. You can specify only one ingest URL in the Real-Time Messaging Protocol (RTMP) format. The URL can be up to 2,048 characters in length. For information about the generation rules of ingest URLs, see Ingest and streaming URLs.

Note
  • If the ingest URL is under a domain name for which hotlink protection is enabled, you must include an access token in the URL.

  • You cannot use the same ingest URL in different tasks.

  • You cannot use the same ingest URL within 10 seconds after a task is stopped.

MultiStreamURL

Array

No

The multiple ingest URLs to relay. This parameter allows you to specify multiple ingest URLs.

URL

String

No

rtmp://example.com/live/stream****

The ingest URL. Only the RTMP format is supported. The URL can be up to 2,048 characters in length. For information about the generation rules of ingest URLs, see Ingest and streaming URLs.

IsAliCdn

Boolean

No

false

Specifies whether to perform stream relay by using Alibaba Cloud CDN. Valid values:

  • false: performs stream relay by using a CDN service that is not Alibaba Cloud CDN.

  • true: performs stream relay by using Alibaba Cloud CDN.

    Note

    The default value of this parameter is false.

SingleSubParams

Object

No

The single-stream relay parameters. These parameters are required if you set MixMode to 0.

SourceType

String

No

camera

The type of the video source. This parameter is valid only when you set StreamType to 2. Valid values:

  • camera (default)

  • shareScreen

StreamType

String

No

0

The type of the stream that you want to relay. Valid values:

  • 0 (default): original stream

  • 1: only the audio track

  • 2: only the video track

UserId

String

Yes

yourSubUserId

The user ID. In the single-stream relay mode, you can relay only one stream in a request.

TranscodeParams

Object

No

The mixed-stream relay parameters. These parameters are required if you set MixMode to 1.

Background

Object

No

The global background image.

RenderMode

String

No

1

The display mode of the global background image. Valid values:

  • 0: scales the background image proportionally to fit the view, with black bars displayed.

  • 1 (default): crops the background image to fit the view.

URL

String

No

yourImageUrl

The URL of the global background image.

EncodeParams

Object

No

The encoding parameters for the output stream.

AudioOnly

String

No

false

Specifies whether the output stream is an audio-only stream. Valid values:

  • true: The output stream is an audio-only stream. If you set this parameter to true, you need to configure only audio-related parameters under EncodeParams.

  • false (default): The output stream is not an audio-only stream. If you set this parameter to false, you need to configure all parameters under EncodeParams, except the VideoCodec and EnhancedParam parameters.

AudioBitrate

String

No

128

The bitrate of the audio. Valid values: [8,500]. Unit: Kbit/s.

AudioChannels

String

No

2

The number of sound channels. Valid values: 1 and 2.

AudioSampleRate

String

No

44100

The audio sampling rate. Valid values: 8000, 16000, 32000, 44100, and 48000. Unit: Hz.

VideoCodec

String

No

H.264

The video codec. Valid values:

  • H.264 (default)

  • H.265

VideoBitrate

String

No

3500

The bitrate of the video. Valid values: [1,10000]. Unit: Kbit/s.

VideoFramerate

String

No

25

The frame rate of the video. Valid values: [1,60]. Unit: frames per second (FPS).

VideoGop

String

No

20

The group of pictures (GOP) size of the video. Valid values: [1,60].

VideoHeight

String

No

1000

The height of the video. Valid values: [0,1920]. Unit: pixels.

VideoWidth

String

No

1920

The width of the video. Valid values: [0,1920]. Unit: pixels.

EnhancedParam

String

No

{"profile": "high", "preset": "veryfast"}

The parameter used for encoding enhancement, which is a JSON string. The parameter includes the optional profile and preset fields.

  • profile: the encoding level. If the video codec is H.264, the valid values of this field are baseline, main, and high. If the video codec is H.265, the valid value of this field is main.

  • preset: adjusts the trade-off between encoding speed and video quality. The valid values of this field are ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, and placebo. Each value specifies a level of trade-off between encoding speed and video quality. For example, the ultrafast preset has the fastest encoding speed but the lowest video quality, while the placebo preset sacrifices the encoding speed for the best video quality.

Note

A value of superfast for the preset field is suitable for real-time communication scenarios. We recommend that you not set the field if you are not a professional encoding engineer.

Layout

Object

No

The video layout information.

Note

If video transcoding is required, you must specify the video layout information, including the x-coordinate and y-coordinate, the width and height, and the layer. For audio-only transcoding, leave the video layout information empty.

UserPanes

Array

No

The information about the panes.

UserInfo

Object

No

The information about the user whose stream is played in the pane. If you leave this parameter empty, the system automatically sets this parameter based on the order in which streamers join the channel.

Note
  • If you specify the information about a user by using this parameter, the information about the user must also be specified by using the TranscodeParams.UserInfos parameter.

  • This parameter is valid only when you set StreamType to 0 or 2.

SourceType

String

No

camera

The type of the video source. This parameter is valid only when you set StreamType to 2. Valid values:

  • camera (default)

  • shareScreen

ChannelId

String

No

yourChannelId

The ID of the channel where the user is. If the user is in the same channel, you can leave this parameter empty. We recommend that you specify this parameter when you perform stream mixing across channels.

UserId

String

No

yourSubUserId

The user ID.

Height

String

No

0.2632

The height of the pane. The value is normalized.

Width

String

No

0.3564

The width of the pane. The value is normalized.

X

String

No

0.2456

The x-coordinate of the pane. The value is normalized.

Y

String

No

0.3789

The y-coordinate of the pane. The value is normalized.

ZOrder

String

No

0

The layer in which the pane resides. A value of 0 indicates the bottom layer. Each increment of the value by 1 indicates the next upper layer.

BackgroundImageUrl

String

No

yourImageUrl

The URL of the background image of the pane. This image is displayed if the user turns off the camera or is not present in the channel.

RenderMode

String

No

1

The display mode of the pane. Valid values:

  • 0: scales the video proportionally to fit the view, with black bars displayed.

  • 1 (default): crops the video to fit the view.

UserInfos

Array

No

The information about the users whose streams are subscribed to. If you leave this parameter empty, streams from all users are mixed.

SourceType

String

No

camera

The type of the video source that is subscribed to. This parameter is valid only when you set StreamType to 2. Valid values:

  • camera (default)

  • shareScreen

StreamType

String

No

0

The type of the relayed stream that is subscribed to. Valid values:

  • 0 (default): original stream

  • 1: only the audio track

  • 2: only the video track

ChannelId

String

No

yourChannelId

The ID of the channel where the subscribed user is. If the user is in the same channel, you can leave this parameter empty. We recommend that you specify this parameter when you perform stream mixing across channels.

UserId

String

Yes

yourSubUserId

The ID of the subscribed user.

SeiParams

Object

No

The supplemental enhancement information (SEI) parameters.

LayoutVolume

Object

No

The layout and volume SEI. If you leave this parameter empty, the default layout and volume SEI is used.

FollowIdr

String

No

0

Specifies whether to include the SEI in an Instantaneous Decoder Refresh (IDR) frame. Valid values:

  • 0: does not include the SEI.

  • 1: includes the SEI.

Interval

String

No

1000

The interval at which the SEI is sent. Valid values: [1000,5000]. Unit: milliseconds.

PassThrough

Object

No

Specifies whether to pass through the SEI.

FollowIdr

String

No

0

Specifies whether to include the SEI in an IDR frame. Valid values:

  • 0: does not include the SEI.

  • 1: includes the SEI.

Interval

String

No

1000

The interval at which the SEI is sent. Valid values: [1000,5000]. Unit: milliseconds.

PayloadContent

String

No

yourPayloadContent

The payload content of the SEI.

PayloadContentKey

String

No

yourPayloadContentKey

The key of the payload content of the SEI. If you do not specify this parameter, the default value udd is used.

Response parameters

Parameter

Type

Example

Description

RequestId

String

0F72851F-5DC1-1979-9B2C-450040316C3E

The request ID.

Examples

Sample requests

http(s)://live.aliyuncs.com/?Action=UpdateLiveMPUTask
&AppId=yourAppId
&ChannelId=yourChannelId
&TaskId=yourTaskId
&MixMode=0
&StreamURL=rtmp://example.com/live/stream
&MultiStreamURL=[{"URL":"rtmp://example.com/live/stream****"}]
&SingleSubParams={"SourceType":"camera","StreamType":"0","UserId":"yourSubUserId"}
&TranscodeParams={"Background":{"RenderMode":"1","URL":"yourImageUrl"},"EncodeParams":{"AudioOnly":"false","AudioBitrate":"128","AudioChannels":"2","AudioSampleRate":"44100","VideoCodec":"H.264","VideoBitrate":"3500","VideoFramerate":"25","VideoGop":"20","VideoHeight":"1000","VideoWidth":"1920","EnhancedParam":"{\"profile\": \"high\", \"preset\": \"veryfast\"}"},"Layout":{"UserPanes":[{"UserInfo":{"SourceType":"camera","ChannelId":"yourChannelId","UserId":"yourSubUserId"},"Height":"0.2632","Width":"0.3564","X":"0.2456","Y":"0.3789","ZOrder":"0","BackgroundImageUrl":"yourImageUrl","RenderMode":"1"}]},"UserInfos":[{"SourceType":"camera","StreamType":"0","ChannelId":"yourChannelId","UserId":"yourSubUserId"}]}
&SeiParams={"LayoutVolume":{"FollowIdr":"0","Interval":"1000"},"PassThrough":{"FollowIdr":"0","Interval":"1000","PayloadContent":"yourPayloadContent","PayloadContentKey":"yourPayloadContentKey"}}
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<UpdateLiveMPUTaskResponse>
    <RequestId>0F72851F-5DC1-1979-9B2C-450040316C3E</RequestId>
</UpdateLiveMPUTaskResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "0F72851F-5DC1-1979-9B2C-450040316C3E"
}

Error codes

For a list of error codes, see Service error codes.