文档

直播截图

直播截图提供实时截图功能,满足您在观看直播同时的截图需求。本文详细为您介绍视频直播截图功能。

前提条件

视频直播截图功能需要将截图文件存放在Bucket中,因此需要开通OSS服务并且拥有至少一个Bucket用于存储这些截图文件。更多详情,请参见开通OSS服务创建存储空间

重要

Bucket必须与播流域名的直播中心同地域,不支持跨地域截图。

直播截图规则

  • 直播截图是针对推流的AppName为粒度设置的。您可以设置某个AppName下所有推流的截图规则。

    说明

    如果设置AppName为星号(*),则表示截图规则适用于该直播域名下的所有推流。

  • 直播截图功能配置时,可以定义覆盖截图和实时截图两种类型。

    • 覆盖截图是每次新生成截图覆盖之前生成的截图文件。

    • 实时截图是每次新生成的截图不覆盖之前生成的截图文件,截图递增存储。

    • 目前直播截图仅支持生成JPG格式。

      说明

      两种类型可同时设置,且必须设置其中之一。

直播截图功能介绍

说明

新配置的截图模板对正在进行的直播流不生效,需要重新推流才生效。

//需要将<>内容替换成实际使用的值
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);
AddLiveAppSnapshotConfigRequest addLiveAppSnapshotConfigRequest = new AddLiveAppSnapshotConfigRequest();
addLiveAppSnapshotConfigRequest.setDomainName("<DomainName>");
addLiveAppSnapshotConfigRequest.setAppName("<AppName>");
//截图周期,取值(5-3600)
addLiveAppSnapshotConfigRequest.setTimeInterval(5);
addLiveAppSnapshotConfigRequest.setOssEndpoint("<Endpoint>");
addLiveAppSnapshotConfigRequest.setOssBucket("<BucketName>");
//定义覆盖截图存储文件名(小于256 Byte,支持变量匹配,包含{AppName}、{StreamName})
addLiveAppSnapshotConfigRequest.setOverwriteOssObject("<{AppName}/{StreamName}.jpg>");
//定义实时截图存储文件名(小于256 Byte,支持变量匹配,包含{AppName}、{StreamName}、{UnixTimestamp}、{Sequence},其中 {UnixTimestamp}、{Sequence} 必填一个)
addLiveAppSnapshotConfigRequest.setSequenceOssObject("<{AppName}/{StreamName}/{UnixTimestamp}.jpg>");
try {
    AddLiveAppSnapshotConfigResponse addLiveAppSnapshotConfigResponse = client.getAcsResponse(addLiveAppSnapshotConfigRequest);
    System.out.println(addLiveAppSnapshotConfigResponse.getRequestId());
    // todo something.
} catch (ServerException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (ClientException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}          
说明
  • 视频截图管理

    截图配置完成后通过新发起的推流生成截图,查看截图的方法包括以下两种:

    • 您可以在视频直播控制台OSS控制台中查看截图文件。截图文件存储在OSS的Bucket中,可以通过OSS Bucket管理视频截图。更多详情,请参见截图管理

      说明

      您只有在OSS控制台才能删除截图。

    • API和SDK提供查询截图信息的接口。更多详情,请参见查询截图内容