日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

直播截圖

直播截圖提供實時截圖功能,滿足您在觀看直播同時的截圖需求。本文詳細為您介紹視頻直播截圖功能。

前提條件

視頻直播截圖功能需要將截圖文件存放在Bucket中,因此需要開通OSS服務(wù)并且擁有至少一個Bucket用于存儲這些截圖文件。更多詳情,請參見開通OSS服務(wù)創(chuàng)建存儲空間

重要

Bucket必須與播流域名的直播中心同地域,不支持跨地域截圖。

直播截圖規(guī)則

  • 直播截圖是針對推流的AppName為粒度設(shè)置的。您可以設(shè)置某個AppName下所有推流的截圖規(guī)則。

    說明

    如果設(shè)置AppName為星號(*),則表示截圖規(guī)則適用于該直播域名下的所有推流。

  • 直播截圖功能配置時,可以定義覆蓋截圖和實時截圖兩種類型。

    • 覆蓋截圖是每次新生成截圖覆蓋之前生成的截圖文件。

    • 實時截圖是每次新生成的截圖不覆蓋之前生成的截圖文件,截圖遞增存儲。

    • 目前直播截圖僅支持生成JPG格式。

      說明

      兩種類型可同時設(shè)置,且必須設(shè)置其中之一。

直播截圖功能介紹

說明

新配置的截圖模板對正在進行的直播流不生效,需要重新推流才生效。

視頻截圖功能配置

配置視頻直播截圖功能可以通過以下兩種方法:

控制臺配置截圖功能

  1. 登錄視頻直播控制臺
  2. 在左側(cè)導航欄選擇功能管理>直播截圖,進入直播截圖頁面,選擇截圖配置頁簽。

  3. 選擇待配置的播流域名。

  4. 單擊添加

  5. 配置截圖模板。

    image

    截圖模板參數(shù)及說明如下表所示。

    參數(shù)

    描述

    AppName

    視頻的應(yīng)用名稱,輸入的AppName必須與直播推流的AppName保持一致,方可生效。如果您想要進行域名級別截圖配置,輸入星號(*)即可。

    截圖頻率

    截圖頻率,單位:秒,取值范圍:5~3600。

    存儲位置

    選擇截圖文件在OSS上的存儲位置。

    OSS Bucket必須與播流域名的直播中心同地域,不支持跨地域截圖。

    存儲方式

    存儲方式分兩種類型,支持復(fù)選。

    • 覆蓋截圖:視頻截圖按照截圖頻率依次截圖,新截取的圖片覆蓋上一張舊圖。

    • 實時截圖:視頻截圖按照截圖頻率依次截圖,新圖片按照N+1(N≥0)的順序依次存儲在OSS中。

    說明

    復(fù)選時,會同時以兩種方式進行截圖。

    說明

    配置完成后該域名下所有AppName(設(shè)置好的AppName),都會按照設(shè)置好的模板配置進行截圖并存儲。

    截圖設(shè)置修改后,會在下次推流后生效。

  6. 單擊確定

API配置截圖功能

//需要將<>內(nèi)容替換成實際使用的值
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();
}          
說明
  • 配置成功后,重新推流將會產(chǎn)生截圖文件。截圖文件將會儲存至OSS的<BucketName>中,由于同時配置了覆蓋截圖實時截圖文件路徑,將會同時產(chǎn)生覆蓋截圖文件和實時截圖文件。覆蓋截圖文件儲存路徑為<{AppName}/{StreamName}.jpg>。實時截圖文件儲存路徑為<{AppName}/{StreamName}/{UnixTimestamp}.jpg>。

  • 若對覆蓋截圖和實時截圖的區(qū)別還不了解,請參見文檔開頭部分直播截圖規(guī)則

  • 更多參數(shù)說明請參見AddLiveAppSnapshotConfig

截圖文件管理

查看截圖文件

您可以通過三種方式查看截圖文件。

