本文為您介紹使用視頻點播HLS標準加密、阿里云視頻加密(私有加密)、DRM加密過程中遇到的常見問題及解決方案。
HLS標準加密相關
播放HLS標準加密視頻時,需要傳入的用戶令牌(MtsHlsUriToken)參數是什么?如何獲?。?/b>
MtsHlsUriToken參數是用戶自定義參數,常規的HLS標準加密下,加密串寫到HLS流里后,會在m3u8索引文件中加入一個解密服務器的地址,當有需求需要只允許部分用戶訪問時,這個解密地址就需要一個驗證身份的功能,MtsHlsUriToken參數就是在您的解密服務器上加一層驗證邏輯,然后根據這層驗證邏輯生成一個特殊的參數加入解密驗證。
您需要在配置加密時,搭建令牌頒發服務生成MtsHlsUriToken,詳細內容請參見播放HLS標準加密視頻步驟1。
如何使用生成的密鑰?
GenerateKMSDataKey接口會返回兩種密鑰:一種是密文密鑰(CiphertextBlob),另一種是明文密鑰(Plaintext)。用戶只需要將密文密鑰傳遞給視頻點播服務即可,具體參數傳遞請參見提交媒體轉碼作業中的加密配置 EncryptConfig參數。
推薦業務方對生成的密文密鑰和明文密鑰進行緩存。
創建的Service Key不可刪除、不可更新,只用于生成加密密鑰。
生成的令牌如何傳遞到解密接口?
業務方必須使用域名進行加速播放,才能將令牌重寫到解密接口上。在請求M3U8地址時需要將生成的令牌通過MtsHlsUriToken參數傳遞,域名會自動將該參數重寫到解密接口上并請求解密接口。
如何快速驗證加密播放?
可以通過阿里云播放器診斷平臺,播放標準加密的M3U8播放地址,可以快速驗證播放是否正常??截怣3U8播放地址(如有MtsHlsUriToken參數一并拷貝)到阿里云播放器診斷平臺上進行嘗試標準加密的解密播放。
其它常見問題
接口提示
調用提交媒體轉碼作業提示KeyNotFound相關信息,請先聯系點播后臺在相應的區域(例如:華北2、華東2)創建Service Key 并用于生成加密密鑰。
非加密文件
生成的文件未加密,請確認轉碼模板是否開啟視頻加密并勾選了私有加密。
自定義密鑰
加密的明文密鑰必須使用GenerateKMSDataKey - 創建KMS數據密鑰接口生成,不能使用自定義字符串生成加密密鑰,否則加密轉碼失敗。
加密失敗
標準加密轉碼失敗或沒有任何加密文件生成,請確認GenerateKMSDataKey - 創建KMS數據密鑰生成的密鑰類型是否為AES_128密鑰,否則加密轉碼會失敗導致不會生成任何加密文件。
解密失敗
標準加密文件解密播放失敗,請確認是解密接口將視頻點播的DecryptKMSDataKey接口返回的明文密鑰再次base64decode之后給播放器解密播放,不然解密播放會失敗。
重復生成
標準加密轉碼觸發都是由用戶主動觸發,如果重復生成加密文件,請確認是否重復調用提交媒體轉碼作業接口。
DRM加密相關
發起DRM加密轉碼失敗,報錯提示Submit transcode job failed
問題現象:發起DRM加密轉碼時,報錯TranscodeJob.SubmitFailed。如下圖所示:
問題原因:
視頻點播暫不支持在視頻上傳完成后通過
的方式觸發DRM加密轉碼。解決方案:
您可以將DRM加密的轉碼模板組添加到工作流中,以工作流方式觸發轉碼,詳情請參見工作流。
上傳DRM證書失敗,報錯提示Can not found user info
問題現象:上傳DRM證書時,報錯NotUserInfoExist。如下圖所示:
解決方案:
請確認您上傳DRM證書的對應服務地域已經存在激活的點播系統bucket,激活點播系統bucket請參見啟用點播系統Bucket。