本示例介绍如何使用Alibaba Cloud SDK for Java调用AddLiveAppSnapshotConfig接口配置视频直播截图信息。

针对直播流下的AppNameundefined配置截图信息,输出内容保存到OSS中,重新推流生效。

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

前提条件

请在pom.xml文件中增加以下依赖,准确的SDK版本号,参见 阿里云开发工具包(JavaSDK)

<dependency&gt;     <groupId>com.aliyun</groupId>     <artifactId>aliyun-java-sdk-live</artifactId>     <version>3.7.5</version>  </dependency>

示例代码

import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.live.model.v20161101.AddLiveAppSnapshotConfigRequest; import com.aliyuncs.live.model.v20161101.AddLiveAppSnapshotConfigResponse; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson;  public class TestAddLiveAppSnapshotConfig {     public static void main(String[] args) {         DefaultProfile profile = DefaultProfile.getProfile(                         "<your-region-id>",            // 地域ID                         "<your-access-key-id>",        // 您的AccessKey ID                         "<your-access-key-secret>" );  // 您的AccessKey Secret         IAcsClient client = new DefaultAcsClient(profile);          AddLiveAppSnapshotConfigRequest request = new AddLiveAppSnapshotConfigRequest();         /**          * OSS 存储文件名。每次截图都递增存储, DescribeLiveStreamSnapshotInfo 接口查询一段时间的文件。          * 小于 256bytes。          * 目前仅支持生成 jpg 图片。          * 支持变量匹配,包含          * {AppName}、{StreamName}、{UnixTimestamp}、{Sequence},其中 {UnixTimestamp}、{Sequence} 必填一个,          * 如:snapshot/{AppName}/{StreamName}/{UnixTimestamp}.jpg。          */         request.setSequenceOssObject("snapshot/{AppName}/{StreamName}/{UnixTimestamp}.jpg" title="配置截图信息_直播截图_视频直播_调用示例_Java SDK");         /**          * OSS 存储文件名,每次截图都覆盖此文件。          * 小于 256bytes。          * 目前仅支持生成 jpg 图片。          * 支持变量匹配,包含 {AppName}、{StreamName},如:{AppName}/{StreamName}.jpg。          */         request.setOverwriteOssObject("{AppName}/{StreamName}.jpg");         // 截图周期。取值范围:[5,3600] 单位:秒。         request.setTimeInterval(5);         // OSSEndpoint域名。         request.setOssEndpoint("yourOssEndpoint.com");         // OSSBucket名称。         request.setOssBucket("test123");         // 您的加速域名。         request.setDomainName("www.yourdomain.com");         // 直播流所属应用名称。支持通配符*号,代表该域名下所有的 AppName。         request.setAppName("testApp");          try {             AddLiveAppSnapshotConfigResponse response = client.getAcsResponse(request);             // 处理业务逻辑。             System.out.println(new Gson().toJson(response));         } catch (ServerException e) {             e.printStackTrace();         } catch (ClientException e) {             System.out.println("ErrCode:" + e.getErrCode());             System.out.println("ErrMsg:" + e.getErrMsg());             System.out.println("RequestId:" + e.getRequestId());         }      } }