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

配置M3U8標(biāo)準(zhǔn)加密改寫

更新時(shí)間:

開啟M3U8標(biāo)準(zhǔn)加密改寫功能后,可以改寫HLS(HTTP Live Streaming)協(xié)議的M3U8文件(Media Playlist,媒體播放列表)。改寫成功后會(huì)在M3U8文件內(nèi)#EXT-X-KEY標(biāo)簽后面增加加密參數(shù)(包括加密算法、密鑰URI地址和鑒權(quán)參數(shù)),客戶端收到被改寫的M3U8文件以后,將會(huì)使用帶鑒權(quán)參數(shù)的密鑰URI來發(fā)起請求,從CDN節(jié)點(diǎn)獲取到密鑰以后將會(huì)使用對(duì)應(yīng)的加密算法和密鑰來解密TS文件。即通過配置M3U8標(biāo)準(zhǔn)加密改寫功能,可以實(shí)現(xiàn)對(duì)HLS數(shù)據(jù)訪問過程的加密保護(hù)。

背景信息

HLS(HTTP Live Streaming的縮寫)是一個(gè)由蘋果公司提出的基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議。HLS協(xié)議基于HTTP協(xié)議,客戶端按照順序使用HTTP協(xié)議下載存儲(chǔ)在服務(wù)器上的文件。HLS協(xié)議規(guī)定,視頻的封裝格式是TS(Transport Stream),除了TS視頻文件本身,還定義了用來控制播放的M3U8文件(文本文件)。HLS協(xié)議的工作原理是把整個(gè)視頻流分割成一個(gè)個(gè)小的TS格式視頻文件來傳輸,在開始一個(gè)流媒體會(huì)話時(shí),客戶端會(huì)先下載一個(gè)包含TS文件URL地址的M3U8文件(相當(dāng)于一個(gè)播放列表),給客戶端用于下載TS文件。

HLS基本字段

  • #EXTM3U:M3U8文件頭,必須放在第一行。

  • EXT-X-MEDIA-SEQUENCE :第一個(gè)TS分片的序列號(hào),一般情況下是0,但是在直播場景下,這個(gè)序列號(hào)標(biāo)識(shí)直播段的起始位置; #EXT-X-MEDIA-SEQUENCE:0

  • #EXT-X-TARGETDURATION:每個(gè)分片TS的最大的時(shí)長; #EXT-X-TARGETDURATION:10 ,表示每個(gè)分片的最大時(shí)長是10秒。

  • #EXT-X-ALLOW-CACHE:是否允許cache,#EXT-X-ALLOW-CACHE:YES#EXT-X-ALLOW-CACHE:NO,默認(rèn)情況下是YES。

  • #EXT-X-ENDLIST:M3U8文件結(jié)束符。

  • #EXTINF:extra info,分片TS的信息,如時(shí)長,帶寬等;一般情況下是 #EXTINF:<duration>,[<title>] 后面可以跟其他的信息,逗號(hào)之前是當(dāng)前分片的TS時(shí)長。分片時(shí)長要小于 #EXT-X-TARGETDURATION 定義的值。

  • #EXT-X-VERSION:M3U8版本號(hào)。

  • #EXT-X-DISCONTINUITY:該標(biāo)簽表明其前一個(gè)切片與下一個(gè)切片之間存在中斷。

  • #EXT-X-PLAYLIST-TYPE :表明流媒體類型。

  • #EXT-X-KEY:是否加密解析。例如:#EXT-X-KEY:METHOD=AES-128,URI="https://example.com/video.key?token=xxx" 加密算法是AES-128,密鑰通過請求 https://example.com/video.key?token=xxx 來獲取,密鑰請求回來以后存儲(chǔ)在本地,并用于解密后續(xù)下載的TS視頻文件。

