一種視頻文件發(fā)送方法及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例公開了一種視頻文件發(fā)送方法,所述方法包括:獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻;根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻;將所述目的視頻發(fā)送給所述第一客戶端。所述方法能夠更加精確的識別緩存服務(wù)器的緩存視頻庫中的視頻,同時(shí),還可以節(jié)省緩存服務(wù)器的空間。進(jìn)一步的,本發(fā)明實(shí)施例還公開了一種視頻文件發(fā)送裝置。
【專利說明】
一種視頻文件發(fā)送方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域的緩存識別技術(shù),尤其涉及一種視頻文件發(fā)送方法及裝置。
【背景技術(shù)】
[0002]緩存服務(wù)器是一種連接源服務(wù)器與客戶端的中繼服務(wù)器,可以存儲源服務(wù)器發(fā)送給客戶端的視頻于緩存視頻庫中,當(dāng)下一次客戶端再次請求源服務(wù)器發(fā)送該視頻時(shí),緩存服務(wù)器會首先識別出緩存視頻庫中的該視頻,然后直接將緩存視頻庫中的該視頻發(fā)送給客戶端,從而可以緩解源服務(wù)器的壓力,節(jié)省網(wǎng)絡(luò)帶寬,提高在線視頻的流暢度。
[0003]目前的緩存服務(wù)器通常選取URL(UniformResource Locator,統(tǒng)一資源定位符)作為視頻標(biāo)識,對緩存視頻庫中的視頻進(jìn)行識別,所述URL由視頻在源服務(wù)器中的存儲路徑?jīng)Q定。實(shí)際應(yīng)用中,在緩存服務(wù)器第一次獲取源服務(wù)器發(fā)送給客戶端的視頻時(shí),可以同時(shí)獲取與視頻相對應(yīng)的URL,并將此URL作為視頻的索引同視頻一起存儲于緩存視頻庫中。
[0004]但是,由于源服務(wù)器具有負(fù)載均衡機(jī)制,相同的視頻可以來自不同的源服務(wù)器,也可以來自同一個(gè)源服務(wù)器的不同路徑下。例如,視頻C可以來自源服務(wù)器H,也可以來自源服務(wù)器I,其中,視頻C在源服務(wù)器H的存儲路徑為URLl,在源服務(wù)器I的存儲路徑為URL2。當(dāng)緩存視頻庫已經(jīng)存儲有來自源服務(wù)器H標(biāo)識為URLl的視頻C時(shí),如果客戶端請求源服務(wù)器I發(fā)送視頻C,即客戶端請求來自URL2的視頻C,此時(shí)緩存服務(wù)器無法識別出已存儲的標(biāo)識為URLl對應(yīng)的視頻C與客戶端請求的來自URL2的視頻C相同,因此仍然需要從源服務(wù)器I發(fā)送視頻C給客戶端。此時(shí)緩存服務(wù)器只是對視頻G進(jìn)行了轉(zhuǎn)發(fā),而沒有發(fā)揮緩解源服務(wù)器I的壓力的作用。另外,緩存服務(wù)器還會以URL2為標(biāo)識重新存儲視頻G,即同時(shí)存儲了兩個(gè)相對應(yīng)的視頻F和G,造成了緩存服務(wù)器空間的浪費(fèi)。
【發(fā)明內(nèi)容】
[0005]為解決上述技術(shù)問題,本發(fā)明實(shí)施例期望提供一種視頻文件發(fā)送方法及裝置,能夠更加精確的識別緩存服務(wù)器的緩存視頻庫中的視頻,同時(shí),還可以節(jié)省緩存服務(wù)器的空間。
[0006]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007]本發(fā)明實(shí)施例一方面提供了一種視頻文件發(fā)送方法,包括:
[0008]獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;
[0009]根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻;
[0010]根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻;
[0011 ]將所述目的視頻發(fā)送給所述第一客戶端。
[0012]可選的,在所述獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流之前,所述方法還包括:
[0013]獲取第二源服務(wù)器發(fā)送給第二客戶端的視頻;
[0014]根據(jù)所述視頻的內(nèi)容,獲取所述視頻的至少一個(gè)索引;
[0015]按照所述至少一個(gè)索引存儲所述視頻。
[0016]可選的,所述源服務(wù)器視頻流包括N個(gè)關(guān)鍵幀,所述N為大于或等于I的整數(shù);
[0017]所述根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻包括:
[0018]根據(jù)所述源服務(wù)器視頻流第i關(guān)鍵幀的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的第一特征值;
[0019]確定所述緩存視頻庫中是否存在索引與所述第一特征值相同的第一視頻組,所述第一視頻組中包括至少一個(gè)視頻;
[0020]當(dāng)所述緩存視頻庫中存在索引與所述第一特征值相同的第一視頻組時(shí),在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0021 ]可選的,所述在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻包括:
[0022]根據(jù)所述源服務(wù)器視頻流第i+ Ι關(guān)鍵幀的內(nèi)容,獲取所述源服務(wù)器視頻流的第二特征值;
[0023]確定所述第一視頻組包括的至少一個(gè)視頻中是否存在索引與所述第二特征值相同的第二視頻組,所述第二視頻組中包括至少一個(gè)視頻;
[0024]當(dāng)所述緩存視頻庫中存在索引與所述第二特征值相同的第二視頻組時(shí),在所述第二視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0025]可選的,所述根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻包括:
[0026]獲取所述源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容;
[0027]根據(jù)所述預(yù)設(shè)范圍的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的特征值;
[0028]確定所述緩存視頻庫中是否存在索引與所述特征值相同的視頻;
[0029]當(dāng)所述緩存視頻庫中存在索引與所述特征值相同的視頻時(shí),將所述索引與所述特征值相同的視頻作為與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0030]可選的,所述根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻包括:
[0031 ]根據(jù)所述視頻和所述源服務(wù)器視頻流,確定所述目的視頻的起始幀和終止幀。
[0032]本發(fā)明實(shí)施例另一方面提供了一種視頻文件發(fā)送裝置,包括:
[0033]第一獲取單元,用于獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;
[0034]第二獲取單元,用于根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻;
[0035]第三獲取單元,用于根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻;
[0036]發(fā)送單元,用于將所述目的視頻發(fā)送給所述第一客戶端。
[0037]可選的,所述裝置還包括:
[0038]第四獲取單元,用于獲取第二源服務(wù)器發(fā)送給第二客戶端的視頻;
[0039]第五獲取單元,用于根據(jù)所述視頻的內(nèi)容,獲取所述視頻的至少一個(gè)索引;
[0040]存儲單元,用于按照所述至少一個(gè)索引存儲所述視頻。
[0041 ]可選的,所述源服務(wù)器視頻流包括N個(gè)關(guān)鍵幀,所述N為大于或等于I的整數(shù);
[0042]第二獲取單元,具體用于:
[0043]根據(jù)所述源服務(wù)器視頻流第i關(guān)鍵幀的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的第一特征值;
[0044]確定所述緩存視頻庫中是否存在索引與所述第一特征值相同的第一視頻組,所述第一視頻組中包括至少一個(gè)視頻;
[0045]當(dāng)所述緩存視頻庫中存在索引與所述第一特征值相同的第一視頻組時(shí),在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0046]可選的,第二獲取單元,具體用于:
[0047]根據(jù)所述源服務(wù)器視頻流第i+ Ι關(guān)鍵幀的內(nèi)容,獲取所述源服務(wù)器視頻流的第二特征值;
[0048]確定所述第一視頻組包括的至少一個(gè)視頻中是否存在索引與所述第二特征值相同的第二視頻組,所述第二視頻組中包括至少一個(gè)視頻;
[0049]當(dāng)所述緩存視頻庫中存在索引與所述第二特征值相同的第二視頻組時(shí),在所述第二視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0050]可選的,第二獲取單元,具體用于:
[0051 ]獲取所述源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容;
[0052]根據(jù)所述預(yù)設(shè)范圍的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的特征值;
[0053]確定所述緩存視頻庫中是否存在索引與所述特征值相同的視頻;
[0054]當(dāng)所述緩存視頻庫中存在索引與所述特征值相同的視頻時(shí),將所述索引與所述特征值相同的視頻作為與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0055]可選的,第三獲取單元,具體用于:
[0056]根據(jù)所述視頻和所述源服務(wù)器視頻流,確定所述目的視頻的起始幀和終止幀。
[0057]本發(fā)明實(shí)施例提供了一種視頻文件發(fā)送方法及裝置,包括:獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻;根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻;將所述目的視頻發(fā)送給所述第一客戶端。相較于現(xiàn)有技術(shù),緩存服務(wù)器通過提取源服務(wù)器視頻流的內(nèi)容作為視頻標(biāo)識,能夠更加精確地識別出與源服務(wù)器視頻流相對應(yīng)的緩存視頻庫中的視頻,從而緩解了源服務(wù)器的壓力,提高了在線視頻的流暢度;同時(shí),避免了僅根據(jù)存儲路徑區(qū)分視頻時(shí)出現(xiàn)的重復(fù)存儲視頻,節(jié)省了緩存服務(wù)器的空間。
【附圖說明】
[0058]圖1為本發(fā)明實(shí)施例提供的一種視頻文件發(fā)送方法的流程示意圖1;
[0059]圖2為本發(fā)明實(shí)施例提供的一種視頻文件發(fā)送方法的流程示意圖2;
[0060]圖3為本發(fā)明實(shí)施例提供的一種視頻文件發(fā)送裝置的結(jié)構(gòu)示意圖1;
[0061]圖4為本發(fā)明實(shí)施例提供的一種視頻文件發(fā)送裝置的結(jié)構(gòu)示意圖2。
【具體實(shí)施方式】
[0062]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
[0063]實(shí)施例一
[0064]本發(fā)明實(shí)施例提供了一種視頻文件發(fā)送方法,應(yīng)用于緩存服務(wù)器,所述緩存服務(wù)器與至少一個(gè)源服務(wù)器連接,同時(shí)與至少一個(gè)客戶端連接,可以接收任意一個(gè)源服務(wù)器發(fā)送給任意一個(gè)客戶端的視頻流。所述緩存服務(wù)器的緩存視頻庫包括關(guān)鍵幀緩存視頻庫以及無關(guān)鍵幀緩存視頻庫。如圖1所示,所述視頻文件發(fā)送方法包括:
[0065]步驟101、獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流。
[0066]示例的,當(dāng)發(fā)送一部電影視頻或一集電視連續(xù)劇視頻時(shí),由于所述視頻通常較大而不利于在網(wǎng)絡(luò)中完整傳輸,因此會將所述視頻分成若干段較短的視頻流傳輸。在實(shí)際應(yīng)用中,當(dāng)?shù)谝豢蛻舳诵枰シ拍畴娪耙曨l時(shí),會首先向第一源服務(wù)器發(fā)送請求;然后,第一源服務(wù)器會根據(jù)請求,將該電影視頻中的一段源服務(wù)器視頻流發(fā)送給緩存服務(wù)器;接下來,再由緩存服務(wù)器根據(jù)該源服務(wù)器視頻流生成目的視頻,并發(fā)送給第一客戶端。因此,緩存服務(wù)器需要首先獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流。所述一段源服務(wù)器視頻流可以是完整視頻中P個(gè)字節(jié)的視頻,也可以是完整視頻中Q秒時(shí)長的視頻,其中P為大于或者等于O的整數(shù),Q為大于O的實(shí)數(shù)。
[0067]步驟102、根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0068]具體的,源服務(wù)器視頻流包括信令信息和視頻數(shù)據(jù);其中信令信息是用于控制傳輸?shù)男畔ⅲ@些信息通常并不是用戶直接需要的信息;而視頻數(shù)據(jù)包括視頻信息、音頻信息、文本信息等,是用戶直接需要的信息,因此視頻數(shù)據(jù)即為源服務(wù)器視頻流的內(nèi)容。
[0069]由于緩存服務(wù)器在存儲視頻時(shí),會首先根據(jù)視頻的內(nèi)容計(jì)算特征值,然后將此特征值作為視頻的索引,存儲該視頻。因此,在獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻時(shí),可以首先根據(jù)源服務(wù)器視頻流的內(nèi)容計(jì)算特征值,當(dāng)緩存視頻庫中存在與該特征值相同的索引時(shí),該索引所對應(yīng)的視頻即為與源服務(wù)器視頻流對應(yīng)的視頻。
[0070]步驟103、根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻。
[0071 ]具體的,如果源服務(wù)器視頻流不包括關(guān)鍵幀,那么,第一客戶端請求的視頻為完整視頻,而存儲于緩存視頻庫中的視頻也為完整的視頻,因此,緩存視頻庫中與源服務(wù)器視頻流對應(yīng)的視頻即為目的視頻。
[0072]如果源服務(wù)器視頻流包括關(guān)鍵幀,那么,在實(shí)際應(yīng)用中,第一客戶端請求的視頻還可能為不完整視頻,例如,當(dāng)?shù)谝豢蛻舳瞬シ乓徊坑捌瑫r(shí),可以根據(jù)用戶指示,直接從影片的中間某個(gè)時(shí)刻開始播放,此時(shí),第一客戶端請求的視頻為從該時(shí)刻以后的視頻,因此,緩存服務(wù)器需要截取緩存視頻庫中與源服務(wù)器視頻流對應(yīng)的視頻中從該時(shí)刻以后的視頻作為目的視頻。
[0073]步驟104、將所述目的視頻發(fā)送給所述第一客戶端。
[0074]示例的,可以將目的視頻分成若干段較短的視頻流逐段發(fā)送給第一客戶端。
[0075]這樣一來,緩存服務(wù)器通過提取源服務(wù)器視頻流的內(nèi)容作為視頻標(biāo)識,能夠更加精確地識別出與源服務(wù)器視頻流相對應(yīng)的緩存視頻庫中的視頻,從而緩解了源服務(wù)器的壓力,提高了在線視頻的流暢度;同時(shí),避免了僅根據(jù)存儲路徑區(qū)分視頻時(shí)出現(xiàn)的重復(fù)存儲視頻,節(jié)省了緩存服務(wù)器的空間。
[0076]可選的,在所述獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流之前,所述方法還可以首先獲取第二源服務(wù)器發(fā)送給第二客戶端的視頻;然后,根據(jù)所述視頻的內(nèi)容,獲取所述視頻的至少一個(gè)索引;繼而,按照所述至少一個(gè)索引存儲所述視頻。
[0077]示例的,第二源服務(wù)器發(fā)送給第二客戶端的視頻可以為包括關(guān)鍵幀的視頻,也可以為不包括關(guān)鍵幀的視頻。當(dāng)緩存視頻庫中不存在該第二源服務(wù)器發(fā)送給第二客戶端的視頻時(shí),如果該視頻為包括關(guān)鍵幀的視頻,可以按照該視頻的索引將該視頻存儲于關(guān)鍵幀視頻庫中;如果該視頻為不包括關(guān)鍵幀的視頻,可以按照該視頻的索引將該視頻存儲于無關(guān)鍵幀視頻庫中。
[0078]當(dāng)存儲包括關(guān)鍵幀的視頻時(shí),可以首先獲取視頻的所有關(guān)鍵幀,其中視頻的關(guān)鍵幀可以為一個(gè)也可以為多個(gè)。當(dāng)關(guān)鍵幀為一個(gè)時(shí),可以根據(jù)哈希算法,將該關(guān)鍵幀的內(nèi)容轉(zhuǎn)化為特征值,并將該特征值作為視頻的索引,此時(shí),視頻的索引為一個(gè)。當(dāng)關(guān)鍵幀為多個(gè)時(shí),可以根據(jù)哈希算法,分別將每一個(gè)關(guān)鍵幀的內(nèi)容轉(zhuǎn)化為相應(yīng)的特征值,并將獲得的所有與關(guān)鍵幀相應(yīng)的特征值作為視頻的索引,此時(shí),視頻的索引為多個(gè)。當(dāng)存儲不包括關(guān)鍵幀的視頻時(shí),可以將視頻預(yù)設(shè)范圍的內(nèi)容轉(zhuǎn)化為特征值作為視頻的索引,此時(shí),視頻的索引為一個(gè),例如,可以選取視頻的前W個(gè)字節(jié)的內(nèi)容計(jì)算該視頻的特征值,也可以選取視頻前H秒的內(nèi)容計(jì)算該視頻的特征值,本發(fā)明實(shí)施例對此不做限定,其中W為大于或者等于O的整數(shù),H為大于O的實(shí)數(shù)。
[0079]較佳的,上述哈希算法可以為MD5(Message Digest Algorithm MD5,消息摘要算法第五版)算法。MD5為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),可以將視頻數(shù)據(jù)運(yùn)算為一個(gè)固定長度的數(shù)值。通常情況下,由視頻數(shù)據(jù)A轉(zhuǎn)化的MD5值與非視頻數(shù)據(jù)A轉(zhuǎn)化的MD5值是不同的,因此MD5值具有唯一標(biāo)識視頻數(shù)據(jù)A的作用。
[0080]可選的,所述源服務(wù)器視頻流包括N個(gè)關(guān)鍵幀,所述N為大于或等于I的整數(shù)。在根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻時(shí),可以首先根據(jù)所述源服務(wù)器視頻流第i關(guān)鍵幀的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的第一特征值;然后,確定所述緩存視頻庫中是否存在索引與所述第一特征值相同的第一視頻組,所述第一視頻組中包括至少一個(gè)視頻;當(dāng)所述緩存視頻庫中存在索引與所述第一特征值相同的第一視頻組時(shí),在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻??蛇x的,在第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻時(shí),可以首先根據(jù)所述源服務(wù)器視頻流第i+Ι關(guān)鍵幀的內(nèi)容,獲取所述源服務(wù)器視頻流的第二特征值;然后,確定所述第一視頻組包括的至少一個(gè)視頻中是否存在索引與所述第二特征值相同的第二視頻組,所述第二視頻組中包括至少一個(gè)視頻;當(dāng)所述緩存視頻庫中存在索引與所述第二特征值相同的第二視頻組時(shí),在所述第二視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0081]示例的,當(dāng)源服務(wù)器視頻流包括N個(gè)關(guān)鍵幀時(shí),可以首先獲取第i關(guān)鍵幀的內(nèi)容。然后根據(jù)哈希算法,計(jì)算第i關(guān)鍵幀的內(nèi)容的特征值作為源服務(wù)器視頻流的第一特征值。繼而,判斷緩存視頻庫中是否存在索引與第一特征值相同的視頻;當(dāng)索引與第一特征值相同的視頻為一個(gè)時(shí),該視頻即為與源服務(wù)器視頻流對應(yīng)的視頻;當(dāng)索引與第一特征值相同的視頻為多個(gè)時(shí),將此多個(gè)索引與第一特征值相同的視頻組成第一視頻組。接下來,獲取源服務(wù)器視頻流第i + 1關(guān)鍵幀的內(nèi)容。然后根據(jù)哈希算法,計(jì)算第i+1關(guān)鍵幀的內(nèi)容的特征值作為源服務(wù)器視頻流的第二特征值。繼而,判斷第一視頻組中是否存在索引與第二特征值相同的視頻;當(dāng)索引與第二特征值相同的視頻為一個(gè)時(shí),該視頻即為與源服務(wù)器視頻流對應(yīng)的視頻;當(dāng)索引與第二特征值相同的視頻為多個(gè)時(shí),將此多個(gè)索引與第二特征值相同的視頻組成第三視頻組。第三視頻組的處理方式與第二視頻組的處理方式類似,此處不再贅述,直到可以唯一確定與源服務(wù)器視頻流對應(yīng)的視頻為止。
[0082]例如,當(dāng)一部電視連續(xù)劇中的人物在第23集視頻中回憶在第3集視頻中出現(xiàn)的內(nèi)容時(shí),第23集視頻和第3集視頻就會包括同一段視頻,如果該段視頻中恰巧包括第i關(guān)鍵幀,那么,第i關(guān)鍵幀的特征值就會同時(shí)作為第23集視頻與第3集視頻的索引,因此,當(dāng)使用第i關(guān)鍵幀的特征值作為源服務(wù)器視頻流的第一特征值時(shí),就會確定出索引與第一特征值相同的兩個(gè)視頻,即第23集視頻與第3集視頻,并且無法確定兩個(gè)視頻中的哪一個(gè)視頻為與源服務(wù)器視頻流對應(yīng)的視頻。因此,需要根據(jù)源服務(wù)器視頻流的下一個(gè)關(guān)鍵幀的內(nèi)容,獲取第二特征值,如果第一視頻組中只有第23集視頻存在與第二特征值相同的索引,就可以確定第23集視頻為與源服務(wù)器視頻流對應(yīng)的視頻。
[0083]較佳的,第i關(guān)鍵幀可以為第I關(guān)鍵幀。
[0084]可選的,在根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻時(shí),可以首先獲取所述源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容;然后,根據(jù)所述預(yù)設(shè)范圍的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的特征值;繼而,確定所述緩存視頻庫中是否存在索引與所述特征值相同的視頻;當(dāng)所述緩存視頻庫中存在索引與所述特征值相同的視頻時(shí),將所述索引與所述特征值相同的視頻作為與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0085]本發(fā)明實(shí)施例以預(yù)設(shè)范圍為視頻或視頻流的前10240字節(jié)為例進(jìn)行說明。在實(shí)際應(yīng)用中,預(yù)設(shè)范圍可以根據(jù)具體情況進(jìn)行設(shè)置,本發(fā)明實(shí)施例對此不做限定。
[0086]當(dāng)源服務(wù)器視頻流為不包括關(guān)鍵幀的視頻流時(shí),可以首先獲取源服務(wù)器視頻流的前10240字節(jié)。然后,將該前10240字節(jié)的內(nèi)容轉(zhuǎn)化為特征值。繼而,判斷無關(guān)鍵幀視頻庫中是否存在索引與該特征值相同的視頻,當(dāng)存在該視頻時(shí),該視頻即為與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0087]值得說明的是,無關(guān)鍵幀視頻庫中的視頻的索引也是該視頻的前10240字節(jié)的特征值,且無關(guān)鍵幀視頻庫中的視頻的索引是唯一的,因此,當(dāng)無關(guān)鍵幀視頻庫中存在索引與源服務(wù)器視頻流的特征值相同的視頻時(shí),索引與源服務(wù)器視頻流的特征值相同的視頻通常是唯一的,因此,該視頻即為與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0088]可選的,在根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻時(shí),可以根據(jù)所述視頻和所述源服務(wù)器視頻流,確定所述目的視頻的起始幀和終止幀。
[0089]示例的,當(dāng)源服務(wù)器視頻流為包括關(guān)鍵幀的視頻流時(shí),信令信息通常會包括關(guān)鍵幀標(biāo)號,關(guān)鍵幀標(biāo)號記錄了用戶所需要的目的視頻中所包括的所有關(guān)鍵幀的標(biāo)號,其中每一個(gè)標(biāo)號記錄了該關(guān)鍵幀在完整視頻的所有幀中的順序,因此,根據(jù)關(guān)鍵幀標(biāo)號,可以確定用戶所需要的目的視頻中的起始關(guān)鍵幀標(biāo)號和終止關(guān)鍵幀標(biāo)號,從而獲取該目的視頻。例如,關(guān)鍵幀標(biāo)號分別為3398、3491、201028、241480,說明用戶所需目的視頻的第I關(guān)鍵幀為完整視頻中的第3398幀,第2關(guān)鍵幀為完整視頻中的第3491幀,第3關(guān)鍵幀為完整視頻中的第201028幀,第4關(guān)鍵幀為完整視頻中的第241480幀,從而可以確定目的視頻的起始幀為完整視頻中的第3398幀,目的視頻的終止幀為完整視頻中的第241480幀,繼而可以確定目的視頻為完整視頻中從第3398幀至第241480幀之間的視頻。然后,獲取緩存視頻庫中與源服務(wù)器視頻流對應(yīng)的視頻中從第3398幀至第241480幀之間的視頻,即為目的視頻。
[0090]本發(fā)明實(shí)施例提供了一種視頻文件發(fā)送方法,包括:獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻;根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻;將所述目的視頻發(fā)送給所述第一客戶端。相較于現(xiàn)有技術(shù),緩存服務(wù)器通過提取源服務(wù)器視頻流的內(nèi)容作為視頻標(biāo)識,能夠更加精確地識別出與源服務(wù)器視頻流相對應(yīng)的緩存視頻庫中的視頻,從而緩解了源服務(wù)器的壓力,提高了在線視頻的流暢度;同時(shí),避免了僅根據(jù)存儲路徑區(qū)分視頻時(shí)出現(xiàn)的重復(fù)存儲視頻,節(jié)省了緩存服務(wù)器的空間。
[0091]實(shí)施例二
[0092]本發(fā)明實(shí)施例提供了一種視頻文件發(fā)送方法,如圖2所示,應(yīng)用于緩存服務(wù)器,所述緩存服務(wù)器與至少一個(gè)源服務(wù)器連接,同時(shí)與至少一個(gè)客戶端連接,可以接收任意一個(gè)源服務(wù)器發(fā)送給任意一個(gè)客戶端的視頻流,所述緩存服務(wù)器的緩存視頻庫包括關(guān)鍵幀緩存視頻庫以及無關(guān)鍵幀緩存視頻庫。本實(shí)施例以視頻文件是FLV格式為例進(jìn)行說明,所述視頻文件發(fā)送方法包括:
[0093]步驟201、獲取第二源服務(wù)器發(fā)送給第二客戶端的視頻,執(zhí)行步驟202。
[0094]具體的,存儲于緩存視頻庫中的視頻需要為完整的視頻,例如,一部完整的電影視頻,或一集完整的電視劇視頻。由于傳輸過程中,完整的視頻會分成若干段較短的視頻流。因此,當(dāng)緩存視頻庫中不存在第二源服務(wù)器發(fā)送給第二客戶端的某個(gè)視頻時(shí),在該視頻的傳輸過程中緩存服務(wù)器可以獲取屬于該視頻的所有視頻流;然后組成第二源服務(wù)器發(fā)送給第二客戶端的完整視頻。
[0095]步驟202、根據(jù)視頻的內(nèi)容,獲取視頻的至少一個(gè)索引,執(zhí)行步驟203。
[0096]優(yōu)選的,當(dāng)視頻包括關(guān)鍵幀時(shí),可以計(jì)算該視頻關(guān)鍵幀的MD5值,并將該MD5值作為視頻的索引,因?yàn)橐曨l包括至少一個(gè)關(guān)鍵幀,所以可以獲取視頻的至少一個(gè)索引;當(dāng)視頻不包括關(guān)鍵幀時(shí),可以獲取該視頻預(yù)設(shè)范圍的內(nèi)容計(jì)算MD5值,并將該MD5值作為視頻的索引,此時(shí)可以獲取視頻的唯一索引。
[0097]步驟203、按照至少一個(gè)索引存儲視頻,執(zhí)行步驟204。
[0098]示例的,當(dāng)視頻包括關(guān)鍵幀時(shí),將視頻按照至少一個(gè)索引存儲于關(guān)鍵幀視頻庫中;當(dāng)視頻不包括關(guān)鍵幀時(shí),將視頻按照唯一索引存儲于無關(guān)鍵幀視頻庫中。
[0099]步驟204、獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流,執(zhí)行步驟205。
[0100]步驟205、解析源服務(wù)器視頻流頭部,得到信令信息,執(zhí)行步驟206。
[0101]示例的,F(xiàn)LV格式的源服務(wù)器視頻流的信令信息存儲于頭部,信令信息包括關(guān)鍵幀標(biāo)識,用于標(biāo)識源服務(wù)器視頻流是否為包括關(guān)鍵幀的視頻流。當(dāng)源服務(wù)器視頻流為包括關(guān)鍵幀的視頻流時(shí),信令信息還包括用戶所需目的視頻的所有關(guān)鍵幀標(biāo)號,其中第一個(gè)關(guān)鍵幀標(biāo)號為目的視頻的起始幀標(biāo)號,最后一個(gè)關(guān)鍵幀標(biāo)號為目的視頻的終止幀標(biāo)號。值得說明的是,由于用戶所需的目的視頻通常較長,需要分段進(jìn)行發(fā)送,此時(shí)該段源服務(wù)器視頻流的信令信息中雖然包括目的視頻的所有關(guān)鍵幀標(biāo)號,但是該段源服務(wù)器視頻流的內(nèi)容可能僅包括目的視頻的少數(shù)幾個(gè)關(guān)鍵幀。
[0102]步驟206、判斷信令信息中的關(guān)鍵幀標(biāo)識是否有效;當(dāng)信令信息中的關(guān)鍵幀標(biāo)識有效時(shí),執(zhí)行步驟207 ;當(dāng)信令信息中的關(guān)鍵幀標(biāo)識無效時(shí),執(zhí)行步驟215。
[0103]具體的,由于包括關(guān)鍵幀的視頻與不包括關(guān)鍵幀的視頻的確定方法不同,因此,需要首先判斷源服務(wù)器視頻流是否為包括關(guān)鍵幀的視頻流。當(dāng)信令信息中的關(guān)鍵幀標(biāo)識有效時(shí),說明源服務(wù)器視頻流為包括關(guān)鍵幀的視頻流,需要在關(guān)鍵幀緩存視頻庫中,按照包括關(guān)鍵幀的視頻的確定方法,確定與源服務(wù)器視頻流對應(yīng)的視頻;當(dāng)信令信息中的關(guān)鍵幀標(biāo)識無效時(shí),說明源服務(wù)器視頻流為不包括關(guān)鍵幀的視頻流,需要在無關(guān)鍵幀緩存視頻庫中,按照不包括關(guān)鍵幀的視頻的確定方法,確定與源服務(wù)器視頻流對應(yīng)的視頻。假設(shè)關(guān)鍵幀標(biāo)識為ture時(shí),表示關(guān)鍵幀標(biāo)識有效;關(guān)鍵幀標(biāo)識為fal se時(shí),表示關(guān)鍵幀標(biāo)識無效,則可以通過判斷信令信息中的關(guān)鍵幀標(biāo)識是否為ture來確定關(guān)鍵幀標(biāo)識是否有效。
[0104]步驟207、根據(jù)信令信息中的關(guān)鍵幀標(biāo)號,獲取源服務(wù)器視頻流的第i關(guān)鍵幀,執(zhí)行步驟208。
[0105]示例的,可以在源服務(wù)器視頻流的內(nèi)容中,獲取與信令信息的第i個(gè)關(guān)鍵幀標(biāo)號所對應(yīng)的幀,作為源服務(wù)器視頻流的第i關(guān)鍵幀。例如,在源服務(wù)器視頻流的內(nèi)容中獲取與信令信息的第I個(gè)關(guān)鍵幀標(biāo)號所對應(yīng)的幀,作為源服務(wù)器視頻流的第I關(guān)鍵幀。具體的,假設(shè)信令信息中的關(guān)鍵幀標(biāo)號為120、271、362、583、1264、1755、2686,可以首先獲取信令信息中的第I個(gè)關(guān)鍵幀標(biāo)號120,然后在源服務(wù)器視頻流的內(nèi)容中獲取標(biāo)號為120的幀,該幀即為源服務(wù)器視頻流中第I關(guān)鍵幀。
[0106]步驟208、計(jì)算第i關(guān)鍵幀的內(nèi)容的MD5值,并將此MD5值作為第一MD5值,執(zhí)行步驟209。
[0107]示例的,可以根據(jù)MD5算法,計(jì)算第i關(guān)鍵幀的內(nèi)容的MD5值。
[0108]步驟209、判斷關(guān)鍵幀緩存視頻庫中是否存在索引與第一MD5值相同的視頻;當(dāng)存在所述視頻時(shí),執(zhí)行步驟210;當(dāng)不存在所述視頻時(shí),執(zhí)行步驟219。
[0109]步驟210、判斷所述視頻是否為多個(gè);當(dāng)所述視頻為多個(gè)時(shí),執(zhí)行步驟211;當(dāng)所述視頻為一個(gè)時(shí),執(zhí)行步驟212。
[0110]步驟211、將i+Ι的值賦予i,執(zhí)行步驟207。
[0111]通過將i+Ι的值賦予i的方式,獲取下一個(gè)關(guān)鍵幀。
[0112]示例的,若關(guān)鍵幀緩存視頻庫中存在多個(gè)索引與第I關(guān)鍵幀的第一MD5值相同的視頻,可以將所述多個(gè)視頻組成第一視頻組,然后獲取第2關(guān)鍵幀,并計(jì)算第2關(guān)鍵幀的第一MD5值,然后根據(jù)所述第2關(guān)鍵幀的第一 MD5值從第一視頻組中獲取與源服務(wù)器視頻流對應(yīng)的視頻。若第一視頻組中存在多個(gè)與第2關(guān)鍵幀的第一 MD5值相同的視頻,可以將所述多個(gè)視頻組成第二視頻組,并繼續(xù)獲取第3關(guān)鍵幀,計(jì)算第3關(guān)鍵幀的第一 MD5值,然后根據(jù)第3關(guān)鍵幀的第一 MD5值從第二視頻組中獲取與源服務(wù)器視頻流對應(yīng)的視頻。依次類推,可以唯一確定出與源服務(wù)器視頻流對應(yīng)的視頻。
[0113]步驟212、獲取與源服務(wù)器視頻流對應(yīng)的視頻,執(zhí)行步驟213。
[0114]步驟213、根據(jù)關(guān)鍵幀標(biāo)號,確定目的視頻的起始幀和終止幀,執(zhí)行步驟214。
[0115]示例的,可以根據(jù)信令信息的第一個(gè)關(guān)鍵幀標(biāo)號,確定目的視頻的起始幀;根據(jù)信令信息的最后一個(gè)關(guān)鍵幀標(biāo)號,確定目的視頻的終止幀。
[0116]步驟214、根據(jù)與源服務(wù)器視頻流對應(yīng)的視頻以及目的視頻的起始幀和終止幀,生成目的視頻,執(zhí)行步驟218。
[0117]步驟215、計(jì)算源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容的MD5值,并將此MD5值作為第二MD5值,執(zhí)行步驟216。
[0118]示例的,可以根據(jù)MD5算法,計(jì)算源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容的MD5值。
[0119]步驟216、判斷無關(guān)鍵幀緩存視頻庫中是否存在索引與第二MD5值相同的視頻;當(dāng)存在索引與第二MD5值相同的視頻時(shí),執(zhí)行步驟217;當(dāng)不存在索引與第二MD5值相同的視頻時(shí),執(zhí)行步驟219。
[0120]示例的,當(dāng)無關(guān)鍵幀緩存視頻庫中存在索引與第二MD5值相同的視頻時(shí),所述視頻只可能為一個(gè),因此,該視頻即為與源服務(wù)器視頻流對應(yīng)的視頻。
[0121]步驟217、將與源服務(wù)器視頻流對應(yīng)的視頻作為目的視頻,執(zhí)行步驟218。
[0122]示例的,當(dāng)源服務(wù)器視頻流不包括關(guān)鍵幀時(shí),目的視頻為完整視頻,因此,可以直接將與源服務(wù)器視頻流對應(yīng)的視頻作為目的視頻。
[0123]步驟218、將目的視頻發(fā)送給第一客戶端,本流程結(jié)束。
[0124]示例的,可以將目的視頻分成若干段較短的視頻流逐段發(fā)送給第一客戶端。
[0125]步驟219、將源服務(wù)器視頻流發(fā)送給第一客戶端,并存儲源服務(wù)器視頻流,本流程結(jié)束。
[0126]需要說明的是,本發(fā)明實(shí)施例提供的一種視頻文件發(fā)送方法步驟的先后順序可以進(jìn)行適當(dāng)調(diào)整,步驟也可以根據(jù)情況進(jìn)行相應(yīng)增減,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化的方法,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi),因此不再贅述。
[0127]本發(fā)明實(shí)施例提供了一種視頻文件發(fā)送方法,相較于現(xiàn)有技術(shù),所述方法通過提取源服務(wù)器視頻流的內(nèi)容作為視頻標(biāo)識,能夠更加精確地識別出與源服務(wù)器視頻流相對應(yīng)的緩存視頻庫中的視頻,從而緩解了源服務(wù)器的壓力,提高了在線視頻的流暢度;同時(shí),避免了僅根據(jù)存儲路徑區(qū)分視頻時(shí)出現(xiàn)的重復(fù)存儲視頻,節(jié)省了緩存服務(wù)器的空間。
[0128]實(shí)施例三
[0129]本發(fā)明實(shí)施例提供了一種視頻文件發(fā)送裝置30,如圖3所示,所述裝置30包括:
[0130]第一獲取單元301,用于獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;
[0131 ]第二獲取單元302,用于根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻;
[0132]第三獲取單元303,用于根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻;
[0133]發(fā)送單元304,用于將所述目的視頻發(fā)送給所述第一客戶端。
[0134]這樣一來,緩存服務(wù)器通過提取源服務(wù)器視頻流的內(nèi)容作為視頻標(biāo)識,能夠更加精確地識別出與源服務(wù)器視頻流相對應(yīng)的緩存視頻庫中的視頻,從而緩解了源服務(wù)器的壓力,提高了在線視頻的流暢度;同時(shí),避免了僅根據(jù)存儲路徑區(qū)分視頻時(shí)出現(xiàn)的重復(fù)存儲視頻,節(jié)省了緩存服務(wù)器的空間。
[0135]可選的,如圖4所示,所述裝置30還包括:第四獲取單元305,用于獲取第二源服務(wù)器發(fā)送給第二客戶端的視頻;第五獲取單元306,用于根據(jù)所述視頻的內(nèi)容,獲取所述視頻的至少一個(gè)索引;存儲單元307,用于按照所述至少一個(gè)索引存儲所述視頻。
[0136]可選的,所述源服務(wù)器視頻流包括N個(gè)關(guān)鍵幀,所述N為大于或等于I的整數(shù);第二獲取單元302,具體用于:根據(jù)所述源服務(wù)器視頻流第i關(guān)鍵幀的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的第一特征值;確定所述緩存視頻庫中是否存在索引與所述第一特征值相同的第一視頻組,所述第一視頻組中包括至少一個(gè)視頻;當(dāng)所述緩存視頻庫中存在索引與所述第一特征值相同的第一視頻組時(shí),在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0137]可選的,第二獲取單元302,具體用于:根據(jù)所述源服務(wù)器視頻流第i+Ι關(guān)鍵幀的內(nèi)容,獲取所述源服務(wù)器視頻流的第二特征值;確定所述第一視頻組包括的至少一個(gè)視頻中是否存在索引與所述第二特征值相同的第二視頻組,所述第二視頻組中包括至少一個(gè)視頻;當(dāng)所述緩存視頻庫中存在索引與所述第二特征值相同的第二視頻組時(shí),在所述第二視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0138]可選的,第二獲取單元302,具體用于:獲取所述源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容;根據(jù)所述預(yù)設(shè)范圍的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的特征值;確定所述緩存視頻庫中是否存在索引與所述特征值相同的視頻;當(dāng)所述緩存視頻庫中存在索引與所述特征值相同的視頻時(shí),將所述索引與所述特征值相同的視頻作為與所述源服務(wù)器視頻流對應(yīng)的視頻。
[0139]可選的,第三獲取單元303,具體用于:根據(jù)所述視頻和所述源服務(wù)器視頻流,確定所述目的視頻的起始幀和終止幀。
[0140]需要說明的是,第一,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
[0141]第二,在實(shí)際應(yīng)用中,所述第一獲取單元301、第二獲取單元302、第三獲取單元303、第四獲取單元305、第五獲取單元306、存儲單元307均可由位于裝置30中的中央處理器(Central Processing Unit,CPU)、微處理器(Micro Processor Unit,MPU)、數(shù)字信號處理器(Digital Signal Processor,DSP)、或現(xiàn)場可編程門陣列(Field Programmable GateArray,F(xiàn)PGA)等實(shí)現(xiàn)。發(fā)送單元304可由位于裝置30中的天線以及天線的驅(qū)動電路實(shí)現(xiàn)。
[0142]本發(fā)明實(shí)施例提供了一種視頻文件發(fā)送裝置,包括:第一獲取單元,用于獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;第二獲取單元,用于根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻;第三獲取單元,用于根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻;發(fā)送單元,用于將所述目的視頻發(fā)送給所述第一客戶端。相較于現(xiàn)有技術(shù),所示裝置通過提取源服務(wù)器視頻流的內(nèi)容作為視頻標(biāo)識,能夠更加精確地識別出與源服務(wù)器視頻流相對應(yīng)的緩存視頻庫中的視頻,從而緩解了源服務(wù)器的壓力,提高了在線視頻的流暢度;同時(shí),避免了僅根據(jù)存儲路徑區(qū)分視頻時(shí)出現(xiàn)的重復(fù)存儲視頻,節(jié)省了緩存服務(wù)器的空間。
[0143]本領(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ī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0144]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0145]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0146]這些計(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è)方框中指定的功能的步驟。
[0147]以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種視頻文件發(fā)送方法,其特征在于,所述方法包括: 獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流; 根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻; 根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻; 將所述目的視頻發(fā)送給所述第一客戶端。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流之前,所述方法還包括: 獲取第二源服務(wù)器發(fā)送給第二客戶端的視頻; 根據(jù)所述視頻的內(nèi)容,獲取所述視頻的至少一個(gè)索引; 按照所述至少一個(gè)索引存儲所述視頻。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述源服務(wù)器視頻流包括N個(gè)關(guān)鍵幀,所述N為大于或等于I的整數(shù); 所述根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻包括: 根據(jù)所述源服務(wù)器視頻流第i關(guān)鍵幀的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的第一特征值;確定所述緩存視頻庫中是否存在索引與所述第一特征值相同的第一視頻組,所述第一視頻組中包括至少一個(gè)視頻; 當(dāng)所述緩存視頻庫中存在索引與所述第一特征值相同的第一視頻組時(shí),在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻包括: 根據(jù)所述源服務(wù)器視頻流第i + Ι關(guān)鍵幀的內(nèi)容,獲取所述源服務(wù)器視頻流的第二特征值; 確定所述第一視頻組包括的至少一個(gè)視頻中是否存在索引與所述第二特征值相同的第二視頻組,所述第二視頻組中包括至少一個(gè)視頻; 當(dāng)所述緩存視頻庫中存在索引與所述第二特征值相同的第二視頻組時(shí),在所述第二視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻包括: 獲取所述源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容; 根據(jù)所述預(yù)設(shè)范圍的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的特征值; 確定所述緩存視頻庫中是否存在索引與所述特征值相同的視頻; 當(dāng)所述緩存視頻庫中存在索引與所述特征值相同的視頻時(shí),將所述索引與所述特征值相同的視頻作為與所述源服務(wù)器視頻流對應(yīng)的視頻。6.根據(jù)權(quán)利要求1-4任意一項(xiàng)權(quán)利要求所述的方法,其特征在于,所述根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻包括: 根據(jù)所述視頻和所述源服務(wù)器視頻流,確定所述目的視頻的起始幀和終止幀。7.一種視頻文件發(fā)送裝置,其特征在于,所述裝置包括: 第一獲取單元,用于獲取一段第一源服務(wù)器發(fā)送給第一客戶端的源服務(wù)器視頻流;第二獲取單元,用于根據(jù)所述源服務(wù)器視頻流的內(nèi)容,獲取緩存視頻庫中與所述源服務(wù)器視頻流對應(yīng)的視頻; 第三獲取單元,用于根據(jù)所述視頻,獲取發(fā)送給所述第一客戶端的目的視頻; 發(fā)送單元,用于將所述目的視頻發(fā)送給所述第一客戶端。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 第四獲取單元,用于獲取第二源服務(wù)器發(fā)送給第二客戶端的視頻; 第五獲取單元,用于根據(jù)所述視頻的內(nèi)容,獲取所述視頻的至少一個(gè)索引; 存儲單元,用于按照所述至少一個(gè)索引存儲所述視頻。9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述源服務(wù)器視頻流包括N個(gè)關(guān)鍵幀,所述N為大于或等于I的整數(shù); 第二獲取單元,具體用于: 根據(jù)所述源服務(wù)器視頻流第i關(guān)鍵幀的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的第一特征值;確定所述緩存視頻庫中是否存在索引與所述第一特征值相同的第一視頻組,所述第一視頻組中包括至少一個(gè)視頻; 當(dāng)所述緩存視頻庫中存在索引與所述第一特征值相同的第一視頻組時(shí),在所述第一視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,第二獲取單元,具體用于: 根據(jù)所述源服務(wù)器視頻流第i + 1關(guān)鍵幀的內(nèi)容,獲取所述源服務(wù)器視頻流的第二特征值; 確定所述第一視頻組包括的至少一個(gè)視頻中是否存在索引與所述第二特征值相同的第二視頻組,所述第二視頻組中包括至少一個(gè)視頻; 當(dāng)所述緩存視頻庫中存在索引與所述第二特征值相同的第二視頻組時(shí),在所述第二視頻組包括的至少一個(gè)視頻中獲取與所述源服務(wù)器視頻流對應(yīng)的視頻。11.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,第二獲取單元,具體用于: 獲取所述源服務(wù)器視頻流預(yù)設(shè)范圍的內(nèi)容; 根據(jù)所述預(yù)設(shè)范圍的內(nèi)容,計(jì)算所述源服務(wù)器視頻流的特征值; 確定所述緩存視頻庫中是否存在索引與所述特征值相同的視頻; 當(dāng)所述緩存視頻庫中存在索引與所述特征值相同的視頻時(shí),將所述索引與所述特征值相同的視頻作為與所述源服務(wù)器視頻流對應(yīng)的視頻。12.根據(jù)權(quán)利要求7-10任意一項(xiàng)權(quán)利要求所述的裝置,其特征在于,第三獲取單元,具體用于: 根據(jù)所述視頻和所述源服務(wù)器視頻流,確定所述目的視頻的起始幀和終止幀。
【文檔編號】H04N21/239GK105915930SQ201610237884
【公開日】2016年8月31日
【申請日】2016年4月15日
【發(fā)明人】蘇超
【申請人】北京網(wǎng)康科技有限公司