控制臺查看截圖文件

  1. 登錄視頻直播控制臺
  2. 在左側(cè)導航欄選擇功能管理>直播截圖,進入直播截圖頁面,選擇截圖管理

  3. 選擇待查詢的域名及時間,然后輸入或選擇AppName和StreamName。

  4. 單擊查詢,查看選擇時間段內(nèi)的截圖。若截圖無法查看,請確定OSS Bucket讀寫權(quán)限是否為公共讀,具體操作,請參見配置OSS bucket讀寫權(quán)限

    image

  5. 將鼠標移動到某一圖片上方,可以查看大圖或復(fù)制截圖的流地址。

API查看截圖文件

//需要將<>內(nèi)容替換成實際使用的值 
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);
DescribeLiveStreamSnapshotInfoRequest describeLiveStreamSnapshotInfoRequest=new DescribeLiveStreamSnapshotInfoRequest();
describeLiveStreamSnapshotInfoRequest.setAppName("<AppName>");
describeLiveStreamSnapshotInfoRequest.setStreamName("<StreamName>");
describeLiveStreamSnapshotInfoRequest.setDomainName("<DomainName>");
//UTC時間,格式為:yyyy-MM-ddTHH:mm:ssZ
describeLiveStreamSnapshotInfoRequest.setStartTime("<StartTime>");
//UTC時間,格式為:yyyy-MM-ddTHH:mm:ssZ,EndTime和StartTime之間的間隔不能超過1天。
describeLiveStreamSnapshotInfoRequest.setEndTime("<EndTime>");
DescribeLiveStreamSnapshotInfoResponse describeLiveStreamSnapshotInfoResponse = null;
try {
    describeLiveStreamSnapshotInfoResponse = client.getAcsResponse(describeLiveStreamSnapshotInfoRequest);
} catch (ClientException e) {
    e.printStackTrace();
}
System.out.println(new Gson().toJson(describeLiveStreamSnapshotInfoResponse));
重要
  • 目前只支持查詢一年內(nèi)其中某一天(EndTime和StartTime之間的間隔不能超過1天)的截圖文件。

  • 截圖類型配置為覆蓋截圖+實時截圖的情況下,只能查詢出實時截圖的文件內(nèi)容。若在此情況下要查看覆蓋截圖的截圖文件,請在OSS中查看,詳情可參見OSS列舉文件

  • 接口暫不支持分頁,且一次最多返回100條數(shù)據(jù)(默認返回10條數(shù)據(jù))。

  • 更多查詢截圖文件內(nèi)容接口說明,請參見DescribeLiveStreamSnapshotInfo

OSS查看截圖文件

在配置截圖功能時,您已指定了截圖文件在OSS中的存儲地址。如果需要在OSS中查看截圖文件,可參見OSS列舉文件

刪除截圖文件

視頻直播儲存的是截圖文件信息,如AppName,StreamName,OSS文件儲存路徑等,文件是儲存在OSS中。如果在刪除截圖時需要同步刪除儲存在OSS中的文件,則需要創(chuàng)建服務(wù)角色AliyunMTSVideoLifecycleRole,并精確授權(quán)AliyunMTSVideoLifecycleRolePolicy系統(tǒng)策略。

詳細授權(quán)過程

在直播控制臺刪除截圖或錄制文件時需要先進行授權(quán),您需要按照如下步驟在RAM控制臺創(chuàng)建并授權(quán)RAM角色后,再登錄直播控制臺刪除截圖或錄制文件。

  1. 使用阿里云賬號登錄RAM控制臺

  2. 在左側(cè)導航欄,選擇身份管理 > 角色

  3. 角色頁面,單擊創(chuàng)建角色

  4. 選擇類型頁簽,可信實體類型選擇阿里云服務(wù),單擊下一步image

  5. 配置角色頁簽,請按照以下參數(shù)配置:

    • 角色類型:普通服務(wù)角色

    • 角色名稱:AliyunMTSVideoLifecycleRole

    • 備注:該參數(shù)為可選,您可以按照需求自定義填寫。

    • 選擇受信服務(wù):多媒體轉(zhuǎn)碼服務(wù)

    配置完成后,單擊完成image

  6. 創(chuàng)建完成頁簽,提示角色創(chuàng)建成功后,單擊精確授權(quán)

  7. 添加權(quán)限頁簽,請按照以下參數(shù)配置:

    • 選擇權(quán)限類型:系統(tǒng)策略

    • 輸入策略名稱:AliyunMTSVideoLifecycleRolePolicy

    配置完成后,單擊確定image

