一種基于ott業(yè)務(wù)的視頻防盜鏈方法
【專(zhuān)利摘要】本發(fā)明提供一種基于OTT業(yè)務(wù)的視頻防盜鏈方法,該視頻防盜鏈方法包括:接收客戶(hù)端對(duì)服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求,生成用戶(hù)特征串US;根據(jù)用戶(hù)特征串US生成視頻索引文件鏈接IL;接收客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求,判斷視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與視頻索引文件鏈接IL中包含的用戶(hù)特征串US是否匹配;如果匹配,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給客戶(hù)端;接收客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求,判斷視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與各視頻切片文件的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配;如果匹配,向客戶(hù)端返回視頻切片。
【專(zhuān)利說(shuō)明】一種基于OTT業(yè)務(wù)的視頻防盜鏈方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)視頻信息【技術(shù)領(lǐng)域】,具體涉及一種基于OTT業(yè)務(wù)的視頻防盜鏈方法。
【背景技術(shù)】
[0002]近年來(lái),OTT業(yè)務(wù)在國(guó)內(nèi)外均處于一個(gè)蓬勃發(fā)展的時(shí)期,OTT業(yè)務(wù)中的主要視音頻傳輸協(xié)議包括:HTTP Live Streaming(HLS)、HTTP Dynamic Streaming(HDS)等視頻傳輸協(xié)議,以及未來(lái)有可能作為下一代國(guó)際標(biāo)準(zhǔn)的Dynamic Adaptive Streaming overHTTP (DASH)協(xié)議。
[0003]HLS是蘋(píng)果公司提出的流媒體網(wǎng)絡(luò)傳輸協(xié)議,其工作原理是把整個(gè)流分成一個(gè)個(gè)小的基于HTTP的文件來(lái)下載,每次只下載一些。當(dāng)媒體流正在播放時(shí),客戶(hù)端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會(huì)話(huà)適應(yīng)不同的數(shù)據(jù)速率。在開(kāi)始一個(gè)流媒體會(huì)話(huà)時(shí),客戶(hù)端會(huì)下載一個(gè)包含元數(shù)據(jù)的extended M3U (m3u8)文件,即切片索引文件,用于尋找可用的媒體切片。
[0004]HDS是Adobe公司的傳統(tǒng)流媒體解決方案RTMP+FLV的結(jié)合,在互聯(lián)網(wǎng)視頻行業(yè)得到了廣泛的應(yīng)用。它包含了多個(gè)部件來(lái)完成內(nèi)容的準(zhǔn)備工作(由內(nèi)容準(zhǔn)備模塊執(zhí)行),并通過(guò)HTTP將內(nèi)容傳送給終端的Flash Player。內(nèi)容準(zhǔn)備模塊包括了面向VOD模塊和面向Live直播的模塊,VOD打包模塊將媒體文件分片,并以F4F的格式存儲(chǔ),Live直播打包模塊將直播流實(shí)時(shí)地寫(xiě)入到F4F文件當(dāng)中。同時(shí)均會(huì)產(chǎn)生媒體對(duì)應(yīng)的F4M格式的索引文件,索引文件中包含了編碼、分辨率以及碼率等參數(shù)信息。
[0005]DASH又稱(chēng)為MPEG-DASH,類(lèi)似于HLS、HDS等協(xié)議,DASH也將視頻內(nèi)容切片為多個(gè)視頻小片段,每個(gè)片段包含一小段視頻內(nèi)容。DASH是第一個(gè)基于HTTP的自適應(yīng)碼率的國(guó)際標(biāo)準(zhǔn)。
[0006]綜合而言,上述類(lèi)協(xié)議的基本特點(diǎn)為:均采用了索引文件加實(shí)際視頻切片文件的
二級(jí)結(jié)構(gòu)。
[0007]隨著OTT業(yè)務(wù)的發(fā)展,盜鏈現(xiàn)象也越來(lái)越常見(jiàn)。所謂盜鏈,即實(shí)體或個(gè)人不經(jīng)過(guò)合法運(yùn)營(yíng)商同意,自行構(gòu)建網(wǎng)頁(yè)或APP應(yīng)用程序鏈接到合法運(yùn)營(yíng)商的視頻資源,使最終用戶(hù)不經(jīng)過(guò)合法運(yùn)營(yíng)商的指定頁(yè)面或APP應(yīng)用程序,而是通過(guò)盜鏈者的網(wǎng)頁(yè)或APP應(yīng)用程序訪(fǎng)問(wèn)到了合法運(yùn)營(yíng)商的視頻資源。最終用戶(hù)通過(guò)盜鏈者的網(wǎng)頁(yè)或APP訪(fǎng)問(wèn)合法運(yùn)營(yíng)商的視頻資源,極大的損害了合法運(yùn)營(yíng)商的廣告價(jià)值、宣傳價(jià)值,同時(shí)使合法運(yùn)營(yíng)商需要負(fù)擔(dān)額外的⑶N帶寬開(kāi)銷(xiāo),造成直接的經(jīng)濟(jì)損失。
[0008]目前的各種防盜鏈技術(shù),針對(duì)上述OTT業(yè)務(wù)中的常用協(xié)議,均存在一定的問(wèn)題。
[0009]采用session、cookie、reference-url等防盜鏈方式,通常只能保護(hù)網(wǎng)頁(yè)中的直接視頻鏈接;而OTT業(yè)務(wù)中的HLS、HDS、DASH均采用了二級(jí)結(jié)構(gòu),session、cookie、ref-url等信息無(wú)法通過(guò)一級(jí)索引文件,傳遞到對(duì)二級(jí)視頻切片文件的訪(fǎng)問(wèn)請(qǐng)求中,無(wú)法有效保護(hù)二級(jí)視頻切片內(nèi)容,因此就無(wú)法防止盜鏈方自行模擬生成一級(jí)索引文件的方式對(duì)二級(jí)視頻切片內(nèi)容進(jìn)行盜鏈。
[0010]傳統(tǒng)的在鏈接中攜帶認(rèn)證串的方式進(jìn)行防盜鏈,則通常依賴(lài)于一個(gè)統(tǒng)一的用戶(hù)認(rèn)證中心對(duì)鏈接進(jìn)行認(rèn)證,這就要求實(shí)際使用中,用戶(hù)進(jìn)行登錄認(rèn)證,導(dǎo)致操作繁瑣,用戶(hù)體驗(yàn)不佳。
[0011]同時(shí),OTT頁(yè)面中的大量視頻內(nèi)容均通過(guò)商業(yè)CDN進(jìn)行分發(fā),大量視頻切片索引文件及實(shí)際切片文件分布式緩存在了 CDN的多個(gè)cache服務(wù)器中,采用統(tǒng)一的用戶(hù)認(rèn)證中心對(duì)所有這些切片的訪(fǎng)問(wèn)請(qǐng)求進(jìn)行認(rèn)證,一方面對(duì)認(rèn)證中心的處理性能有很高要求,使OTT運(yùn)營(yíng)商的建設(shè)成本增加;另一方面,需要商業(yè)⑶N和OTT運(yùn)營(yíng)商之間進(jìn)行一定的認(rèn)證接口對(duì)接,極大的增加了兩方的開(kāi)發(fā)成本,且推廣的通用性不佳。
【發(fā)明內(nèi)容】
[0012]本發(fā)明提供一種基于OTT業(yè)務(wù)的視頻防盜鏈方法,以在無(wú)需部署用戶(hù)認(rèn)證中心的情況下,有效的對(duì)HLS/HDS/DASH等協(xié)議的視頻索引文件鏈接和視頻切片文件的鏈接進(jìn)行防護(hù),保護(hù)合法OTT運(yùn)營(yíng)商視頻資源不被其他網(wǎng)站非法盜鏈。
[0013]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于OTT業(yè)務(wù)的視頻防盜鏈方法,所述的視頻防盜鏈方法包括:
[0014]步驟1:接收客戶(hù)端對(duì)服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求,并根據(jù)所述AU的訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息UI生成用戶(hù)特征串US(SlOl);
[0015]步驟2:根據(jù)所述的用戶(hù)特征串US生成視頻索引文件鏈接IL(S102);
[0016]步驟3:接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求(S103),判斷所述視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述視頻索引文件鏈接IL中包含的用戶(hù)特征串US是否匹配(S104);
[0017]步驟4:如果匹配,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給所述客戶(hù)端(S105);
[0018]步驟5:接收所述客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求(S106),判斷所述的視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述各視頻切片文件的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配(S107);
[0019]步驟6:如果匹配,向所述的客戶(hù)端返回視頻切片(S108)。
[0020]在一實(shí)施例中,在所述步驟I中,根據(jù)所述AU的訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息Π生成用戶(hù)特征串US,包括:
[0021]將包含客戶(hù)端IP地址UIP及客戶(hù)端User-Agent信息UA的客戶(hù)信息結(jié)合,生成用戶(hù)特征信息UI:UI = (UIP, UA);
[0022]定義可逆函數(shù)H),將所述用戶(hù)特征信息UI和本次訪(fǎng)問(wèn)請(qǐng)求的時(shí)間因子T進(jìn)行運(yùn)算,形成用戶(hù)特征串us = FO (ULT)0
[0023]在一實(shí)施例中,所述步驟2中,根據(jù)所述的用戶(hù)特征串US生成視頻索引文件鏈接IL,包括:
[0024]定義可逆函數(shù)F1,將所述的用戶(hù)特征串US和所述客戶(hù)端要訪(fǎng)問(wèn)的視頻索引文件的原始訪(fǎng)問(wèn)位置IO進(jìn)行運(yùn)算,基于不同的用戶(hù)特征串US形成不同的視頻索引文件鏈接IL:
[0025]IL = Fl (10,US)
[0026]其中,可逆函數(shù)Fl的運(yùn)算方式包括字符串連接。
[0027]在一實(shí)施例中,所述步驟4中,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給所述客戶(hù)端,包括:定義可逆函數(shù)F2 (CL,US),對(duì)所述用戶(hù)特征串US和所述各視頻切片的原始訪(fǎng)問(wèn)位置信息CL進(jìn)行運(yùn)算,生成索引文件中包含的各視頻切片的訪(fǎng)問(wèn)入口,使不同用戶(hù)特征串US產(chǎn)生的視頻索引文件內(nèi)容IC不同。
[0028]在一實(shí)施例中,所述步驟4中,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串us生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容ic返回給所述客戶(hù)端,包括:定義可逆函數(shù)F2' (CL,US,Cl),對(duì)所述用戶(hù)特征串US、所述各視頻切片的訪(fǎng)問(wèn)位置信息CL及各視頻切片的特征信息Cl進(jìn)行運(yùn)算,生成索引文件中包含的各視頻切片的訪(fǎng)問(wèn)入口,使不同用戶(hù)特征串US產(chǎn)生的視頻索引文件內(nèi)容IC不同。
[0029]在一實(shí)施例中,所述的函數(shù)F2通過(guò)加密算法進(jìn)行運(yùn)算,加密時(shí)使用的密鑰是基于各視頻切片的時(shí)間戳信息TS動(dòng)態(tài)生成的。
[0030]在一實(shí)施例中,所述的函數(shù)F2^通過(guò)加密算法進(jìn)行運(yùn)算,加密時(shí)使用的密鑰是基于各視頻切片的時(shí)間戳信息TS動(dòng)態(tài)生成的。
[0031]在一實(shí)施例中,所述的步驟3中,當(dāng)接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求后,利用可逆函數(shù)Fl (10, US)的逆函數(shù)Fr1從訪(fǎng)問(wèn)的URL中解析出用戶(hù)特征串US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UItl和時(shí)間因子Ttl ;定義函數(shù)F5 (US,U10, T0),并對(duì)函數(shù)F5 (US,UItl, T0)進(jìn)行判定,如果判定結(jié)果為T(mén)RUE,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果判定結(jié)果為FALSE,判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0032]在一實(shí)施例中,對(duì)函數(shù)F5(US,nQ,TQ)的進(jìn)行判定的步驟包括:
[0033]利用可逆函數(shù)R)(UI,T)的逆函數(shù)HT1從用戶(hù)特征串US中解析出用戶(hù)特征信息Π和時(shí)間因子T ;
[0034]判定UI與UItl的關(guān)系,并判定Ttl-T與Tm的關(guān)系,如果UI不等于Wtl,或者Ttl-1DTm,返回FALSE,否則,返回TRUE ;
[0035]其中,Tffl為預(yù)定義的請(qǐng)求超時(shí)時(shí)間。
[0036]在一實(shí)施例中,判定本次視頻索引文件訪(fǎng)問(wèn)請(qǐng)求是否合法時(shí),采用步驟a和/或步驟b作為補(bǔ)充步驟:
[0037]步驟a:當(dāng)接收所述客戶(hù)端的視頻索引文件訪(fǎng)問(wèn)請(qǐng)求后,提取請(qǐng)求中的reference-url域RU,判斷RU與AU的關(guān)系;
[0038]如果RU等于A(yíng)U,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果RU不等于A(yíng)U,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求;
[0039]步驟b:將所述 US 寫(xiě)入 HTTP-Cookie,形成 ΗΤΤΡ-Cookie 值 AS ;
[0040]當(dāng)接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求后,提取HTTP請(qǐng)求中的HTTP-Cookie信息RS,判斷RS與AS的關(guān)系;
[0041] 如果RS等于A(yíng)S,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果RS不等于A(yíng)S,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。[0042]在一實(shí)施例中,在所述步驟5中,判斷所述的視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述各視頻切片的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配,包括:
[0043]接收所述客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求后,利用F2(CL,US)的逆函數(shù)F2—1從訪(fǎng)問(wèn)的URL中解析出US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UItl和時(shí)間因子Ttl,利用函數(shù)F5 (US,U10, T0)進(jìn)行合法性判定;
[0044]如果所述F5(US,nQ,TQ)為T(mén)RUE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果所述F5(US,U10, T0)為FALSE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0045]在一實(shí)施例中,在所述步驟5中,判斷所述的視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述各視頻切片的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配,包括:
[0046]接收所述客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求后,利用F2' (CL,US,CI)的逆函數(shù)F2' -1從訪(fǎng)問(wèn)的URL中解析出US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UIO和時(shí)間因子T0,利用函數(shù)F5(US,UIO, TO)進(jìn)行合法性判定;
[0047]如果所述F5 (US, UIO, TO)為T(mén)RUE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果所述F5(US,UIO, TO)為FALSE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0048]利用本發(fā)明的視頻防盜鏈方法,在動(dòng)態(tài)產(chǎn)生索引內(nèi)包含的視頻切片文件鏈接時(shí),采用了結(jié)合視頻切片文件視頻特征的方式,使得非法盜鏈者難于猜測(cè)和模擬視頻切片文件的動(dòng)態(tài)鏈接。
[0049]利用本發(fā)明的視頻防盜鏈方法,對(duì)視頻索引鏈接、視頻切片文件鏈接,采用了一種將傳統(tǒng)HTTP-Cookie機(jī)制、reference-url機(jī)制和記錄客戶(hù)端信息并動(dòng)態(tài)生成特征串機(jī)制相結(jié)合的方式進(jìn)行防盜鏈,可有效避免傳統(tǒng)HTTP-Cookie、reference-url等方法無(wú)法保護(hù)二級(jí)切片的問(wèn)題。
[0050]本發(fā)明的視頻防盜鏈方法,在防盜鏈策略中用到的用戶(hù)訪(fǎng)問(wèn)合法性校驗(yàn)策略采用特定算法完成,不需要構(gòu)建統(tǒng)一的認(rèn)證中心或校驗(yàn)中心,也不需要終端用戶(hù)進(jìn)行登錄認(rèn)證操作,因此可以極大節(jié)約建設(shè)成本,不影響用戶(hù)體驗(yàn)、并非常適用于⑶N網(wǎng)絡(luò)的分布式部署。
[0051]綜上所述,本發(fā)明的有益效果在于,針對(duì)OTT運(yùn)營(yíng)商的合法視頻內(nèi)容,無(wú)須構(gòu)建統(tǒng)一認(rèn)證中心,無(wú)須用戶(hù)登錄認(rèn)證,即可實(shí)現(xiàn)對(duì)視頻內(nèi)容的有效防盜鏈,從而可保護(hù)OTT運(yùn)營(yíng)商的合法權(quán)益,大幅度降低運(yùn)營(yíng)商的投資成本,非常適合通過(guò)CDN網(wǎng)絡(luò)進(jìn)行分布式部署。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0052]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0053]圖1為本發(fā)明實(shí)施的基于OTT業(yè)務(wù)的視頻防盜鏈方法流程圖。
【具體實(shí)施方式】
[0054]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0055]如圖1所示,本發(fā)明提供一種基于OTT業(yè)務(wù)的視頻防盜鏈方法,該視頻防盜鏈方法可以用于非DRM下針對(duì)OTT業(yè)務(wù)的視頻防盜鏈,該視頻防盜鏈方法包括:
[0056]步驟101:接收客戶(hù)端對(duì)服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求,并根據(jù)所述AU的訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息UI生成用戶(hù)特征串US ;
[0057]步驟102:根據(jù)所述的用戶(hù)特征串US生成視頻索引文件鏈接IL ;
[0058]步驟103:接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求,判斷所述視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述視頻索引文件鏈接IL中包含的用戶(hù)特征串US是否匹配;
[0059]步驟104:如果匹配,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給所述客戶(hù)端;
[0060]步驟105:接收所述客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求,判斷所述的視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述各視頻切片文件的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配;
[0061]步驟106:如果匹配,向所述的客戶(hù)端返回視頻切片。
[0062]本發(fā)明基于OTT業(yè)務(wù)的視頻防盜鏈方法的執(zhí)行主體為服務(wù)器端,該服務(wù)器段可以與客戶(hù)端進(jìn)行通信,接收客戶(hù)端的請(qǐng)求,向客戶(hù)端發(fā)送反饋信息。
[0063]由圖1所示的流程可知,本發(fā)明接收客戶(hù)端對(duì)服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求,生成根據(jù)該訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息UI生成用戶(hù)特征串US,然后根據(jù)用戶(hù)特征串US生成視頻索引文件鏈接IL ;接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求,并判斷該請(qǐng)求是否合法(即匹配),如果合法,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC反饋給所述客戶(hù)端;接收客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求,判斷該視頻切片訪(fǎng)問(wèn)請(qǐng)求是否合法,如果是,向所述的客戶(hù)端返回視頻切片。通過(guò)上述過(guò)程,在無(wú)需部署用戶(hù)認(rèn)證中心的情況下,有效的對(duì)HLS/HDS/DASH等協(xié)議的視頻索引文件鏈接和視頻切片文件的鏈接進(jìn)行防護(hù),保護(hù)合法OTT運(yùn)營(yíng)商視頻資源不被其他網(wǎng)站非法盜鏈。
[0064]在一實(shí)施例中,在圖1的步驟101中,客戶(hù)端向服務(wù)器端發(fā)送對(duì)服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求,服務(wù)器端接收到該訪(fǎng)問(wèn)請(qǐng)求后,將包含客戶(hù)端IP地址UIP及客戶(hù)端User-Agent信息UA的客戶(hù)信息結(jié)合,生成用戶(hù)特征信息UI,n= (UIP, UA)。定義可逆函數(shù)H),將上述生成的用戶(hù)特征信息Π和本次訪(fǎng)問(wèn)請(qǐng)求的時(shí)間因子T進(jìn)行運(yùn)算,形成用戶(hù)特征串US = R)(UI,T)。FO (UI, T)可采用但不局限于如下方式實(shí)現(xiàn):
[0065]I)對(duì)UI和T進(jìn)行字符串連接,形成待加密緩沖區(qū)B0.;
[0066]2)對(duì)BO進(jìn)行AES加密,形成加密緩沖區(qū)BI ;
[0067]3)對(duì)BI進(jìn)行Base64編碼,形成US。
[0068]需要說(shuō)明的是,可逆函數(shù)H)在將上述生成的用戶(hù)特征信息Π和本次訪(fǎng)問(wèn)請(qǐng)求的時(shí)間因子T進(jìn)行運(yùn)算時(shí),可采用AES、DES等通用加密算法或其他自定義的加密算法,防止被非法用戶(hù)猜測(cè)出US,本發(fā)明不以此為限。
[0069]對(duì)于上述時(shí)間因子T,在一實(shí)施例中,可以取訪(fǎng)問(wèn)請(qǐng)求時(shí)間作為時(shí)間因子T,但時(shí)間因子T的取值不限于此。另外,對(duì)同一用戶(hù)通過(guò)客戶(hù)端的多次訪(fǎng)問(wèn),時(shí)間因子T取值不同,可以使得相同的UI得到的US不同,從而防止US被重復(fù)使用。
[0070]上述步驟102具體實(shí)施時(shí),服務(wù)器端可以定義可逆函數(shù)Fl,將用戶(hù)特征串US和客戶(hù)端要訪(fǎng)問(wèn)的視頻索引文件的原始訪(fǎng)問(wèn)位置IO進(jìn)行運(yùn)算,基于不同的用戶(hù)特征串US形成不同的視頻索引文件鏈接IL,并將視頻索引文件鏈接IL進(jìn)行發(fā)布,IL = Fl (10,US)。其中,可逆函數(shù)Fl將用戶(hù)特征串US和客戶(hù)端要訪(fǎng)問(wèn)的視頻索引文件的原始訪(fǎng)問(wèn)位置IO進(jìn)行運(yùn)算的運(yùn)算方式包括字符串連接或者其他可逆運(yùn)算方式。舉例說(shuō)明一個(gè)典型的字符串拼接方式如下:[0071]I)對(duì)用戶(hù)特征串US進(jìn)行base64編碼,形成編碼后的字符串BUS,以防止出現(xiàn)中文等不能在URL中出現(xiàn)的字符。
[0072]2)將BUS作為參數(shù)添加入原始訪(fǎng)問(wèn)位置10,形成視頻索引文件鏈接IL。
[0073]在服務(wù)器端將視頻索引文件鏈接IL發(fā)布之后,客戶(hù)端可以向服務(wù)器端發(fā)起視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求,進(jìn)入步驟103。步驟103具體實(shí)施時(shí),當(dāng)接收到客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求后,利用可逆函數(shù)Fl (10,US)的逆函數(shù)Fr1從訪(fǎng)問(wèn)的URL中解析出用戶(hù)特征串US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UItl和時(shí)間因子I;。然后定義函數(shù)F5(US,U10, Ttl),并對(duì)函數(shù)F5(US,U10, T0)進(jìn)行判定,判定結(jié)果為T(mén)RUE還是FALSE。如果判定結(jié)果為T(mén)RUE,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果判定結(jié)果為FALSE,判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0074]在一實(shí)施例中對(duì)函數(shù)F5 (US, U10, T0)的進(jìn)行判定的步驟包括:
[0075]利用可逆函數(shù)R)(UI,T)的逆函數(shù)HT1從用戶(hù)特征串US中解析出用戶(hù)特征信息Π和時(shí)間因子T。
[0076]判定UI與UItl的關(guān)系,并判定Ttl-T與Tm的關(guān)系,如果UI不等于Wtl,或者Ttl-1DTm,返回FALSE。否則,如果Π等于Π。,并且同時(shí)Ttl-T STm,返回TRUE。其中,Tm為預(yù)定義的請(qǐng)求超時(shí)時(shí)間。
[0077]上述通過(guò)函數(shù)F5(US,U10, T0)判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求是否合法,但是本發(fā)明并不限于利用函數(shù)FS(USdId)進(jìn)行判定,還可以用另外兩種方法進(jìn)行判定。本實(shí)施例中,將利用函數(shù)FS(USjIc^Tci)進(jìn)行判定的方法稱(chēng)為第一種判定方法,下述兩種判定方法分別為第二種判定方法及第三種判定方法,其中的“第一種”、“第二種”、“第三種”并非為了限定,僅是為了便于區(qū)分。下面分別第二種判定方法及第三種判定方法:
[0078]1、第二種判定方法:
[0079]當(dāng)接收到客戶(hù)端的視頻索引文件訪(fǎng)問(wèn)請(qǐng)求后,提取請(qǐng)求中的reference-url域RU,然后判斷RU與AU的關(guān)系;
[0080]如果RU等于A(yíng)U,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求;如果RU不等于A(yíng)U,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0081]2、第三種判定方法:
[0082]將所述US 寫(xiě)入 HTTP-Cookie,形成 HTTP-Cookie 值 AS ;
[0083]當(dāng)接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求后,提取HTTP請(qǐng)求中的HTTP-Cookie 信息 RS,判斷 HTTP-Cookie 信息 RS 與 HTTP-Cookie 值 AS 的關(guān)系;
[0084]如果RS等于A(yíng)S,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求;如果RS不等于A(yíng)S,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0085]這里需要說(shuō)明的是,判定視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求是否合法時(shí),可以采用上述三種判定方法,也可以采用上述三種判定方法中的兩種或者一種。采用三種判定方法或者兩種判定方法時(shí),不分先后順序,例如采用上述的第一種判定方法及第三種判定方法判定視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求是否合法時(shí),可以先采用第三種判定方法進(jìn)行判定,然后進(jìn)行第一種判定方法進(jìn)行判定。采用三種判定方法或者兩種判定方法時(shí),只要一種判定方法判定視頻索引文件鏈接訪(fǎng)問(wèn)不合法,則視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求不合法,故在采用三種判定方法或者兩種判定方法時(shí),如果先采用的判定方法判定視頻索引文件鏈接訪(fǎng)問(wèn)不合法,則無(wú)需采用后面的判定方法再進(jìn)行判定,可以直接得出視頻索引文件鏈接訪(fǎng)問(wèn)不合法的結(jié)論。
[0086]如果服務(wù)器端判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,則視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與視頻索引文件鏈接IL中包含的用戶(hù)特征串US匹配,可以進(jìn)行步驟104,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給客戶(hù)端。
[0087]當(dāng)服務(wù)器端判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求時(shí),則判定客戶(hù)端對(duì)服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求為盜鏈行為,可以拒絕客戶(hù)端的訪(fǎng)問(wèn)請(qǐng)求,阻止OTT業(yè)務(wù)的視頻被盜鏈。
[0088]步驟104具體實(shí)施時(shí),在一實(shí)施例中,可以通過(guò)定義可逆函數(shù)F2 (CL,US)進(jìn)行,對(duì)所述用戶(hù)特征串US和所述各視頻切片的原始訪(fǎng)問(wèn)位置信息CL進(jìn)行運(yùn)算,生成索引文件中包含的各視頻切片的訪(fǎng)問(wèn)入口,使不同用戶(hù)特征串US產(chǎn)生的視頻索引文件內(nèi)容IC不同。
[0089]上述的可逆函數(shù)F2 (CL,US)可以通過(guò)加密算法進(jìn)行運(yùn)算,加密時(shí)使用的密鑰是基于各視頻切片的時(shí)間戳信息TS動(dòng)態(tài)生成的??赡婧瘮?shù)F2(CL,US)采用加密算法可以是AES、DES等通用加密算法或其他自定義的加密算法,對(duì)US和CL進(jìn)行加密運(yùn)算。
[0090]在另一實(shí)施例中,可以通過(guò)定義可逆函數(shù)F2' (CL,US,Cl),對(duì)用戶(hù)特征串US、各視頻切片的訪(fǎng)問(wèn)位置信息CL及各視頻切片的特征信息Cl進(jìn)行運(yùn)算,生成索引文件中包含的各視頻切片的訪(fǎng)問(wèn)入口,使不同用戶(hù)特征串US產(chǎn)生的視頻索引文件內(nèi)容IC不同。
[0091]上述的可逆函數(shù)F2' (CL,US,Cl)可以通過(guò)加密算法進(jìn)行運(yùn)算,加密時(shí)使用的密鑰是基于各視頻切片的時(shí)間戳信息TS動(dòng)態(tài)生成的。可逆函數(shù)F2' (CL,US, Cl)采用加密算法可以是AES、DES等通用加密算法或其他自定義的加密算法,對(duì)用戶(hù)特征串US和各視頻切片的訪(fǎng)問(wèn)位置信息CL進(jìn)行加密運(yùn)算,可逆函數(shù)F2' (CL,US,Cl)的密鑰基于各視頻切片文件的視頻切片文件的特征信息Cl生成,其基本步驟為:
[0092]I)設(shè)定C =預(yù)設(shè)的索引文件中需包含的切片個(gè)數(shù);
[0093]設(shè)定索引文件中包含的各視頻切片文件的訪(fǎng)問(wèn)位置信息集合為:
[0094]{CL0, CL1,…CLc_J
[0095]設(shè)定索引文件中包含的各視頻切片文件的特征信息為:
[0096]{C10, CI1,…CIc_J
[0097]2)定義密鑰生成算法K,基于各視頻切片文件的特征信息計(jì)算各切片的密鑰,得到:
[0098] (K(C10), K(CI1), -K(CIc^1)I[0099]3)計(jì)算索引文件中包含的各視頻切片文件的訪(fǎng)問(wèn)入口:
[0100]{F2, (US, CL0, K(C10)), (US, CL11K(CI1)), -F2/ (US, CLc^1, K (CIc^1))}
[0101]上述的密鑰生成算法K可使用基于MD5等單向哈希算法或其他密鑰生成算法。
[0102]視頻索引文件中包含的各視頻切片文件的特征信息Cl采用各視頻切片文件的時(shí)間戳信息動(dòng)態(tài)生成,不同切片的時(shí)間戳不同,則Cl不同。
[0103]由于函數(shù)F2' (CL,US,Cl)提取視頻索引文件中包含的各視頻切片文件的特征信息Cl參與運(yùn)算,使得不同用戶(hù)特征串US對(duì)應(yīng)的相同視頻切片文件的訪(fǎng)問(wèn)入口不同,同一用戶(hù)特征串US對(duì)應(yīng)的不同視頻切片文件的入口由于結(jié)合了各視頻切片文件自身的特征信息進(jìn)行計(jì)算,難于被預(yù)測(cè)。
[0104]客戶(hù)端收到視頻索引文件內(nèi)容IC后,可以向服務(wù)器端發(fā)送視頻切片訪(fǎng)問(wèn)請(qǐng)求,月艮務(wù)器端接收客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求,判斷視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與各視頻切片文件的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配(步驟105)。[0105]步驟105具體實(shí)施時(shí),在一實(shí)施例中,服務(wù)器端接收到客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求后,利用F2 (CL,US)的逆函數(shù)F2—1從訪(fǎng)問(wèn)的URL中解析出US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UItl和時(shí)間因子Ttl,利用函數(shù)F5 (US, U10, T0)進(jìn)行合法性判定;如果所述F5 (US, U10,T0)為T(mén)RUE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果所述F5 (US, U10, T0)為FALSE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0106]在上述過(guò)程中,由于不同切片文件鏈接對(duì)應(yīng)的密鑰不同,因此盜鏈方難于通過(guò)猜測(cè)破解密鑰的方式模擬出合法的切片文件鏈接,因此難于進(jìn)行盜鏈。同時(shí),在多個(gè)服務(wù)器端構(gòu)成的分布式環(huán)境中,該校驗(yàn)機(jī)制使客戶(hù)端通過(guò)任意一個(gè)服務(wù)器端獲取視頻切片文件時(shí),服務(wù)器端均可對(duì)訪(fǎng)問(wèn)請(qǐng)求進(jìn)行獨(dú)立校驗(yàn),不需要構(gòu)建統(tǒng)一的校驗(yàn)中心。
[0107]步驟105具體實(shí)施時(shí),在一實(shí)施例中,服務(wù)器端接收到客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求后,利用F2' (CL,US, Cl)的逆函數(shù)F2' ―1從訪(fǎng)問(wèn)的URL中解析出US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息U10和時(shí)間因子Ttl,利用函數(shù)F5(US,U10, T0)進(jìn)行合法性判定;如果所述F5 (US, U10, T0)為T(mén)RUE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果所述F5 (US, U10, T0)為FALSE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
[0108]在上述過(guò)程中,由于不同切片文件鏈接對(duì)應(yīng)的密鑰不同,因此盜鏈方難于通過(guò)猜測(cè)破解密鑰的方式模擬出合法的切片文件鏈接,因此難于進(jìn)行盜鏈。同時(shí),在多個(gè)服務(wù)器端構(gòu)成的分布式環(huán)境中,該校驗(yàn)機(jī)制使客戶(hù)端通過(guò)任意一個(gè)服務(wù)器端獲取視頻切片文件時(shí),服務(wù)器端均可對(duì)訪(fǎng)問(wèn)請(qǐng)求進(jìn)行獨(dú)立校驗(yàn),不需要構(gòu)建統(tǒng)一的校驗(yàn)中心。
[0109]如果視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與各視頻切片文件的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US匹配,本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,返回視頻切片。如果視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與各視頻切片文件的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US不匹配,本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求,則不向客戶(hù)端返回對(duì)應(yīng)視頻切片。
[0110]與現(xiàn)有的視頻防盜鏈方法相比,本發(fā)明的視頻防盜鏈方法的優(yōu)勢(shì)之一在于,針對(duì)OTT運(yùn)營(yíng)商廣泛采用I級(jí)索引+2級(jí)切片的視頻發(fā)布和傳輸方式,本發(fā)明采用了動(dòng)態(tài)產(chǎn)生視頻索引文件和動(dòng)態(tài)產(chǎn)生索弓丨內(nèi)包含的視頻切片文件鏈接的方式,從而使非法網(wǎng)站無(wú)法獲得固定的索引文件鏈接或索引內(nèi)包含的二級(jí)視頻切片文件鏈接。
[0111]與現(xiàn)有的視頻防盜鏈方法相比,本發(fā)明的視頻防盜鏈方法的另一優(yōu)勢(shì)在于,在動(dòng)態(tài)產(chǎn)生索引內(nèi)包含的視頻切片文件鏈接時(shí),采用了結(jié)合視頻切片文件視頻特征的方式,使得非法盜鏈者難于猜測(cè)和模擬視頻切片文件的動(dòng)態(tài)鏈接。
[0112]與現(xiàn)有的視頻防盜鏈方法相比,本發(fā)明的視頻防盜鏈方法的又一優(yōu)勢(shì)在于,對(duì)視頻索引鏈接、視頻切片文件鏈接,采用了一種將傳統(tǒng)HTTP-Cookie機(jī)制、reference-url機(jī)制和記錄客戶(hù)端信息并動(dòng)態(tài)生成特征串機(jī)制相結(jié)合的方式進(jìn)行防盜鏈,可有效避免傳統(tǒng)HTTP-Cookie、reference-url等方法無(wú)法保護(hù)二級(jí)切片的問(wèn)題。
[0113]與現(xiàn)有的視頻防盜鏈方法相比,本發(fā)明所述的視頻防盜鏈方法的再另一優(yōu)勢(shì)在于,防盜鏈策略中用到的用戶(hù)訪(fǎng)問(wèn)合法性校驗(yàn)策略采用特定算法完成,不需要構(gòu)建統(tǒng)一的認(rèn)證中心或校驗(yàn)中心,也不需要終端用戶(hù)進(jìn)行登錄認(rèn)證操作,因此可以極大節(jié)約建設(shè)成本,不影響用戶(hù)體驗(yàn)、并非常適用于CDN網(wǎng)絡(luò)的分布式部署。
[0114]綜上所述,本發(fā)明的有益效果在于,針對(duì)OTT運(yùn)營(yíng)商的合法視頻內(nèi)容,無(wú)須構(gòu)建統(tǒng)一認(rèn)證中心,無(wú)須用戶(hù)登錄認(rèn)證,即可實(shí)現(xiàn)對(duì)視頻內(nèi)容的有效防盜鏈,從而可保護(hù)OTT運(yùn)營(yíng)商的合法權(quán)益,大幅度降低運(yùn)營(yíng)商的投資成本,非常適合通過(guò)CDN網(wǎng)絡(luò)進(jìn)行分布式部署。
[0115]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0116]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0117]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0118]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0119]本發(fā)明中應(yīng)用了具體實(shí)施例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1.一種基于OTT業(yè)務(wù)的視頻防盜鏈方法,其特征在于,所述的視頻防盜鏈方法包括: 步驟1:接收客戶(hù)端對(duì)服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求,并根據(jù)所述服務(wù)請(qǐng)求地址AU的訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息UI生成用戶(hù)特征串US ; 步驟2:根據(jù)所述的用戶(hù)特征串US生成視頻索引文件鏈接IL ; 步驟3:接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求,判斷所述視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述視頻索引文件鏈接IL中包含的用戶(hù)特征串US是否匹配; 步驟4:如果匹配,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給所述客戶(hù)端;步驟5:接收所述客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求,判斷所述的視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述各 視頻切片文件的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配; 步驟6:如果匹配,向所述的客戶(hù)端返回視頻切片。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟I中,根據(jù)所述AU的訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息Π生成用戶(hù)特征串US,包括: 將包含客戶(hù)端IP地址UIP及客戶(hù)端User-Agent信息UA的客戶(hù)信息結(jié)合,生成用戶(hù)特征信息 UI:UI = (UIP,UA); 定義可逆函數(shù)H),將所述用戶(hù)特征信息UI和本次訪(fǎng)問(wèn)請(qǐng)求的時(shí)間因子T進(jìn)行運(yùn)算,形成用戶(hù)特征串US = FO (UI, T)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟2中,根據(jù)所述的用戶(hù)特征串US生成視頻索引文件鏈接IL,包括: 定義可逆函數(shù)F1,將所述的用戶(hù)特征串US和所述客戶(hù)端要訪(fǎng)問(wèn)的視頻索引文件的原始訪(fǎng)問(wèn)位置IO進(jìn)行運(yùn)算,基于不同的用戶(hù)特征串US形成不同的視頻索引文件鏈接IL:
IL = Fl (10,US) 其中,可逆函數(shù)Fl的運(yùn)算方式包括字符串連接。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟4中,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給所述客戶(hù)端,包括:定義可逆函數(shù)F2(CL,US),對(duì)所述用戶(hù)特征串US和所述各視頻切片的原始訪(fǎng)問(wèn)位置信息CL進(jìn)行運(yùn)算,生成索引文件中包含的各視頻切片的訪(fǎng)問(wèn)入口,使不同用戶(hù)特征串US產(chǎn)生的視頻索引文件內(nèi)容IC不同。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟4中,根據(jù)視頻索引文件中包含的各視頻切片的原始訪(fǎng)問(wèn)入口和用戶(hù)特征串US生成各視頻切片的訪(fǎng)問(wèn)入口,從而形成視頻索引文件內(nèi)容IC返回給所述客戶(hù)端,包括:定義可逆函數(shù)F2' (CL,US,Cl),對(duì)所述用戶(hù)特征串US、所述各視頻切片的訪(fǎng)問(wèn)位置信息CL及各視頻切片的特征信息Cl進(jìn)行運(yùn)算,生成索引文件中包含的各視頻切片的訪(fǎng)問(wèn)入口,使不同用戶(hù)特征串US產(chǎn)生的視頻索引文件內(nèi)容IC不同。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述的函數(shù)F2通過(guò)加密算法進(jìn)行運(yùn)算,加密時(shí)使用的密鑰是基于各視頻切片的時(shí)間戳信息TS動(dòng)態(tài)生成的。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述的函數(shù)F2'通過(guò)加密算法進(jìn)行運(yùn)算,加密時(shí)使用的密鑰是基于各視頻切片的時(shí)間戳信息TS動(dòng)態(tài)生成的。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的步驟3中,當(dāng)接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求后,利用可逆函數(shù)Fl (10,US)的逆函數(shù)Fr1從訪(fǎng)問(wèn)的URL中解析出用戶(hù)特征串US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UItl和時(shí)間因子Ttl ;定義函數(shù)F5(US,U10, T0),并對(duì)函數(shù)F5 (US, U10, T0)進(jìn)行判定,如果判定結(jié)果為T(mén)RUE,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果判定結(jié)果為FALSE,判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,對(duì)函數(shù)FS(USJId)的進(jìn)行判定的步驟包括: 利用可逆函數(shù)H) (UI, T)的逆函數(shù)RT1從用戶(hù)特征串US中解析出用戶(hù)特征信息UI和時(shí)間因子T ; 判定UI與U10的關(guān)系,并判定Ttl-T與Tm的關(guān)系,如果UI不等于U10,或者Ttl-TXTm,返回FALSE,否則,返回TRUE ; 其中,Tffl為預(yù)定義的請(qǐng)求超時(shí)時(shí)間。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,判定本次視頻索引文件訪(fǎng)問(wèn)請(qǐng)求是否合法時(shí),采用步驟a和/或步驟b作為補(bǔ)充步驟: 步驟a:當(dāng)接收所述客戶(hù)端的視頻索引文件訪(fǎng)問(wèn)請(qǐng)求后,提取請(qǐng)求中的reference-url域RU,判斷RU與AU的關(guān)系; 如果RU等于A(yíng)U,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果RU不等于A(yíng)U,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求; 步驟b:將所述US寫(xiě)入HTTP-Cookie,形成HTTP-Cookie值A(chǔ)S ; 當(dāng)接收所述客戶(hù)端的視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求后,提取HTTP請(qǐng)求中的HTTP-Cookie信息RS,判斷RS與AS的關(guān)系; 如果RS等于A(yíng)S,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果RS不等于A(yíng)S,則判定本次視頻索引文件鏈接訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
11.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述步驟5中,判斷所述的視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述各視頻切片的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配,包括: 接收所述客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求后,利用F2(CL,US)的逆函數(shù)F2—1從訪(fǎng)問(wèn)的URL中解析出US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UItl和時(shí)間因子Ttl,利用函數(shù)F5(US,U10,T0)進(jìn)行合法性判定; 如果所述F5 (US, U10, T0)為T(mén)RUE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果所述F5 (US, U10, T0)為FALSE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
12.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述步驟5中,判斷所述的視頻切片訪(fǎng)問(wèn)請(qǐng)求中的用戶(hù)特征信息與所述各視頻切片的訪(fǎng)問(wèn)入口中包含的用戶(hù)特征串US是否匹配,包括: 接收所述客戶(hù)端的視頻切片訪(fǎng)問(wèn)請(qǐng)求后,利用F2' (CL,US,Cl)的逆函數(shù)F2' ―1從訪(fǎng)問(wèn)的URL中解析出US,記錄本次用戶(hù)訪(fǎng)問(wèn)的用戶(hù)特征信息UItl和時(shí)間因子Ttl,利用函數(shù)F5 (US, U10, T0)進(jìn)行合法性判定; 如果所述F5 (US, U10, T0)為T(mén)RUE,則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為合法請(qǐng)求,如果所述F5 (US, U10, T0)為FALSE, 則判定本次視頻切片訪(fǎng)問(wèn)請(qǐng)求為非法請(qǐng)求。
【文檔編號(hào)】H04N21/643GK103957436SQ201410200313
【公開(kāi)日】2014年7月30日 申請(qǐng)日期:2014年5月13日 優(yōu)先權(quán)日:2014年5月13日
【發(fā)明者】李偉華, 李毅, 羅翰 申請(qǐng)人:北京清源新創(chuàng)科技有限公司