全部产品
Search
文档中心

视频直播:更新混流转推任务(新)

更新时间:Nov 01, 2024

调用UpdateLiveMPUTask更新混流转推任务。

使用说明

调用本接口前,您必须已经调用StartLiveMPUTask创建混流转推任务。

QPS限制

本接口的单用户QPS限制为500次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String UpdateLiveMPUTask

系统规定参数。取值:UpdateLiveMPUTask

AppId String yourAppId

应用ID,仅支持传单个ID。由大小写字母、数字、下划线、短划线(-)组成,最大64字符。

ChannelId String yourChannelId

频道ID,仅支持传单个ID。由大小写字母、数字、下划线、短划线(-)组成,最大64字符。

TaskId String yourTaskId

任务ID,仅支持传单个ID。由大小写字母、数字、下划线、短划线(-)组成,最大55字符。此ID为旁路转推的标识,需保证唯一。

MixMode String 0

混流模式。取值:

  • 0:单路转推,不混流转码,仅转推原始单路流,无需配置混流转码参数。
  • 1(默认值):混流转码转推。
StreamURL String rtmp://example.com/live/stream

直播推流地址,仅支持RTMP协议,仅支持传单个地址,最大长度不超过2048个字符。生成规则请参见推流地址和播放地址

说明
  • 对已开防盗链鉴权的域名,需要在推流地址中包含鉴权串。
  • 禁止同一个StreamURL在不同任务中同时使用。
  • 任务停止10S之内,禁止使用同一个StreamURL。
MultiStreamURL Array

多地址转推参数,可填写多个直播推流地址。

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

直播推流地址,仅支持RTMP协议,最大长度不超过2048个字符。生成规则请参见推流地址和播放地址

IsAliCdn Boolean false

是否转推到阿里云CDN。

  • false为转推非阿里云CDN。
  • true为转推阿里云CDN。

    说明 该参数默认为false。

SingleSubParams Object

单流转推参数,单流转推(MixMode=0)时必填。

SourceType String camera

单流转推模式下视频输入流类型,仅针对视频流(StreamType=2)有效。取值:

  • camera(默认值):摄像头。
  • shareScreen:屏幕共享。
StreamType String 0

单流转推模式下转推流类型。取值:

  • 0(默认值):转推原始流。
  • 1:仅转推音频流。
  • 2:仅转推视频流。
UserId String yourSubUserId

转推用户ID,一次只能转推一路流。

TranscodeParams Object

混流转码转推参数,混流转码转推(MixMode=1)时必填。

Background Object

混流全局背景图。

RenderMode String 1

子画面输出时的显示模式:

  • 0:缩放并显示黑底。
  • 1(默认):裁剪。
URL String yourImageUrl

全局背景图URL。

EncodeParams Object

转推输出的编码参数。

AudioOnly String false

是否为纯音频,取值:

  • true:纯音频,仅需要设置音频相关参数。
  • false(默认值):非纯音频,除VideoCodec参数与EnhancedParam参数外,其它参数均不能为空。
AudioBitrate String 128

音频码率,取值范围:[8, 500],单位:kbps。

AudioChannels String 2

音频声道数,取值:1、2。

AudioSampleRate String 44100

音频采样率,取值:8000、16000、32000、44100、48000,单位:Hz。

VideoCodec String H.264

视频编码格式。取值:

  • H.264(默认值)。
  • H.265。
VideoBitrate String 3500

视频码率,取值范围:[1, 10000],单位:kbps。

VideoFramerate String 25

视频帧率,取值范围:[1, 60],单位:fps。

VideoGop String 20

视频GOP,取值范围:[1, 60]。

VideoHeight String 1000

视频高,取值范围:[0, 1920],单位:px。

VideoWidth String 1920

视频宽,取值范围:[0, 1920],单位:px。

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

