全部产品
Search
文档中心

视频直播:添加节目到节目单

更新时间:Jan 12, 2024

调用AddShowIntoShowList添加节目到节目单中。

使用说明

请先创建新播单型导播台,添加新播单型导播台视频资源后再调用本接口添加导播台节目到节目单中。使用API创建导播台,请参见创建导播台

每个节目单最多可添加1000个节目。

重要
  • 使用视频点播(VOD)资源,可优先选择托管Bucket资源,自有Bucket资源存在过期风险,如果您选用自有Bucket资源,需注意资源的有效期时间。
  • 导播台素材资源输入请优先选择视频直播和视频点播的资源,若从第三方URL输入资源存在播放失败可能性,需确定资源的质量和有效性。

QPS限制

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

调试

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

请求参数

名称

类型

是否必选

示例值

描述

Action String AddShowIntoShowList

系统规定参数。取值:AddShowIntoShowList

showList.N.showName String liveShow****

节目名称。

showList.N.repeatTimes Integer 0

单个节目播放循环次数,默认为0。

说明
  • RepeatTimesDuration两者只允许设置其中一个。
  • RepeatTimes为重复次数,示例:0表示重复0次(实际播放1次),1表示重复1次(实际播放2次),以此类推。
showList.N.resourceType String vod

素材类型。取值:

  • live:直播素材。
  • vod:点播素材。
  • pic:图片素材。
说明
  • 使用视频点播(VOD)资源,可优先选择托管Bucket资源,自有Bucket资源存在过期风险,如果您选用自有Bucket资源,需注意资源的有效期时间。
  • 直播文件可支持直播素材和第三方URL。
  • 点播文件可支持点播素材、图片素材和第三方URL。
showList.N.resourceUrl String http://****/atestObject****.m3u8

播放文件URL。

showList.N.liveInputType Integer 1

自定义的类型标记。

showList.N.duration Long 20

单个节目播放时间长度,单位:秒。

说明 RepeatTimesDuration两者只允许设置其中一个。
showList.N.resourceId String a2b8e671-2fe5-4642-a2ec-bf93880e****

点播文件ID。

CasterId String LIVEPRODUCER_POST-cn-0pp1czt****

导播台ID。

  • 如果您通过CreateCaster接口创建导播台,请查看CreateCaster接口调用返回的参数CasterId值。
  • 如果您通过直播控制台创建导播台,请通过直播控制台 > 导播台 > 云导播台路径查看导播台名称。
说明 直播控制台云导播台页面导播台列表中的导播台名称即导播台ID。
ShowName String liveShow****

节目名称。

ResourceType String vod

素材类型。取值:

  • live:直播素材。
  • vod:点播素材。
  • pic:图片素材。
说明
  • 使用视频点播(VOD)资源,可优先选择托管Bucket资源,自有Bucket资源存在过期风险,如果您选用自有Bucket资源,需注意资源的有效期时间。
  • 直播文件可支持直播素材和第三方URL。
  • 点播文件可支持点播素材、图片素材和第三方URL。
ResourceUrl String http://****/atestObject****.m3u8

播放文件URL。

ResourceId String a2b8e671-2fe5-4642-a2ec-bf93880e****

点播文件ID。

Duration Long 20

单个节目播放时间长度,单位:秒。

说明 RepeatTimesDuration两者只允许设置其中一个。
RepeatTimes Integer 0

单个节目播放循环次数,默认为0。

说明
  • RepeatTimesDuration两者只允许设置其中一个。
  • RepeatTimes为重复次数,示例:-1表示可无限重复;0表示重复0次(实际播放1次);1表示重复1次(实际播放2次);以此类推。
Spot Integer 1

插入到播放列表的位置。位置从0 开始,默认添加到当前节目单的末尾。

LiveInputType Integer 1

自定义的类型标记。

isBatchMode Boolean false

是否批量添加节目到节目单。取值:

  • true:批量添加。
  • false:单个添加。
说明 该参数不填,取值为空时,也表示单个添加。

返回数据

名称

类型

示例值

描述

RequestId String 987DA143-A39C-5B5D-AF5B-3B07944A0036

请求ID。

ShowId String a2b8e671-2fe5-4642-a2ec-bf93880e****

节目ID。

successfulShowIds String f1933f16-5467-4308-b3a9-e8d451a90999,547436b8-c839-4469-a2c0-704c1ce5ce00

添加成功添加的节目ID列表。