技術(shù)原理

  1. 客戶端向CDN節(jié)點(diǎn)發(fā)起對(duì)M3U8文件的訪問請求,例如:http://example.com/media/index.m3u8?MtsHlsUriToken=xxx

  2. CDN節(jié)點(diǎn)對(duì)客戶端的訪問請求進(jìn)行校驗(yàn),校驗(yàn)通過。

  3. CDN節(jié)點(diǎn)從源站下載原始M3U8文件,并緩存原始M3U8文件。

  4. CDN節(jié)點(diǎn)對(duì)原始M3U8文件的#EXT-X-KEY標(biāo)簽進(jìn)行改寫,增加加密方式、密鑰URI和鑒權(quán)參數(shù),例如:#EXT-X-KEY:METHOD=AES-128,URI="https://example.com/video.key?MtsHlsUriToken=xxx"

  5. CDN節(jié)點(diǎn)將改寫后的M3U8文件返回給客戶端。

  6. 客戶端解析改寫后的M3U8文件,拿到密鑰URI地址https://example.com/video.key?MtsHlsUriToken=xxx,并發(fā)起訪問請求。

  7. CDN節(jié)點(diǎn)收到客戶端請求,鑒權(quán)通過之后,將key文件返回給客戶端。

  8. 客戶端繼續(xù)解析改寫后的M3U8文件,從CDN節(jié)點(diǎn)下載其中的TS視頻文件。

  9. 客戶端使用key文件內(nèi)的密鑰和前面#EXT-X-KEY標(biāo)簽內(nèi)定義的加密算法來解密TS視頻文件。

適用場景

HLS協(xié)議采用M3U8文件來告知客戶端視頻文件播放列表,客戶端拿到M3U8文件以后就可以直接播放視頻,為了避免源站的視頻文件被非授權(quán)客戶端訪問,需要對(duì)HLS協(xié)議使用的TS視頻文件做加密,對(duì)TS視頻文件做了加密以后,還需要告知客戶端解密方法,這里就可以通過配置M3U8標(biāo)準(zhǔn)加密改寫功能,通過#EXT-X-KEY標(biāo)簽來告知客戶端加密算法、密鑰URI和鑒權(quán)key。

操作步驟

  1. 登錄CDN控制臺(tái)

  2. 在左側(cè)導(dǎo)航欄,單擊域名管理

  3. 域名管理頁面,找到目標(biāo)域名,單擊操作列的管理

  4. 在指定域名的左側(cè)導(dǎo)航欄,單擊視頻相關(guān)

  5. M3U8標(biāo)準(zhǔn)加密改寫區(qū)域,打開M3U8標(biāo)準(zhǔn)加密改寫開關(guān)。

    開啟M3U8標(biāo)準(zhǔn)加密改寫

    說明

    開啟M3U8標(biāo)準(zhǔn)加密改寫功能后,默認(rèn)的參數(shù)名為MtsHlsUriToken

  6. 可選:如果您需要配合您的客戶端修改參數(shù)名,請執(zhí)行以下操作步驟。

    1. 單擊自定義參數(shù)名對(duì)應(yīng)的修改

    2. 自定義參數(shù)名對(duì)話框,設(shè)置參數(shù)名

      設(shè)置參數(shù)名

      說明

      參數(shù)名大小寫敏感,請確保設(shè)置的參數(shù)名和客戶端請求攜帶的參數(shù)名完全一致。例如客戶端請求攜帶foobar參數(shù),如果在CDN控制臺(tái)設(shè)置自定義參數(shù)名為FooBar將不生效。

    3. 單擊確定,完成配置。

演示示例

在CDN控制臺(tái)開啟M3U8標(biāo)準(zhǔn)加密改寫,并設(shè)置自定義參數(shù)名為foobar,如下圖所示。示例1

客戶端請求中攜帶自定義的foobar參數(shù),參數(shù)的值為yyyy,當(dāng)CDN解密播放時(shí),會(huì)將foobar=yyyy追加到M3U8文件中#EXT-X-KEY標(biāo)簽的URI末尾,如下圖所示。示例2