创建合流任务。
接口说明
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
live:CreateMixStream | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
DomainName | string | 是 | 主播流域名。 注意 目前仅支持华东 2(cn-shanghai)和华北 2(cn-beijing)两个区域的域名。
| example.com |
LayoutId | string | 是 | 布局 ID。取值:
说明
更多信息请参见合流预设布局参考
| MixStreamLayout-1-1 |
InputStreamList | string | 是 | 合流输入列表。JSON 数组。 参考下方的 InputStreamConfig。 | [{"LayoutChildId":1,"ResourceType":"live","ResourceValue":"rtmp://example.net/live/f2139ec2b8d6a191068cd****ea9064d?auth_key=1600947017-0-0-0b5645fe35d21a65ab92b394bd4d****","LayoutConfig":{"FillMode":"fit","PositionRefer":"topLeft","FillPositionNormalized":[0,0],"FillSizeNormalized":[1,1]}}] |
OutputConfig | string | 是 | 合流输出配置。格式为 JSON 字符串。 参考下方的 OutputConfig。 | {"AppName":"liveApp****","StreamName":"9a78fb3f5c508be0122746f677a3****","MixStreamTemplate":"lp_hd_v","ExpireDuration":"86400"} |
CallbackConfig | string | 否 | 回调地址。JSON 数组。 当事件产生时,直播服务端会向该地址发起 HTTP POST 请求,具体内容将通过 HTTP Body 送达。 | {"CallbackUrl":"http://aliyundoc.com"} |
InputStreamConfig
名称 | 类型 | 描述 |
---|---|---|
ResourceType | String | 资源类型。 live:直播流地址。 url:文件流地址。 |
ResourceValue | String | 资源地址。 如果 ResourceType 为 live,则为直播流地址。直播流地址支持 RTMP、FLV 和 ARTC 协议,不支持 HLS 协议。 如果 ResourceType 为 url,则为文件流地址。 |
LayoutChildId | String | 布局方格对应 ID(也代表合流的叠加顺序)。 |
LayoutConfig | LayoutConfig[] | JSON 数组,代表所在位置、填充方式等布局信息。 如果使用预设布局,则此参数可以不填。 如果设置了该值,则忽略 LayoutChildId 对应的预设布局信息。 |
LayoutConfig
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
FillSizeNormalized | JSON 浮点数组 | 必选 | 表示该 Layer 元素需要填充的尺寸大小。 [w,h]:w、h 取值范围[0-1]。其中宽高都是进行了归一化计算。 例如:[0.2,0.3]代表水平占比 20%,垂直占比 30%。 |
FillPositionNormalized | 浮点数数组 | 必选 | 表示该 Layer 元素填充区位置归一化值。 [x,y]:x、y 的取值范围[0-1]。 例如:[0.1,0.1]代表左上角水平偏移 10%, 垂直偏移 10%。 |
PositionRefer | 字符串 | 可选 | 设置元素的 position 参考坐标值。 建议设置 topLeft,代表左上角。 |
FillMode | 字符串 | 可选 | 设置元素填充方式。 none:不填充。 fit:缩放填充保证最长的边达到边界,而最短的边可能需要加黑边。 fill:先按照宽和高的最大比例值进行等比缩放,然后进行 crop,保证全部填充。 建议设置为 fit。 |
OutputConfig
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
AppName | String | 是 | 输出 App 名。不支持#、?等特殊字符。 |
StreamName | String | 是 | 输出流名。不支持#、?等特殊字符。 |
MixStreamTemplate | String | 是 | 合流输出规格模板 ID (在传参时仅传模板 ID,例如 lp_ld)。 支持: lp_ld(分辨率:640x360), lp_sd(分辨率:854x480), lp_hd(分辨率:1280x720), lp_ud(分辨率:1920x1080), lp_ld_v(分辨率:640x360), lp_sd_v(分辨率:854x480), lp_hd_v(分辨率:1280x720), lp_ud_v(分辨率:1920x1080) , lp_ld_v_optm(分辨率:640x360), lp_sd_v_optm(分辨率:854x480), lp_hd_v_optm(分辨率:1280x720), lp_ud_v_optm(分辨率:1920x1080)。 _v 表示竖屏模板,_optm 表示低延迟模板,括号里表示模板的分辨率。 |
ExpireDuration | Long | 可选 | 任务过期时间。单位:秒。取值范围:1~31536000(1 年)。 如果不设置默认 7 天过期清理任务。 |
返回参数
示例
正常返回示例
JSON
格式
{
"MixStreamId": "5b2a046e-74d7-385e-253f-8a5b87e4****",
"RequestId": "0D715397-2E66-4AE1-694h-C546628AD145"
}
错误码
HTTP status code | 错误码 | 错误信息 |
---|---|---|
400 | InvalidUserId.Malformed | %s |
400 | InvalidParameter.Malformed | %s |
400 | MissingParameter | %s |
401 | IllegalOperation | %s |
403 | MixStreamAlreadyExist | %s |
403 | MixStreamNotExist | %s |
403 | UserQuotaExceed | %s |
404 | InvalidDomainName.NotFound | %s |
500 | InternalError | %s |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|
暂无变更历史
增加合流事件回调示例
- 合流创建成功
{
"EventMessage":
{
"StreamName":"liveStream****",//合流输出流名
"Message":"",
"DomainName":"example.com",
"MixstreamId":"5b2a046e-74d7-385e-253f-8a5b87e4****",//合流任务 ID
"Code":"Success",
"AppName":"liveApp****"//合流输出 App 名
},
"EventType":"MixstreamStartCallback",
"MessageMd5":"7c7b1d9480ae892lkasjdflkasjbd****",
"CasterId":""}
- 合流创建失败
{"EventMessage":
{
"StreamName":"liveStream****",
"Message":"MixStreamAlreadyExist",
"DomainName":"example.com",
"Code":"Error",
"AppName":"liveApp****"
},
"EventType":"MixstreamStartCallback",
"MessageMd5":"7c7b1d9480ae892lkasjdflkasjbd****",
"CasterId":""
}
SDK 示例
详细示例,请参见合流代码示例。