failedList String failedList[Show1, Show2...]

添加失败的资源列表以及失败原因信息。

示例

请求示例

http(s)://live.aliyuncs.com/?Action=AddShowIntoShowList
&CasterId=LIVEPRODUCER_POST-cn-0pp1czt****
&ResourceType=vod
&<公共请求参数>

正常返回示例

XML格式

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

<AddShowIntoShowListResponse>
    <RequestId>987DA143-A39C-5B5D-AF5B-3B07944A0036</RequestId>
    <failedList>
        <show>
            <resourceUrl>test</resourceUrl>
            <resourceType>vod</resourceType>
        </show>
        <failInfo>ResourceUrl is invalid, probe failed</failInfo>
    </failedList>
    <failedList>
        <show>
            <resourceUrl>http://error.test.case</resourceUrl>
            <resourceType>vod</resourceType>
        </show>
        <failInfo>ResourceUrl is invalid, probe failed</failInfo>
    </failedList>
    <successfulShowIds>f1933f16-5467-4308-b3a9-e8d451a90999, 547436b8-c839-4469-a2c0-704c1ce5ce00</successfulShowIds>
</AddShowIntoShowListResponse>

JSON格式

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

{
  "RequestId" : "987DA143-A39C-5B5D-AF5B-3B07944A0036",
  "failedList" : [ {
    "show" : {
      "resourceUrl" : "test",
      "resourceType" : "vod"
    },
    "failInfo" : "ResourceUrl is invalid, probe failed"
  }, {
    "show" : {
      "resourceUrl" : "http://error.test.case",
      "resourceType" : "vod"
    },
    "failInfo" : "ResourceUrl is invalid, probe failed"
  } ],
  "successfulShowIds" : "f1933f16-5467-4308-b3a9-e8d451a90999, 547436b8-c839-4469-a2c0-704c1ce5ce00"
}

错误码

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

代码示例

public static DefaultAcsClient initClient(String accessKeyId, String accessKeySecret) throws ClientException {
        String regionId = "cn-shanghai";  
        DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
        DefaultAcsClient client = new DefaultAcsClient(profile);
        return client;
    }
private static CommonResponse addShowIntoShowList(DefaultAcsClient client, String showName, String resourceId, String resourceUrl,
                                                      String resourceType, Integer spot, Integer repeatTimes,
                                                      String casterId, Long duration) throws ClientException {
        CommonRequest addShowIntoShowListRequest = new CommonRequest();
        addShowIntoShowListRequest.setSysDomain("live.aliyuncs.com");
        addShowIntoShowListRequest.setSysVersion("2016-11-01");
        addShowIntoShowListRequest.setSysAction("AddShowIntoShowList");
        if (casterId == null || resourceType == null) {
            return null;
        }
        if (resourceId == null && resourceUrl == null) {
            return null;
        }
        addShowIntoShowListRequest.putQueryParameter("CasterId", casterId);
        addShowIntoShowListRequest.putQueryParameter("ResourceType", resourceType);
        if (showName != null) {
            addShowIntoShowListRequest.putQueryParameter("ShowName", showName);
        }
        if (resourceUrl != null) {
            addShowIntoShowListRequest.putQueryParameter("ResourceUrl", resourceUrl);
        }
        if (resourceId != null) {
            addShowIntoShowListRequest.putQueryParameter("ResourceId", resourceId);
        }
        if (spot != null) {
            addShowIntoShowListRequest.putQueryParameter("Spot", spot.toString());
        }
        if (repeatTimes != null) {
            addShowIntoShowListRequest.putQueryParameter("RepeatTimes", repeatTimes.toString());
        }
        if (duration != null) {
            addShowIntoShowListRequest.putQueryParameter("Duration", duration.toString());
        }
        CommonResponse addShowIntoShowListResponse = client.getCommonResponse(addShowIntoShowListRequest);
        return addShowIntoShowListResponse;
    }
    public void addshows() throws ClientException {
        DefaultAcsClient client = initClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET);
        String[] resourceIds = new String[]{"698d2b23581f476ea71107703e647d1e", "9c97e83e211a435b9f797e4e20eeea27", "76c6addaa41c438985666a8a964fa5e5"};
        for (int i = 0; i < resourceIds.length; i++) {
            String showName = "ShowName#" + i;
            Integer repeatTimes = i;
            addShowIntoShowList(client, showName, resourceIds[i], null, "vod", null, repeatTimes, testCasterId, null);
        }
    }