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

阿里云視頻加密

阿里云視頻加密(又稱阿里云私有加密)可針對直播流進行加密,本文介紹優勢、整體架構和使用方法。

說明
  • 僅支持輸出HLS格式和FLV格式。

  • 只能使用阿里云播放器。

  • H5端支持情況參見H5瀏覽器適配說明阿里云私有加密視頻播放功能項。

背景

防盜鏈URL不能防止用戶通過一次付費行為拿到付費直播合法的防盜鏈URL,進而實現二次分發。因此,防盜鏈方案對于直播的版權保護是遠遠不夠的。

優勢介紹

阿里云視頻加密是對視頻數據加密,即使下載到本地,視頻本身也是被加密的,無法惡意二次分發。視頻加密可有效防止視頻泄露和盜鏈問題,廣泛用于在線教育、財經金融、行業培訓、獨播劇等在線版權視頻領域。

采用阿里云私有加密算法,安全級別高,能夠便捷、高效、安全地保護視頻資源。

  • 每個媒體文件擁有獨立的加密鑰匙,能有效避免采用單一密鑰時,一個密鑰的泄露引起大范圍的安全問題。

  • 視頻直播提供完善的權限管理機制“子賬號+播放憑證”。

  • 視頻直播提供信封加密機制”密文Key+明文Key”,明文Key不存儲,所有過程只在內存中。

  • 視頻直播提供安全的播放內核SDK。

整體架構

阿里云視頻加密方案包含兩部分:加密轉碼+解密播放。

  • 加密轉碼:流程1~3。

    主播推流到直播中心后,直播服務負責通過密鑰管理服務KMS生成明文Key和密文Key。通過直播轉碼服務,使用明文密鑰對音視頻進行對稱加密,并將密文Key存入視頻封裝。

  • 解密播放:流程4~11。

    播放終端如需播放此直播流,需向應用服務器AppServer發起播放請求,獲取播流URL。使用播流URL向直播服務請求視頻流。直播服務將經過轉碼的加密視頻和密文Key傳輸到播放器SDK。

    播放終端用密文Key向直播服務獲取二次加密后的明文Key,直播服務再通過密文Key向密鑰管理服務KMS獲取明文Key。播放終端將解密得到的明文Key傳給播放器SDK,播放器SDK解密視頻進行播放。

image

使用方式

阿里云視頻加密是通過轉碼模板進行配置,可支持控制臺和API兩種配置方式。

重要

使用阿里云視頻加密需要配置KMS密鑰ID,如果沒有密鑰,請先前往KMS服務創建一個密鑰,需注意創建密鑰時KMS密鑰的區域需要和域名的直播中心保持一致。具體操作,請參見創建密鑰

方式一:通過視頻直播控制臺。具體操作,請參見通用轉碼自定義轉碼

方式二:API調用。

  1. 配置視頻加密轉碼模板,可調用AddLiveStreamTranscode添加通用轉碼配置信息或調用AddCustomLiveStreamTranscode添加自定義轉碼配置信息,設置加密配置參數EncryptParameters,其中EncryptType加密類型取值aliyun

    Java SDK添加通用轉碼配置代碼示例如下:

    //需要<>內容替換成實際使用的值
    DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
    IAcsClient client = new DefaultAcsClient(profile);
    AddLiveStreamTranscodeRequest addLiveStreamTranscodeRequest = new AddLiveStreamTranscodeRequest();
    addLiveStreamTranscodeRequest.setDomain("<DomainName>");
    addLiveStreamTranscodeRequest.setApp("<AppName>");
    //轉碼模板
    addLiveStreamTranscodeRequest.setTemplate("<Template>");
    //加密配置,EncryptType:固定值aliyun,KmsKeyID:KMS主密鑰ID,KmsKeyExpireInterval:換Key周期,取值范圍:60~3600,單位:秒
    addLiveStreamTranscodeRequest.setEncryptParameters("{\"EncryptType\": \"aliyun\", \"KmsKeyID\":\"<KmsKeyID>\",\"KmsKeyExpireInterval\":\"<60>\"}");
    
    //
    //其他業務代碼
    //
    
    try {
        AddLiveStreamTranscodeResponse addLiveStreamTranscodeResponse = client.getAcsResponse(addLiveStreamTranscodeRequest);
        System.out.println(new Gson().toJson(addLiveStreamTranscodeResponse));
        // todo something.
    } catch (ServerException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClientException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }           
    說明
    • 如果更改轉碼配置,需要進行重新推流后配置才可生效。

    • 使用JAVA SDK,具體請參見Java SDK使用說明

  2. 其他相關API。

    API名稱

    說明

    更新通用轉碼配置

    調用UpdateLiveStreamTranscode更新通用轉碼配置信息。

    更新自定義轉碼配置

    調用UpdateCustomLiveStreamTranscode更新自定義轉碼配置信息。

    查詢直播流轉碼配置

    調用DescribeLiveStreamTranscodeInfo查詢轉碼配置信息。

    刪除轉碼配置

    調用DeleteLiveStreamTranscode刪除轉碼配置信息。

相關文檔

使用視頻加密,會自動創建AliyunServiceRoleForLiveKes角色獲取KMS服務訪問權限,更多信息請參見直播加密服務關聯角色