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