编码增强参数,JSON字符串,目前支持的可选配置包括profile与preset。

  • profile:编码级别。当视频编码格式为H.264时,profile支持的可选值包括:"baseline", "main", "high";当视频编码格式为H.265时,profile支持的可选值包括:"main"。
  • preset:调节编码速度和质量的平衡。preset支持的可选值包括:"ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow" "placebo"。每个值代表了一种编码速度与输出视频质量的策略,从"ultrafast"(极快,编码速度优先)到"placebo"(追求极致质量,编码极慢)。
说明 例如设置superfast,主要用于实时通讯领域。建议非编码器专业技术人员,不设置该选项。
Layout Object

视频布局信息。

说明 视频转码时,需要指定视频布局信息,包括布局坐标(X,Y),布局窗格(Width,Height),叠放顺序(ZOrder);纯音频转码时,禁止填写视频布局信息。
UserPanes Array

混流用户窗格信息。

UserInfo Object

该窗格对应的混流用户信息,不填时后台按照上行主播的进房顺序自动填充。

说明
  • 如果指定混流用户信息,该用户信息需要已在TranscodeParams.UserInfos参数中配置。
  • 仅针对原始流和视频流有效。
SourceType String camera

混流转码模模式下视频输入流类型,仅针对视频流(StreamType=2)有效。取值:

  • camera(默认值):摄像头。
  • shareScreen:屏幕共享。
ChannelId String yourChannelId

混流用户所在的频道ID,同频道内混流的用户可不填,跨频道混流时建议填写该参数。

UserId String yourSubUserId

混流用户ID。

Height String 0.2632

窗格高,归一化百分比。

Width String 0.3564

窗格宽,归一化百分比。

X String 0.2456

坐标X,归一化百分比。

Y String 0.3789

坐标Y,归一化百分比。

ZOrder String 0

叠放顺序,0为最底层,1层在0层之上,以此类推。

BackgroundImageUrl String yourImageUrl

子画面的背景图URL。当用户关闭摄像头或未进入房间时,会在布局位置填充为此图片。

RenderMode String 1

子画面输出时的显示模式,取值:

  • 0:缩放并显示黑底。
  • 1(默认值):裁剪。
UserInfos Array

混流时订阅的用户信息,不指定用户则所有用户混流。

SourceType String camera

混流时订阅的视频输入流类型,仅针对视频流(StreamType=2)有效。取值:

  • camera(默认值):摄像头。
  • shareScreen:屏幕共享。
StreamType String 0

混流时订阅的转推流类型。取值:

  • 0(默认值):转推原始流。
  • 1:仅转推音频流。
  • 2:仅转推视频流。
ChannelId String yourChannelId

混流时订阅用户所在的频道ID,同频道内混流的用户可不填,跨频道混流时建议填写该参数。

UserId String yourSubUserId

混流时订阅的用户ID。

SeiParams Object

SEI配置参数。

LayoutVolume Object

布局和音量SEI,该参数内容可以为空,表示携带默认的布局和音量SEI。

FollowIdr String 0

发送IDR关键帧时是否确保携带SEI,取值:

  • 0:不确保带SEI。
  • 1:确保带SEI。
Interval String 1000

SEI发送间隔,取值范围:[1000, 5000],单位:毫秒。

PassThrough Object

透传SEI。

FollowIdr String 0

发送IDR关键帧时是否确保携带SEI,取值:

  • 0:不确保带SEI。
  • 1:确保带SEI。
Interval String 1000

SEI发送间隔,取值范围:[1000, 5000],单位:毫秒。

PayloadContent String yourPayloadContent

透传SEI的payload内容。

PayloadContentKey String yourPayloadContentKey

透传SEI的payload内容对应的key值。不设置时,key为默认值udd。

返回数据

名称

类型

示例值

描述

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

请求ID。

示例

请求示例

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"}}
&公共请求参数

正常返回示例

XML格式

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

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

JSON格式

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

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

错误码

访问错误中心查看更多错误码。