您可以通過三種方式刪除截圖文件:

控制臺刪除截圖文件

  1. 登錄視頻直播控制臺
  2. 在左側(cè)導航欄選擇功能管理>直播截圖,進入直播截圖頁面,選擇截圖管理

  3. 選擇待查詢的域名及時間,然后輸入或選擇AppName和StreamName。

  4. 將鼠標移動到某一圖片上方,單擊刪除按鈕可進行單張刪除。

    勾選多張截圖后單擊批量刪除,可批量刪除截圖。最多可支持批量刪除200張截圖。

API刪除截圖文件

//需要將<>內(nèi)容替換成實際使用的值 
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);        
DeleteSnapshotFilesRequest deleteSnapshotFilesRequest=new DeleteSnapshotFilesRequest();
deleteSnapshotFilesRequest.setAppName("<AppName>");
deleteSnapshotFilesRequest.setStreamName("<StreamName>");
deleteSnapshotFilesRequest.setDomainName("<DomainName>");
//是否同步刪除OSS中的文件
deleteSnapshotFilesRequest.setRemoveFile(true);
List<Long> createTimestampLists=new ArrayList<>();
//添加需要刪除的截圖文件時間戳
//createTimestampLists.add(<截圖文件時間戳>);
deleteSnapshotFilesRequest.setCreateTimestampLists(createTimestampLists);
DeleteSnapshotFilesResponse deleteSnapshotFilesResponse= null;
try {
    deleteSnapshotFilesResponse = client.getAcsResponse(deleteSnapshotFilesRequest);
} catch (ClientException e) {
    e.printStackTrace();
}
System.out.println(new Gson().toJson(deleteSnapshotFilesResponse));
重要
  • 目前只支持刪除一年內(nèi)的截圖文件。

  • 截圖文件時間戳可通過查詢截圖文件獲取。詳情可參見查看截圖文件

  • 對于覆蓋截圖的截圖文件,目前只能在OSS中進行刪除,具體操作可參見OSS刪除文件

  • 更多刪除直播截圖文件接口說明,請參見DeleteSnapshotFiles

以上示例實現(xiàn)了對截圖文件的刪除(同時刪除了儲存在OSS中的文件)。

您可以為截圖功能設(shè)置回調(diào)事件,獲取回調(diào)參數(shù)將截圖信息保存至您自己的業(yè)務(wù)系統(tǒng)(同時儲存時間戳),在需要刪除文件時,您就可以根據(jù)您系統(tǒng)的策略(如通過定時任務(wù)每天定時刪除N個月以前的截圖文件)查詢出截圖文件時間戳對截圖文件進行刪除。若想了解截圖回調(diào),可參見直播截圖回調(diào)開發(fā)指南。

OSS刪除截圖文件

一般情況下,不建議您直接刪除存儲在OSS中的截圖文件。如果需要刪除存儲在OSS中的截圖文件,可以通過視頻直播刪除截圖文件時同步刪除存儲在OSS中的文件。如果您因為業(yè)務(wù)需求需要直接刪除存儲在OSS中的截圖文件,可參考文檔OSS刪除文件

相關(guān)文檔

使用Java SDK,請參見Java SDK使用說明

更多直播截圖API,可參見直播截圖相關(guān)API