全部产品
Search
文档中心

视频直播:AddShowIntoShowList - 添加一个节目到节目单

更新时间:Nov 14, 2024

添加节目到节目单中。

接口说明

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

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

注意
  • 使用视频点播(VOD)资源,可优先选择托管 Bucket 资源,自有 Bucket 资源存在过期风险,如果您选用自有 Bucket 资源,需注意资源的有效期时间。

  • 导播台素材资源输入请优先选择视频直播和视频点播的资源,若从第三方 URL 输入资源存在播放失败可能性,需确定资源的质量和有效性。

  • QPS 限制

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

    调试

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

    授权信息

    下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

    • 操作:是指具体的权限点。
    • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
    • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
      • 对于必选的资源类型,用背景高亮的方式表示。
      • 对于不支持资源级授权的操作,用全部资源表示。
    • 条件关键字:是指云产品自身定义的条件关键字。
    • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
    操作访问级别资源类型条件关键字关联操作
    live:AddShowIntoShowListcreate
    *Caster
    acs:live:*:{#accountId}:caster/{#CasterId}

    请求参数

    名称类型必填描述示例值
    showListarray<object>

    需要添加的多个节目资源列表,每个资源都有独立的 showName,resourceUrl 等参数。

    object

    导播台列表信息。

    durationlong

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

    说明 RepeatTimesDuration 两者只允许设置其中一个。
    20
    liveInputTypeinteger

    自定义的类型标记。

    1
    repeatTimesinteger

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

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

    点播文件 ID。

    a2b8e671-2fe5-4642-a2ec-bf93880e****
    resourceTypestring

    素材类型。取值:

    • live:直播素材。

    • vod:点播素材。

    • pic:图片素材。

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

    播放文件 URL。

    http://****/atestObject****.m3u8
    showNamestring

    节目名称。

    liveShow****
    CasterIdstring

    导播台 ID。

    • 如果您通过 CreateCaster 接口创建导播台,请查看 CreateCaster 接口调用返回的参数 CasterId 值。

    • 如果您通过直播控制台创建导播台,请通过直播控制台 > 导播台 > 云导播台路径查看导播台名称。

    说明 直播控制台云导播台页面导播台列表中的导播台名称即导播台 ID。
    LIVEPRODUCER_POST-cn-0pp1czt****
    ShowNamestring

    节目名称。

    liveShow****
    ResourceTypestring

    素材类型。取值:

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

    播放文件 URL。

    http://****/atestObject****.m3u8
    ResourceIdstring

    点播文件 ID。

    a2b8e671-2fe5-4642-a2ec-bf93880e****
    Durationlong

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

    说明 RepeatTimesDuration 两者只允许设置其中一个。
    20
    RepeatTimesinteger

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

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

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

    1
    LiveInputTypeinteger

    自定义的类型标记。

    1
    isBatchModeboolean

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

    • true:批量添加。

    • false:单个添加。

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

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    987DA143-A39C-5B5D-AF5B-3B07944A0036
    ShowIdstring

    节目 ID。

    a2b8e671-2fe5-4642-a2ec-bf93880e****
    failedListstring

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

    failedList[Show1, Show2...]
    successfulShowIdsstring

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

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

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "987DA143-A39C-5B5D-AF5B-3B07944A0036",
      "ShowId": "a2b8e671-2fe5-4642-a2ec-bf93880e****",
      "failedList": "failedList[Show1, Show2...]",
      "successfulShowIds": "f1933f16-5467-4308-b3a9-e8d451a90999,547436b8-c839-4469-a2c0-704c1ce5ce00"
    }

    错误码

    HTTP status code错误码错误信息
    400InvalidUserId.Malformed%s
    400InvalidParameter.Malformed%s
    400InvalidCasterId.Malformed%s
    400InvalidVodUrl.Malformed%s
    400MissingParameter%s
    401IllegalOperation%s
    404InvalidCaster.NotFound%s
    404InvalidShowList.NotFound%s
    500InternalError%s

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

    变更历史

    变更时间变更内容概要操作
    暂无变更历史

    代码示例

    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);
            }
        }