本發(fā)明涉及多媒體數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種分布式轉(zhuǎn)碼方法、裝置及系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)中,普通的視頻轉(zhuǎn)碼方式基于對(duì)視頻文件的分割,即對(duì)一個(gè)視頻文件進(jìn)行轉(zhuǎn)碼時(shí),首先需要將該視頻文件上傳到服務(wù)器,然后用特定的編輯軟件(例如adobepremiere)將視頻文件切割成一個(gè)個(gè)小片段,例如每個(gè)小片段都是一個(gè)i幀到下一個(gè)i幀之間的視頻片段。在切割完成后,再將切割成的一個(gè)個(gè)小片段存儲(chǔ)在編輯軟件中,并在編輯軟件中依次對(duì)各視頻片段進(jìn)行轉(zhuǎn)碼。轉(zhuǎn)碼完成后,再將轉(zhuǎn)碼后的各視頻片段進(jìn)行合成,以獲得客戶端能夠播放的視頻數(shù)據(jù)。此外,用戶還需將合成后的視頻數(shù)據(jù)下載至本地才能進(jìn)行播放。
由上述方法可知,普通的視頻轉(zhuǎn)碼方式至少需經(jīng)過(guò)上傳、切割、轉(zhuǎn)碼及合成多個(gè)步驟,在具體實(shí)施時(shí)非常繁瑣。并且,各個(gè)小片段的轉(zhuǎn)碼過(guò)程之間是相互依賴的,即,在一個(gè)片段轉(zhuǎn)碼完成之后,才能進(jìn)行下一個(gè)片段的轉(zhuǎn)碼,導(dǎo)致轉(zhuǎn)碼效率較低。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的分布式轉(zhuǎn)碼方法、裝置及系統(tǒng)。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種分布式轉(zhuǎn)碼方法,應(yīng)用于位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,所述方法包括:
接收由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述web集群,由所述web集群將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
可選地,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),包括:
根據(jù)所述文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
可選地,所述位置信息為時(shí)間點(diǎn)信息;從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),包括:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;
從所述視頻文件中獲取所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間之間的視頻數(shù)據(jù)。
可選地,所述位置信息為視頻幀信息;所述從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),包括:
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;
從所述視頻文件中獲取所述開(kāi)始視頻幀和所述結(jié)束視頻幀之間的視頻數(shù)據(jù)。
可選地,所述云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器;根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),包括:
將包含所述內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至所述云存儲(chǔ)器,由所述云存儲(chǔ)器根據(jù)預(yù)設(shè)的內(nèi)容標(biāo)識(shí)和cdn云存儲(chǔ)器之間的映射關(guān)系確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的cdn云存儲(chǔ)器,并從該cdn云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
接收所述云存儲(chǔ)器返回的待轉(zhuǎn)碼視頻數(shù)據(jù)。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種分布式轉(zhuǎn)碼方法,應(yīng)用于web集群,所述方法包括:
接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述轉(zhuǎn)碼服務(wù)器陣列中包括多個(gè)轉(zhuǎn)碼服務(wù)器;
將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器,由所述轉(zhuǎn)碼服務(wù)器根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),并對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,以獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
接收所述轉(zhuǎn)碼服務(wù)器返回的所述目標(biāo)視頻數(shù)據(jù),并將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
可選地,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;
所述文件標(biāo)識(shí)信息用于所述轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
所述位置信息用于所述轉(zhuǎn)碼服務(wù)器從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù)作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
可選地,從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,包括:
從所述轉(zhuǎn)碼服務(wù)器陣列中選擇滿足預(yù)設(shè)條件的至少一個(gè)轉(zhuǎn)碼服務(wù)器,作為用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述預(yù)設(shè)條件包括以下至少一項(xiàng):
所述轉(zhuǎn)碼服務(wù)器處于空閑狀態(tài);
所述轉(zhuǎn)碼服務(wù)器運(yùn)行正常;
所述轉(zhuǎn)碼服務(wù)器中當(dāng)前未處理的請(qǐng)求數(shù)目最少;
所述轉(zhuǎn)碼服務(wù)器處理當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間最少。
可選地,從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,包括:
當(dāng)接收來(lái)自客戶端的多個(gè)視頻轉(zhuǎn)碼請(qǐng)求時(shí),從所述轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)各視頻轉(zhuǎn)碼請(qǐng)求的多個(gè)轉(zhuǎn)碼服務(wù)器,其中,所述各視頻轉(zhuǎn)碼請(qǐng)求分別來(lái)自不同的客戶端。
可選地,將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器,包括:
根據(jù)所述各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定所述各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,并確定所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息;
根據(jù)各個(gè)待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小以及所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息,分別為所述各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器;
將所述各視頻轉(zhuǎn)碼請(qǐng)求分別分配至各自對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。
可選地,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息和/或視頻幀信息;根據(jù)所述各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定所述各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,包括:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;根據(jù)所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小;和/或,
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;根據(jù)所述開(kāi)始視頻幀和所述結(jié)束視頻幀確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種分布式轉(zhuǎn)碼裝置,設(shè)置于位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,所述裝置包括:
第一接收模塊,適于接收由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
獲取模塊,適于根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
轉(zhuǎn)碼模塊,適于對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
發(fā)送模塊,適于將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述web集群,由所述web集群將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
可選地,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;所述獲取模塊還適于:
根據(jù)所述文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
可選地,所述位置信息為時(shí)間點(diǎn)信息;所述獲取模塊還適于:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;
從所述視頻文件中獲取所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間之間的視頻數(shù)據(jù)。
可選地,所述位置信息為視頻幀信息;所述獲取模塊還適于:
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;
從所述視頻文件中獲取所述開(kāi)始視頻幀和所述結(jié)束視頻幀之間的視頻數(shù)據(jù)。
可選地,所述云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器;所述獲取模塊還適于:
將包含所述內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至所述云存儲(chǔ)器,由所述云存儲(chǔ)器根據(jù)預(yù)設(shè)的內(nèi)容標(biāo)識(shí)和cdn云存儲(chǔ)器之間的映射關(guān)系確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的cdn云存儲(chǔ)器,并從該cdn云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
接收所述云存儲(chǔ)器返回的待轉(zhuǎn)碼視頻數(shù)據(jù)。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種分布式轉(zhuǎn)碼裝置,設(shè)置于web集群,所述裝置包括:
第二接收模塊,適于接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
選擇模塊,適于從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述轉(zhuǎn)碼服務(wù)器陣列中包括多個(gè)轉(zhuǎn)碼服務(wù)器;
分配模塊,適于將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器,由所述轉(zhuǎn)碼服務(wù)器根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),并對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,以獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
第三接收模塊,適于接收所述轉(zhuǎn)碼服務(wù)器返回的所述目標(biāo)視頻數(shù)據(jù),并將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
可選地,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;
所述文件標(biāo)識(shí)信息用于所述轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
所述位置信息用于所述轉(zhuǎn)碼服務(wù)器從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù)作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
可選地,所述選擇模塊還適于:
從所述轉(zhuǎn)碼服務(wù)器陣列中選擇滿足預(yù)設(shè)條件的至少一個(gè)轉(zhuǎn)碼服務(wù)器,作為用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述預(yù)設(shè)條件包括以下至少一項(xiàng):
所述轉(zhuǎn)碼服務(wù)器處于空閑狀態(tài);
所述轉(zhuǎn)碼服務(wù)器運(yùn)行正常;
所述轉(zhuǎn)碼服務(wù)器中當(dāng)前未處理的請(qǐng)求數(shù)目最少;
所述轉(zhuǎn)碼服務(wù)器處理當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間最少。
可選地,所述選擇模塊還適于:
當(dāng)接收來(lái)自客戶端的多個(gè)視頻轉(zhuǎn)碼請(qǐng)求時(shí),從所述轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)各視頻轉(zhuǎn)碼請(qǐng)求的多個(gè)轉(zhuǎn)碼服務(wù)器,其中,所述各視頻轉(zhuǎn)碼請(qǐng)求分別來(lái)自不同的客戶端。
可選地,所述分配模塊還適于:
根據(jù)所述各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定所述各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,并確定所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息;
根據(jù)各個(gè)待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小以及所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息,分別為所述各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器;
將所述各視頻轉(zhuǎn)碼請(qǐng)求分別分配至各自對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。
可選地,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息和/或視頻幀信息;所述分配模塊還適于:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;根據(jù)所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大??;和/或,
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;根據(jù)所述開(kāi)始視頻幀和所述結(jié)束視頻幀確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小。
依據(jù)本發(fā)明的再一個(gè)方面,提供了一種分布式轉(zhuǎn)碼系統(tǒng),包括web集群、位于網(wǎng)絡(luò)側(cè)的包括多個(gè)轉(zhuǎn)碼服務(wù)器的轉(zhuǎn)碼服務(wù)器陣列以及云存儲(chǔ)器;其中:
所述web集群,適于接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);從所述轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器;將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器;
所述選擇的轉(zhuǎn)碼服務(wù)器,適于接收由所述web集群分發(fā)的視頻轉(zhuǎn)碼請(qǐng)求;將包含所述內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至所述云存儲(chǔ)器;
所述云存儲(chǔ)器,適于根據(jù)所述數(shù)據(jù)獲取請(qǐng)求查詢并獲取與所述內(nèi)容標(biāo)識(shí)對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù),并將所述待轉(zhuǎn)碼視頻數(shù)據(jù)返回至所述選擇的轉(zhuǎn)碼服務(wù)器;
所述選擇的轉(zhuǎn)碼服務(wù)器,還適于接收所述云存儲(chǔ)器返回的所述待轉(zhuǎn)碼視頻數(shù)據(jù);對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述web集群;
所述web集群,還適于將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
可選地,所述轉(zhuǎn)碼服務(wù)器陣列中的多個(gè)轉(zhuǎn)碼服務(wù)器采用對(duì)稱分布方式。
可選地,所述云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器。
采用本發(fā)明實(shí)施例提供的技術(shù)方案,web集群接收到來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求時(shí),能夠從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,并將視頻轉(zhuǎn)碼請(qǐng)求轉(zhuǎn)發(fā)至該轉(zhuǎn)碼服務(wù)器,并且,轉(zhuǎn)碼服務(wù)器接收到視頻轉(zhuǎn)碼請(qǐng)求后,能夠根據(jù)該請(qǐng)求中待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù),進(jìn)而對(duì)獲取到的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,并將轉(zhuǎn)碼后得到的目標(biāo)視頻數(shù)據(jù)發(fā)送至web集群,再由web集群將目標(biāo)視頻數(shù)據(jù)返回至客戶端。因此,該技術(shù)方案在處理客戶端發(fā)出的視頻轉(zhuǎn)碼請(qǐng)求時(shí),無(wú)需將視頻文件下載到本地再將視頻文件切割成一個(gè)個(gè)小片段,進(jìn)而依次對(duì)各個(gè)小片段進(jìn)行轉(zhuǎn)碼及合成過(guò)程,而只需利用網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中獲取正確的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼即可,相較于現(xiàn)有技術(shù)而言,至少節(jié)省了對(duì)視頻文件的下載、切割及合成過(guò)程,因此不僅省去了用戶的手動(dòng)操作過(guò)程(如下載視頻文件至本地),且提高了對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
進(jìn)一步地,由于視頻轉(zhuǎn)碼請(qǐng)求中的待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的位置信息,使得轉(zhuǎn)碼服務(wù)器能夠利用其中的文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件,并從該視頻文件中獲取位置信息對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù),因此轉(zhuǎn)碼服務(wù)器無(wú)需從云服務(wù)器中獲取完整的視頻文件,而只需獲取當(dāng)前需要轉(zhuǎn)碼的一小段視頻數(shù)據(jù)即可,不僅能減輕轉(zhuǎn)碼服務(wù)器的工作負(fù)擔(dān),還能提高對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
根據(jù)下文結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼方法的示意性流程圖;
圖2是根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼方法的示意性流程圖;
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼裝置的示意性框圖;
圖4是根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼裝置的示意性框圖;
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼系統(tǒng)的示意性框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
本發(fā)明實(shí)施例提供的分布式轉(zhuǎn)碼方法至少涉及兩個(gè)執(zhí)行主體,包括位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器以及web集群。其中,轉(zhuǎn)碼服務(wù)器主要用于接收web集群轉(zhuǎn)發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,并根據(jù)視頻轉(zhuǎn)碼請(qǐng)求從云存儲(chǔ)器中獲取相應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù),進(jìn)而對(duì)待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼;web集群則主要用于接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,并將視頻轉(zhuǎn)碼請(qǐng)求轉(zhuǎn)發(fā)至轉(zhuǎn)碼服務(wù)器,最后再將轉(zhuǎn)發(fā)服務(wù)器轉(zhuǎn)碼后得到的目標(biāo)視頻數(shù)據(jù)返回至客戶端。通過(guò)轉(zhuǎn)發(fā)服務(wù)器和web集群以及客戶端的交互作用,實(shí)現(xiàn)了在網(wǎng)絡(luò)側(cè)對(duì)視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼的目的。以下分別從轉(zhuǎn)碼服務(wù)器以及web集群這兩個(gè)方面說(shuō)明本發(fā)明實(shí)施例提供的分布式轉(zhuǎn)碼方法。
轉(zhuǎn)碼服務(wù)器端
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼方法的示意性流程圖。如圖1所示,該方法應(yīng)用于位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,且一般性地可包括以下步驟s101-s104:
步驟s101,接收由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)。
步驟s102,根據(jù)內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù)。
步驟s103,對(duì)待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù)。
步驟s104,將目標(biāo)視頻數(shù)據(jù)發(fā)送至web集群,由web集群將目標(biāo)視頻數(shù)據(jù)發(fā)送至客戶端。
采用本發(fā)明實(shí)施例提供的技術(shù)方案,位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器接收到由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求時(shí),能夠根據(jù)視頻轉(zhuǎn)碼請(qǐng)求中待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù),進(jìn)而對(duì)獲取到的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,并將轉(zhuǎn)碼后得到的目標(biāo)視頻數(shù)據(jù)發(fā)送至web集群,再由web集群將目標(biāo)視頻數(shù)據(jù)返回至客戶端。因此,該技術(shù)方案在處理客戶端發(fā)出的視頻轉(zhuǎn)碼請(qǐng)求時(shí),無(wú)需將視頻文件下載到本地再將視頻文件切割成一個(gè)個(gè)小片段,進(jìn)而依次對(duì)各個(gè)小片段進(jìn)行轉(zhuǎn)碼及合成過(guò)程,而只需從云存儲(chǔ)器中獲取正確的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼即可,相較于現(xiàn)有技術(shù)而言,至少節(jié)省了對(duì)視頻文件的下載、切割及合成過(guò)程,因此不僅省去了用戶的手動(dòng)操作過(guò)程(如下載視頻文件至本地),且提高了對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
在一個(gè)實(shí)施例中,內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的位置信息。因此,上述步驟s102可執(zhí)行為以下步驟:首先,根據(jù)文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;其次,從該視頻文件中獲取位置信息對(duì)應(yīng)的視頻數(shù)據(jù),作為待轉(zhuǎn)碼視頻數(shù)據(jù)。
具體地,文件標(biāo)識(shí)信息可以是視頻文件本身包含的一些信息,如視頻文件的標(biāo)題、網(wǎng)址等信息,根據(jù)這些信息從云存儲(chǔ)器中查找視頻文件時(shí)非常簡(jiǎn)便快捷;還可以是預(yù)先為視頻文件生成的唯一標(biāo)識(shí)信息,例如將視頻文件的標(biāo)題、內(nèi)容關(guān)鍵詞、網(wǎng)址等信息中的至少兩種信息按照預(yù)定規(guī)則進(jìn)行排序、組合,從而生成一個(gè)較為復(fù)雜的唯一標(biāo)識(shí)信息,所生成的唯一標(biāo)識(shí)信息需和視頻文件對(duì)應(yīng)存儲(chǔ)在云存儲(chǔ)器中,以便轉(zhuǎn)碼服務(wù)器能夠根據(jù)該唯一標(biāo)識(shí)信息準(zhǔn)確無(wú)誤地查詢到對(duì)應(yīng)的視頻文件,這種方式能夠提高轉(zhuǎn)碼服務(wù)器查找視頻文件的準(zhǔn)確性。例如,多個(gè)視頻文件可能存在標(biāo)題相同而內(nèi)容不同的情況,此時(shí)若僅使用標(biāo)題信息查找視頻文件,則有可能導(dǎo)致查詢到錯(cuò)誤的視頻文件,影響后續(xù)的轉(zhuǎn)碼工作;但若采用唯一標(biāo)識(shí)信息與視頻文件的對(duì)應(yīng)關(guān)系進(jìn)行查找,即可確保轉(zhuǎn)碼服務(wù)器查找到準(zhǔn)確的視頻文件。
位置信息可以是時(shí)間點(diǎn)信息和/或視頻幀信息。以下分別說(shuō)明當(dāng)位置信息為時(shí)間點(diǎn)信息或者為視頻幀信息時(shí)如何從視頻文件中獲取位置信息對(duì)應(yīng)的視頻數(shù)據(jù)。
當(dāng)位置信息為時(shí)間點(diǎn)信息時(shí),轉(zhuǎn)碼服務(wù)器根據(jù)該時(shí)間點(diǎn)信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間,進(jìn)而從該視頻文件中獲取開(kāi)始時(shí)間和結(jié)束時(shí)間之間的視頻數(shù)據(jù)。本發(fā)明實(shí)施例對(duì)時(shí)間點(diǎn)信息的形式不做限定,時(shí)間點(diǎn)信息可以是數(shù)字、文字、字符、圖畫等任意形式。例如,待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息為“1:30~2:00”,該時(shí)間點(diǎn)信息為數(shù)字形式,且根據(jù)該時(shí)間點(diǎn)信息可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的開(kāi)始時(shí)間為1:30,結(jié)束時(shí)間為2:00;再例如,待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息為“1分30秒至2分”,該時(shí)間點(diǎn)信息為文字結(jié)合數(shù)字的形式,且根據(jù)該時(shí)間點(diǎn)信息也可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的開(kāi)始時(shí)間為1:30,結(jié)束時(shí)間為2:00,等等。然后,轉(zhuǎn)碼服務(wù)器根據(jù)確定出的開(kāi)始時(shí)間“1:30”和結(jié)束時(shí)間“2:00”,從視頻文件中獲取1:30到2:00之間的視頻數(shù)據(jù),即為待轉(zhuǎn)碼視頻數(shù)據(jù)。
當(dāng)位置信息為視頻幀信息時(shí),轉(zhuǎn)碼服務(wù)器根據(jù)該視頻幀信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀,進(jìn)而從視頻文件中獲取開(kāi)始視頻幀和結(jié)束視頻幀之間的視頻數(shù)據(jù)。本發(fā)明實(shí)施例對(duì)視頻幀信息的形式不做限定,視頻幀信息可以是數(shù)字、文字、字符、圖畫等任意形式。例如,待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的視頻幀信息為“50~100”,該視頻幀信息為數(shù)字形式,且根據(jù)該視頻幀信息可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的開(kāi)始視頻幀為第50幀,結(jié)束視頻幀為第100幀;再例如,待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的視頻幀信息為“第50幀至第100幀”,該視頻幀信息為文字結(jié)合數(shù)字的形式,且根據(jù)該視頻幀信息也可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的開(kāi)始視頻幀為第50幀,結(jié)束視頻幀為第100幀,等等。然后,轉(zhuǎn)碼服務(wù)器根據(jù)確定出的開(kāi)始視頻幀(即第50幀)和結(jié)束視頻幀(即第100幀),從視頻文件中獲取第50幀到第100幀之間的視頻數(shù)據(jù),即為待轉(zhuǎn)碼視頻數(shù)據(jù)。
上述實(shí)施例中,由于視頻轉(zhuǎn)碼請(qǐng)求中的待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的位置信息,使得轉(zhuǎn)碼服務(wù)器能夠利用其中的文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件,并從該視頻文件中獲取位置信息對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù),因此轉(zhuǎn)碼服務(wù)器無(wú)需從云服務(wù)器中獲取完整的視頻文件,而只需獲取當(dāng)前需要轉(zhuǎn)碼的一小段視頻數(shù)據(jù)即可,不僅能減輕轉(zhuǎn)碼服務(wù)器的工作負(fù)擔(dān),還能提高對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
在一個(gè)實(shí)施例中,云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器。步驟s102還可執(zhí)行為以下步驟:首先,將包含內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至云存儲(chǔ)器,由云存儲(chǔ)器根據(jù)預(yù)設(shè)的內(nèi)容標(biāo)識(shí)和cdn云存儲(chǔ)器之間的映射關(guān)系確定待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的cdn云存儲(chǔ)器,并從該cdn云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù);其次,接收云存儲(chǔ)器返回的待轉(zhuǎn)碼視頻數(shù)據(jù)。
web集群端
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼方法的示意性流程圖。如圖2所示,該方法應(yīng)用于web集群,且一般性地可包括以下步驟s201-s204:
步驟s201,接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)。
步驟s202,從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,轉(zhuǎn)碼服務(wù)器陣列中包括多個(gè)轉(zhuǎn)碼服務(wù)器。
步驟s203,將視頻轉(zhuǎn)碼請(qǐng)求分配至選擇的轉(zhuǎn)碼服務(wù)器,由轉(zhuǎn)碼服務(wù)器根據(jù)內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù),并對(duì)待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,以獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù)。
步驟s204,接收轉(zhuǎn)碼服務(wù)器返回的目標(biāo)視頻數(shù)據(jù),并將目標(biāo)視頻數(shù)據(jù)發(fā)送至客戶端。
本實(shí)施例中,轉(zhuǎn)碼服務(wù)器陣列中的多個(gè)轉(zhuǎn)碼服務(wù)器可以是對(duì)稱分布方式,即,每個(gè)轉(zhuǎn)碼服務(wù)器都具有等價(jià)的地位,都能夠單獨(dú)處理各自接收到的視頻轉(zhuǎn)碼請(qǐng)求。
采用本發(fā)明實(shí)施例提供的技術(shù)方案,web集群接收到來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求時(shí),能夠從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,并將視頻轉(zhuǎn)碼請(qǐng)求轉(zhuǎn)發(fā)至該轉(zhuǎn)碼服務(wù)器,以使轉(zhuǎn)碼服務(wù)器能夠根據(jù)該請(qǐng)求中的待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,然后接收轉(zhuǎn)碼服務(wù)器返回的目標(biāo)視頻數(shù)據(jù),并將目標(biāo)視頻數(shù)據(jù)返回至客戶端。因此,該技術(shù)方案在處理客戶端發(fā)出的視頻轉(zhuǎn)碼請(qǐng)求時(shí),無(wú)需將視頻文件下載到本地再將視頻文件切割成一個(gè)個(gè)小片段,進(jìn)而依次對(duì)各個(gè)小片段進(jìn)行轉(zhuǎn)碼及合成過(guò)程,而只需將視頻轉(zhuǎn)碼請(qǐng)求轉(zhuǎn)發(fā)至位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,并利用轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中獲取正確的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼即可,相較于現(xiàn)有技術(shù)而言,至少節(jié)省了對(duì)視頻文件的下載、切割及合成過(guò)程,因此不僅省去了用戶的手動(dòng)操作過(guò)程(如下載視頻文件至本地),且提高了對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
在一個(gè)實(shí)施例中,內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的位置信息。其中,文件標(biāo)識(shí)信息用于轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中查找待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件,位置信息用于轉(zhuǎn)碼服務(wù)器從視頻文件中獲取位置信息對(duì)應(yīng)的視頻數(shù)據(jù)作為待轉(zhuǎn)碼視頻數(shù)據(jù)。
具體地,文件標(biāo)識(shí)信息可以是視頻文件本身包含的一些信息,如視頻文件的標(biāo)題、網(wǎng)址等信息;還可以是預(yù)先為視頻文件生成的唯一標(biāo)識(shí)信息,例如將視頻文件的標(biāo)題、內(nèi)容關(guān)鍵詞、網(wǎng)址等信息中的至少兩種信息按照預(yù)定規(guī)則進(jìn)行排序、組合,從而生成一個(gè)較為復(fù)雜的唯一標(biāo)識(shí)信息,所生成的唯一標(biāo)識(shí)信息需和視頻文件對(duì)應(yīng)存儲(chǔ)在云存儲(chǔ)器中,以便轉(zhuǎn)碼服務(wù)器能夠根據(jù)該唯一標(biāo)識(shí)信息準(zhǔn)確無(wú)誤地查詢到對(duì)應(yīng)的視頻文件。位置信息可以是時(shí)間點(diǎn)信息和/或視頻幀信息。
在一個(gè)實(shí)施例中,步驟s202可執(zhí)行為以下步驟:從轉(zhuǎn)碼服務(wù)器陣列中選擇滿足預(yù)設(shè)條件的至少一個(gè)轉(zhuǎn)碼服務(wù)器,作為用于響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器。其中,預(yù)設(shè)條件包括以下至少一項(xiàng):轉(zhuǎn)碼服務(wù)器處于空閑狀態(tài)、轉(zhuǎn)碼服務(wù)器運(yùn)行正常、轉(zhuǎn)碼服務(wù)器中當(dāng)前未處理的請(qǐng)求數(shù)目最少、轉(zhuǎn)碼服務(wù)器處理當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間最少。本實(shí)施例中,選擇滿足預(yù)設(shè)條件的轉(zhuǎn)碼服務(wù)器來(lái)響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求能夠使視頻轉(zhuǎn)碼請(qǐng)求在最短的時(shí)間內(nèi)被處理,從而提高視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
例如,當(dāng)轉(zhuǎn)碼服務(wù)器陣列中存在運(yùn)行正常、且空閑狀態(tài)的轉(zhuǎn)碼服務(wù)器時(shí),可直接選擇空閑狀態(tài)的轉(zhuǎn)碼服務(wù)器來(lái)響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求。如果存在多臺(tái)轉(zhuǎn)碼服務(wù)器均運(yùn)行正常、且均處于空閑狀態(tài),則可選擇其中任一臺(tái)轉(zhuǎn)碼服務(wù)器來(lái)響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求。
再例如,假設(shè)轉(zhuǎn)碼服務(wù)器陣列中共包括5個(gè)轉(zhuǎn)碼服務(wù)器,這5個(gè)轉(zhuǎn)碼服務(wù)器均運(yùn)行正常,且不存在處于空閑狀態(tài)的轉(zhuǎn)碼服務(wù)器。具體的,假設(shè)這5個(gè)轉(zhuǎn)碼服務(wù)器中當(dāng)前未處理的請(qǐng)求數(shù)目分別為1、2、3、4、5,則可選擇第1個(gè)轉(zhuǎn)碼服務(wù)器(即當(dāng)前未處理的請(qǐng)求數(shù)目為1的轉(zhuǎn)碼服務(wù)器)來(lái)響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求。或者,假設(shè)這5個(gè)轉(zhuǎn)碼服務(wù)器處理完當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間分別為30秒、20秒、1分鐘、3分鐘、5分鐘,則可選擇第2個(gè)轉(zhuǎn)碼服務(wù)器(即剩余時(shí)間為20秒的轉(zhuǎn)碼服務(wù)器)來(lái)響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求。
在一個(gè)實(shí)施例中,當(dāng)接收到來(lái)自客戶端的多個(gè)視頻轉(zhuǎn)碼請(qǐng)求時(shí),web集群從轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)各視頻轉(zhuǎn)碼請(qǐng)求的多個(gè)轉(zhuǎn)碼服務(wù)器。其中,各視頻轉(zhuǎn)碼請(qǐng)求分別來(lái)自不同的客戶端。選擇的多個(gè)轉(zhuǎn)碼服務(wù)器的數(shù)目可以與視頻轉(zhuǎn)碼請(qǐng)求的數(shù)目相等,即每個(gè)轉(zhuǎn)碼服務(wù)器各處理1個(gè)視頻轉(zhuǎn)碼請(qǐng)求;也可以小于視頻轉(zhuǎn)碼請(qǐng)求的數(shù)目,即存在同一個(gè)轉(zhuǎn)碼服務(wù)器處理多個(gè)視頻轉(zhuǎn)碼請(qǐng)求的情況。
從轉(zhuǎn)碼服務(wù)器陣列中選擇出針對(duì)多個(gè)視頻轉(zhuǎn)碼請(qǐng)求的多個(gè)轉(zhuǎn)碼服務(wù)器之后,如何為各個(gè)視頻轉(zhuǎn)碼請(qǐng)求分配各自對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器也有多種方式,分配參考因素如各轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)、各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待處理視頻數(shù)據(jù)的數(shù)據(jù)大小等。因此,可按照如下步驟將各視頻轉(zhuǎn)碼請(qǐng)求分配至所選擇的多個(gè)轉(zhuǎn)碼服務(wù)器:
步驟一、根據(jù)各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,并確定多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息。
其中,轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息包括是否處于空閑狀態(tài)、是否運(yùn)行正常、當(dāng)前未處理的請(qǐng)求數(shù)目、處理當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間等信息。內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息和/或視頻幀信息,可按照以下兩種方式中的至少一種方式來(lái)確定各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大?。?/p>
(1)根據(jù)時(shí)間點(diǎn)信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間,然后根據(jù)開(kāi)始時(shí)間和結(jié)束時(shí)間確定待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小。本發(fā)明實(shí)施例對(duì)時(shí)間點(diǎn)信息的形式不做限定,時(shí)間點(diǎn)信息可以是數(shù)字、文字、字符、圖畫等任意形式。例如,時(shí)間點(diǎn)信息為“1:30~2:00”,該時(shí)間點(diǎn)信息為數(shù)字形式,且根據(jù)該時(shí)間點(diǎn)信息可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在與視頻文件中的開(kāi)始時(shí)間為1:30,結(jié)束時(shí)間為2:00;再例如,時(shí)間點(diǎn)信息為“1分30秒至2分”,該時(shí)間點(diǎn)信息為文字結(jié)合數(shù)字的形式,且根據(jù)該時(shí)間點(diǎn)信息也可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始時(shí)間為1:30,結(jié)束時(shí)間為2:00,等等。根據(jù)確定出的開(kāi)始時(shí)間和結(jié)束時(shí)間即可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小為時(shí)長(zhǎng)30秒的視頻數(shù)據(jù),此外,還可結(jié)合視頻文件中每秒內(nèi)視頻數(shù)據(jù)的單位大小計(jì)算出時(shí)長(zhǎng)30秒的視頻數(shù)據(jù)的容量大小,如100kb。
(2)根據(jù)視頻幀信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀,然后根據(jù)開(kāi)始視頻幀和結(jié)束視頻幀確定待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小。本發(fā)明實(shí)施例對(duì)視頻幀信息的形式不做限定,視頻幀信息可以是數(shù)字、文字、字符、圖畫等任意形式。例如,視頻幀信息為“50~100”,該視頻幀信息為數(shù)字形式,且根據(jù)該視頻幀信息可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始視頻幀為第50幀,結(jié)束視頻幀為第100幀;再例如,視頻幀信息為“第50幀至第100幀”,該視頻幀信息為文字結(jié)合數(shù)字的形式,且根據(jù)該視頻幀信息也可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始視頻幀為第50幀,結(jié)束視頻幀為第100幀,等等。根據(jù)確定出的開(kāi)始視頻幀和結(jié)束視頻幀即可確定出待轉(zhuǎn)碼視頻數(shù)據(jù)為具有50幀的視頻數(shù)據(jù),此外,還可結(jié)合視頻文件中每幀視頻數(shù)據(jù)的單位大小計(jì)算出50幀的視頻數(shù)據(jù)的容量大小,如100kb。
步驟二、根據(jù)各個(gè)待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小以及多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息,分別為各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。
具體地,當(dāng)多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息均相同(例如均處于空閑狀態(tài)、當(dāng)前未處理的視頻轉(zhuǎn)碼請(qǐng)求數(shù)目相同等)時(shí),可隨機(jī)為各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器;當(dāng)多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息不同時(shí),可按照負(fù)載均衡策略為各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。例如,假設(shè)為5個(gè)視頻轉(zhuǎn)碼請(qǐng)求選擇了5個(gè)不同的轉(zhuǎn)碼服務(wù)器,且選擇的5個(gè)轉(zhuǎn)碼服務(wù)器均運(yùn)行正常。當(dāng)這5個(gè)轉(zhuǎn)碼服務(wù)器均處于空閑狀態(tài)時(shí),可隨機(jī)為5個(gè)視頻轉(zhuǎn)碼請(qǐng)求分配其中任一個(gè)轉(zhuǎn)碼服務(wù)器。當(dāng)這5個(gè)轉(zhuǎn)碼服務(wù)器均正在處理其他視頻轉(zhuǎn)碼請(qǐng)求、且各轉(zhuǎn)碼服務(wù)器處理未完成的其他視頻轉(zhuǎn)碼請(qǐng)求的剩余時(shí)間分別為30秒、20秒、1分鐘、3分鐘、5分鐘時(shí),為使接收到的5個(gè)視頻轉(zhuǎn)碼請(qǐng)求能夠被盡快處理完成,可將數(shù)據(jù)越大的待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻轉(zhuǎn)碼請(qǐng)求分配至剩余時(shí)間越短的轉(zhuǎn)碼服務(wù)器,將數(shù)據(jù)越小的待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻轉(zhuǎn)碼請(qǐng)求分配至剩余時(shí)間越長(zhǎng)的轉(zhuǎn)碼服務(wù)器。
步驟三、將各視頻轉(zhuǎn)碼請(qǐng)求分別分配至各自對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼裝置的示意性框圖。如圖3所示,該裝置設(shè)置于位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,包括:
第一接收模塊310,適于接收由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
獲取模塊320,與第一接收模塊310相耦合,適于根據(jù)內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù);
轉(zhuǎn)碼模塊330,與獲取模塊320相耦合,適于對(duì)待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
發(fā)送模塊340,與轉(zhuǎn)碼模塊330相耦合,適于將目標(biāo)視頻數(shù)據(jù)發(fā)送至web集群,由web集群將目標(biāo)視頻數(shù)據(jù)發(fā)送至客戶端。
可選地,內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的位置信息;獲取模塊320還適于:
根據(jù)文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
從視頻文件中獲取位置信息對(duì)應(yīng)的視頻數(shù)據(jù),作為待轉(zhuǎn)碼視頻數(shù)據(jù)。
可選地,位置信息為時(shí)間點(diǎn)信息;獲取模塊320還適于:
根據(jù)時(shí)間點(diǎn)信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;
從視頻文件中獲取開(kāi)始時(shí)間和結(jié)束時(shí)間之間的視頻數(shù)據(jù)。
可選地,位置信息為視頻幀信息;獲取模塊320還適于:
根據(jù)視頻幀信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;
從視頻文件中獲取開(kāi)始視頻幀和結(jié)束視頻幀之間的視頻數(shù)據(jù)。
可選地,云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器;獲取模塊320還適于:
將包含內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至云存儲(chǔ)器,由云存儲(chǔ)器根據(jù)預(yù)設(shè)的內(nèi)容標(biāo)識(shí)和cdn云存儲(chǔ)器之間的映射關(guān)系確定待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的cdn云存儲(chǔ)器,并從該cdn云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù);
接收云存儲(chǔ)器返回的待轉(zhuǎn)碼視頻數(shù)據(jù)。
采用本發(fā)明實(shí)施例提供的裝置,位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器接收到由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求時(shí),能夠根據(jù)視頻轉(zhuǎn)碼請(qǐng)求中待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù),進(jìn)而對(duì)獲取到的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,并將轉(zhuǎn)碼后得到的目標(biāo)視頻數(shù)據(jù)發(fā)送至web集群,再由web集群將目標(biāo)視頻數(shù)據(jù)返回至客戶端。因此,該技術(shù)方案在處理客戶端發(fā)出的視頻轉(zhuǎn)碼請(qǐng)求時(shí),無(wú)需將視頻文件下載到本地再將視頻文件切割成一個(gè)個(gè)小片段,進(jìn)而依次對(duì)各個(gè)小片段進(jìn)行轉(zhuǎn)碼及合成過(guò)程,而只需從云存儲(chǔ)器中獲取正確的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼即可,相較于現(xiàn)有技術(shù)而言,至少節(jié)省了對(duì)視頻文件的下載、切割及合成過(guò)程,因此不僅省去了用戶的手動(dòng)操作過(guò)程(如下載視頻文件至本地),且提高了對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
圖4是根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼裝置的示意性框圖。如圖4所示,該裝置設(shè)置于web集群,包括:
第二接收模塊410,適于接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
選擇模塊420,與第二接收模塊410相耦合,適于從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,轉(zhuǎn)碼服務(wù)器陣列中包括多個(gè)轉(zhuǎn)碼服務(wù)器;
分配模塊430,與選擇模塊420相耦合,適于將視頻轉(zhuǎn)碼請(qǐng)求分配至選擇的轉(zhuǎn)碼服務(wù)器,由轉(zhuǎn)碼服務(wù)器根據(jù)內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù),并對(duì)待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,以獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
第三接收模塊440,與分配模塊430相耦合,適于接收轉(zhuǎn)碼服務(wù)器返回的目標(biāo)視頻數(shù)據(jù),并將目標(biāo)視頻數(shù)據(jù)發(fā)送至客戶端。
可選地,內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的位置信息;
文件標(biāo)識(shí)信息用于轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中查找待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
位置信息用于轉(zhuǎn)碼服務(wù)器從視頻文件中獲取位置信息對(duì)應(yīng)的視頻數(shù)據(jù)作為待轉(zhuǎn)碼視頻數(shù)據(jù)。
可選地,選擇模塊420還適于:
從轉(zhuǎn)碼服務(wù)器陣列中選擇滿足預(yù)設(shè)條件的至少一個(gè)轉(zhuǎn)碼服務(wù)器,作為用于響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,預(yù)設(shè)條件包括以下至少一項(xiàng):
轉(zhuǎn)碼服務(wù)器處于空閑狀態(tài);
轉(zhuǎn)碼服務(wù)器運(yùn)行正常;
轉(zhuǎn)碼服務(wù)器中當(dāng)前未處理的請(qǐng)求數(shù)目最少;
轉(zhuǎn)碼服務(wù)器處理當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間最少。
可選地,選擇模塊420還適于:
當(dāng)接收來(lái)自客戶端的多個(gè)視頻轉(zhuǎn)碼請(qǐng)求時(shí),從轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)各視頻轉(zhuǎn)碼請(qǐng)求的多個(gè)轉(zhuǎn)碼服務(wù)器,其中,各視頻轉(zhuǎn)碼請(qǐng)求分別來(lái)自不同的客戶端。
可選地,分配模塊430還適于:
根據(jù)各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,并確定多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息;
根據(jù)各個(gè)待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小以及多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息,分別為各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器;
將各視頻轉(zhuǎn)碼請(qǐng)求分別分配至各自對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。
可選地,內(nèi)容標(biāo)識(shí)包括待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息和/或視頻幀信息;分配模塊430還適于:
根據(jù)時(shí)間點(diǎn)信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;根據(jù)開(kāi)始時(shí)間和結(jié)束時(shí)間確定待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大?。缓?或,
根據(jù)視頻幀信息確定待轉(zhuǎn)碼視頻數(shù)據(jù)在視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;根據(jù)開(kāi)始視頻幀和結(jié)束視頻幀確定待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小。
采用本發(fā)明實(shí)施例提供的裝置,web集群接收到來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求時(shí),能夠從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,并將視頻轉(zhuǎn)碼請(qǐng)求轉(zhuǎn)發(fā)至該轉(zhuǎn)碼服務(wù)器,以使轉(zhuǎn)碼服務(wù)器能夠根據(jù)該請(qǐng)求中的待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,然后接收轉(zhuǎn)碼服務(wù)器返回的目標(biāo)視頻數(shù)據(jù),并將目標(biāo)視頻數(shù)據(jù)返回至客戶端。因此,該技術(shù)方案在處理客戶端發(fā)出的視頻轉(zhuǎn)碼請(qǐng)求時(shí),無(wú)需將視頻文件下載到本地再將視頻文件切割成一個(gè)個(gè)小片段,進(jìn)而依次對(duì)各個(gè)小片段進(jìn)行轉(zhuǎn)碼及合成過(guò)程,而只需將視頻轉(zhuǎn)碼請(qǐng)求轉(zhuǎn)發(fā)至位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,并利用轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中獲取正確的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼即可,相較于現(xiàn)有技術(shù)而言,至少節(jié)省了對(duì)視頻文件的下載、切割及合成過(guò)程,因此不僅省去了用戶的手動(dòng)操作過(guò)程(如下載視頻文件至本地),且提高了對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的一種分布式轉(zhuǎn)碼系統(tǒng)的示意性框圖。如圖5所示,該系統(tǒng)包括web集群510、位于網(wǎng)絡(luò)側(cè)的包括多個(gè)轉(zhuǎn)碼服務(wù)器的轉(zhuǎn)碼服務(wù)器陣列520以及云存儲(chǔ)器530;其中,web集群510與轉(zhuǎn)碼服務(wù)器陣列520相耦合,轉(zhuǎn)碼服務(wù)器陣列520與云存儲(chǔ)器530相耦合,并且:
web集群510,適于接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);從轉(zhuǎn)碼服務(wù)器陣列520中選擇用于響應(yīng)視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器;將視頻轉(zhuǎn)碼請(qǐng)求分配至選擇的轉(zhuǎn)碼服務(wù)器;
該選擇的轉(zhuǎn)碼服務(wù)器,適于接收由web集群510分發(fā)的視頻轉(zhuǎn)碼請(qǐng)求;將包含內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至云存儲(chǔ)器530;
云存儲(chǔ)器530,適于根據(jù)數(shù)據(jù)獲取請(qǐng)求查詢并獲取與內(nèi)容標(biāo)識(shí)對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù),并將待轉(zhuǎn)碼視頻數(shù)據(jù)返回至選擇的轉(zhuǎn)碼服務(wù)器;
該選擇的轉(zhuǎn)碼服務(wù)器,還適于接收云存儲(chǔ)器530返回的待轉(zhuǎn)碼視頻數(shù)據(jù);對(duì)待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);將目標(biāo)視頻數(shù)據(jù)發(fā)送至web集群510;
web集群510,還適于將目標(biāo)視頻數(shù)據(jù)發(fā)送至客戶端。
可選地,轉(zhuǎn)碼服務(wù)器陣列520中的多個(gè)轉(zhuǎn)碼服務(wù)器采用對(duì)稱分布方式,即,每個(gè)轉(zhuǎn)碼服務(wù)器都具有等價(jià)的地位,都能夠單獨(dú)處理各自接收到的視頻轉(zhuǎn)碼請(qǐng)求。
可選地,云存儲(chǔ)器530包括多個(gè)cdn云存儲(chǔ)器。
采用本發(fā)明實(shí)施例提供的系統(tǒng),web集群接收到來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求時(shí),能夠從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,并將視頻轉(zhuǎn)碼請(qǐng)求轉(zhuǎn)發(fā)至該轉(zhuǎn)碼服務(wù)器,并且,轉(zhuǎn)碼服務(wù)器接收到視頻轉(zhuǎn)碼請(qǐng)求后,能夠根據(jù)該請(qǐng)求中待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取待轉(zhuǎn)碼視頻數(shù)據(jù),進(jìn)而對(duì)獲取到的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,并將轉(zhuǎn)碼后得到的目標(biāo)視頻數(shù)據(jù)發(fā)送至web集群,再由web集群將目標(biāo)視頻數(shù)據(jù)返回至客戶端。因此,該技術(shù)方案在處理客戶端發(fā)出的視頻轉(zhuǎn)碼請(qǐng)求時(shí),無(wú)需將視頻文件下載到本地再將視頻文件切割成一個(gè)個(gè)小片段,進(jìn)而依次對(duì)各個(gè)小片段進(jìn)行轉(zhuǎn)碼及合成過(guò)程,而只需利用網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中獲取正確的待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼即可,相較于現(xiàn)有技術(shù)而言,至少節(jié)省了對(duì)視頻文件的下載、切割及合成過(guò)程,因此不僅省去了用戶的手動(dòng)操作過(guò)程(如下載視頻文件至本地),且提高了對(duì)視頻數(shù)據(jù)的轉(zhuǎn)碼效率。
本領(lǐng)域的技術(shù)人員應(yīng)可理解,圖3和圖4中的分布式轉(zhuǎn)碼裝置以及圖5中的分布式轉(zhuǎn)碼系統(tǒng)能夠用來(lái)實(shí)現(xiàn)前文所述的分布式轉(zhuǎn)碼方案,其中的細(xì)節(jié)描述應(yīng)與前文方法部分描述類似,為避免繁瑣,此處不另贅述。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(dsp)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的分布式轉(zhuǎn)碼裝置/系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡示出和描述了本發(fā)明的多個(gè)示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開(kāi)的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
本發(fā)明實(shí)施例提供了a1.一種分布式轉(zhuǎn)碼方法,應(yīng)用于位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,所述方法包括:
接收由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述web集群,由所述web集群將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
a2.根據(jù)a1所述的方法,其中,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),包括:
根據(jù)所述文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
a3.根據(jù)a2所述的方法,其中,所述位置信息為時(shí)間點(diǎn)信息;從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),包括:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;
從所述視頻文件中獲取所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間之間的視頻數(shù)據(jù)。
a4.根據(jù)a2所述的方法,其中,所述位置信息為視頻幀信息;所述從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),包括:
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;
從所述視頻文件中獲取所述開(kāi)始視頻幀和所述結(jié)束視頻幀之間的視頻數(shù)據(jù)。
a5.根據(jù)a1-a4中任一項(xiàng)所述的方法,其中,所述云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器;根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),包括:
將包含所述內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至所述云存儲(chǔ)器,由所述云存儲(chǔ)器根據(jù)預(yù)設(shè)的內(nèi)容標(biāo)識(shí)和cdn云存儲(chǔ)器之間的映射關(guān)系確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的cdn云存儲(chǔ)器,并從該cdn云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
接收所述云存儲(chǔ)器返回的待轉(zhuǎn)碼視頻數(shù)據(jù)。
本發(fā)明實(shí)施例還提供了b6.一種分布式轉(zhuǎn)碼方法,應(yīng)用于web集群,所述方法包括:
接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述轉(zhuǎn)碼服務(wù)器陣列中包括多個(gè)轉(zhuǎn)碼服務(wù)器;
將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器,由所述轉(zhuǎn)碼服務(wù)器根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),并對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,以獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
接收所述轉(zhuǎn)碼服務(wù)器返回的所述目標(biāo)視頻數(shù)據(jù),并將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
b7.根據(jù)b6所述的方法,其中,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;
所述文件標(biāo)識(shí)信息用于所述轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
所述位置信息用于所述轉(zhuǎn)碼服務(wù)器從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù)作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
b8.根據(jù)b6或b7所述的方法,其中,從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,包括:
從所述轉(zhuǎn)碼服務(wù)器陣列中選擇滿足預(yù)設(shè)條件的至少一個(gè)轉(zhuǎn)碼服務(wù)器,作為用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述預(yù)設(shè)條件包括以下至少一項(xiàng):
所述轉(zhuǎn)碼服務(wù)器處于空閑狀態(tài);
所述轉(zhuǎn)碼服務(wù)器運(yùn)行正常;
所述轉(zhuǎn)碼服務(wù)器中當(dāng)前未處理的請(qǐng)求數(shù)目最少;
所述轉(zhuǎn)碼服務(wù)器處理當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間最少。
b9.根據(jù)b6-b8中任一項(xiàng)所述的方法,其中,從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,包括:
當(dāng)接收來(lái)自客戶端的多個(gè)視頻轉(zhuǎn)碼請(qǐng)求時(shí),從所述轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)各視頻轉(zhuǎn)碼請(qǐng)求的多個(gè)轉(zhuǎn)碼服務(wù)器,其中,所述各視頻轉(zhuǎn)碼請(qǐng)求分別來(lái)自不同的客戶端。
b10.根據(jù)b9所述的方法,其中,將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器,包括:
根據(jù)所述各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定所述各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,并確定所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息;
根據(jù)各個(gè)待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小以及所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息,分別為所述各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器;
將所述各視頻轉(zhuǎn)碼請(qǐng)求分別分配至各自對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。
b11.根據(jù)b10所述的方法,其中,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息和/或視頻幀信息;根據(jù)所述各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定所述各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,包括:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;根據(jù)所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大??;和/或,
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;根據(jù)所述開(kāi)始視頻幀和所述結(jié)束視頻幀確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小。
本發(fā)明實(shí)施例還提供了c12.一種分布式轉(zhuǎn)碼裝置,設(shè)置于位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器,所述裝置包括:
第一接收模塊,適于接收由web集群分發(fā)的來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
獲取模塊,適于根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
轉(zhuǎn)碼模塊,適于對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
發(fā)送模塊,適于將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述web集群,由所述web集群將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
c13.根據(jù)c12所述的裝置,其中,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;所述獲取模塊還適于:
根據(jù)所述文件標(biāo)識(shí)信息從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù),作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
c14.根據(jù)c13所述的裝置,其中,所述位置信息為時(shí)間點(diǎn)信息;所述獲取模塊還適于:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;
從所述視頻文件中獲取所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間之間的視頻數(shù)據(jù)。
c15.根據(jù)c13所述的裝置,其中,所述位置信息為視頻幀信息;所述獲取模塊還適于:
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;
從所述視頻文件中獲取所述開(kāi)始視頻幀和所述結(jié)束視頻幀之間的視頻數(shù)據(jù)。
c16.根據(jù)c12-c15中任一項(xiàng)所述的裝置,其中,所述云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器;所述獲取模塊還適于:
將包含所述內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至所述云存儲(chǔ)器,由所述云存儲(chǔ)器根據(jù)預(yù)設(shè)的內(nèi)容標(biāo)識(shí)和cdn云存儲(chǔ)器之間的映射關(guān)系確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的cdn云存儲(chǔ)器,并從該cdn云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù);
接收所述云存儲(chǔ)器返回的待轉(zhuǎn)碼視頻數(shù)據(jù)。
本發(fā)明實(shí)施例還提供了d17.一種分布式轉(zhuǎn)碼裝置,設(shè)置于web集群,所述裝置包括:
第二接收模塊,適于接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);
選擇模塊,適于從位于網(wǎng)絡(luò)側(cè)的轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述轉(zhuǎn)碼服務(wù)器陣列中包括多個(gè)轉(zhuǎn)碼服務(wù)器;
分配模塊,適于將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器,由所述轉(zhuǎn)碼服務(wù)器根據(jù)所述內(nèi)容標(biāo)識(shí)從云存儲(chǔ)器中獲取所述待轉(zhuǎn)碼視頻數(shù)據(jù),并對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,以獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);
第三接收模塊,適于接收所述轉(zhuǎn)碼服務(wù)器返回的所述目標(biāo)視頻數(shù)據(jù),并將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
d18.根據(jù)d17所述的裝置,其中,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件的文件標(biāo)識(shí)信息以及所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的位置信息;
所述文件標(biāo)識(shí)信息用于所述轉(zhuǎn)碼服務(wù)器從云存儲(chǔ)器中查找所述待轉(zhuǎn)碼視頻數(shù)據(jù)對(duì)應(yīng)的視頻文件;
所述位置信息用于所述轉(zhuǎn)碼服務(wù)器從所述視頻文件中獲取所述位置信息對(duì)應(yīng)的視頻數(shù)據(jù)作為所述待轉(zhuǎn)碼視頻數(shù)據(jù)。
d19.根據(jù)d17或d18所述的裝置,其中,所述選擇模塊還適于:
從所述轉(zhuǎn)碼服務(wù)器陣列中選擇滿足預(yù)設(shè)條件的至少一個(gè)轉(zhuǎn)碼服務(wù)器,作為用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器,其中,所述預(yù)設(shè)條件包括以下至少一項(xiàng):
所述轉(zhuǎn)碼服務(wù)器處于空閑狀態(tài);
所述轉(zhuǎn)碼服務(wù)器運(yùn)行正常;
所述轉(zhuǎn)碼服務(wù)器中當(dāng)前未處理的請(qǐng)求數(shù)目最少;
所述轉(zhuǎn)碼服務(wù)器處理當(dāng)前未處理數(shù)據(jù)的剩余時(shí)間最少。
d20.根據(jù)d17-d19中任一項(xiàng)所述的裝置,其中,所述選擇模塊還適于:
當(dāng)接收來(lái)自客戶端的多個(gè)視頻轉(zhuǎn)碼請(qǐng)求時(shí),從所述轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)各視頻轉(zhuǎn)碼請(qǐng)求的多個(gè)轉(zhuǎn)碼服務(wù)器,其中,所述各視頻轉(zhuǎn)碼請(qǐng)求分別來(lái)自不同的客戶端。
d21.根據(jù)d20所述的裝置,其中,所述分配模塊還適于:
根據(jù)所述各視頻轉(zhuǎn)碼請(qǐng)求中包含的內(nèi)容標(biāo)識(shí)分別確定所述各視頻轉(zhuǎn)碼請(qǐng)求對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小,并確定所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息;
根據(jù)各個(gè)待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小以及所述多個(gè)轉(zhuǎn)碼服務(wù)器的運(yùn)行狀態(tài)信息,分別為所述各視頻轉(zhuǎn)碼請(qǐng)求確定其對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器;
將所述各視頻轉(zhuǎn)碼請(qǐng)求分別分配至各自對(duì)應(yīng)的轉(zhuǎn)碼服務(wù)器。
d22.根據(jù)d21所述的裝置,其中,所述內(nèi)容標(biāo)識(shí)包括所述待轉(zhuǎn)碼視頻數(shù)據(jù)在與其對(duì)應(yīng)的視頻文件中的時(shí)間點(diǎn)信息和/或視頻幀信息;所述分配模塊還適于:
根據(jù)所述時(shí)間點(diǎn)信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始時(shí)間和結(jié)束時(shí)間;根據(jù)所述開(kāi)始時(shí)間和所述結(jié)束時(shí)間確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大??;和/或,
根據(jù)所述視頻幀信息確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)在所述視頻文件中的開(kāi)始視頻幀和結(jié)束視頻幀;根據(jù)所述開(kāi)始視頻幀和所述結(jié)束視頻幀確定所述待轉(zhuǎn)碼視頻數(shù)據(jù)的數(shù)據(jù)大小。
本發(fā)明實(shí)施例還提供了e23.一種分布式轉(zhuǎn)碼系統(tǒng),包括web集群、位于網(wǎng)絡(luò)側(cè)的包括多個(gè)轉(zhuǎn)碼服務(wù)器的轉(zhuǎn)碼服務(wù)器陣列以及云存儲(chǔ)器;其中:
所述web集群,適于接收來(lái)自客戶端的視頻轉(zhuǎn)碼請(qǐng)求,所述視頻轉(zhuǎn)碼請(qǐng)求中包括待轉(zhuǎn)碼視頻數(shù)據(jù)的內(nèi)容標(biāo)識(shí);從所述轉(zhuǎn)碼服務(wù)器陣列中選擇用于響應(yīng)所述視頻轉(zhuǎn)碼請(qǐng)求的轉(zhuǎn)碼服務(wù)器;將所述視頻轉(zhuǎn)碼請(qǐng)求分配至所述選擇的轉(zhuǎn)碼服務(wù)器;
所述選擇的轉(zhuǎn)碼服務(wù)器,適于接收由所述web集群分發(fā)的視頻轉(zhuǎn)碼請(qǐng)求;將包含所述內(nèi)容標(biāo)識(shí)的數(shù)據(jù)獲取請(qǐng)求發(fā)送至所述云存儲(chǔ)器;
所述云存儲(chǔ)器,適于根據(jù)所述數(shù)據(jù)獲取請(qǐng)求查詢并獲取與所述內(nèi)容標(biāo)識(shí)對(duì)應(yīng)的待轉(zhuǎn)碼視頻數(shù)據(jù),并將所述待轉(zhuǎn)碼視頻數(shù)據(jù)返回至所述選擇的轉(zhuǎn)碼服務(wù)器;
所述選擇的轉(zhuǎn)碼服務(wù)器,還適于接收所述云存儲(chǔ)器返回的所述待轉(zhuǎn)碼視頻數(shù)據(jù);對(duì)所述待轉(zhuǎn)碼視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,獲得轉(zhuǎn)碼后的目標(biāo)視頻數(shù)據(jù);將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述web集群;
所述web集群,還適于將所述目標(biāo)視頻數(shù)據(jù)發(fā)送至所述客戶端。
e24.根據(jù)e23所述的系統(tǒng),其中,所述轉(zhuǎn)碼服務(wù)器陣列中的多個(gè)轉(zhuǎn)碼服務(wù)器采用對(duì)稱分布方式。
e25.根據(jù)e23或e24所述的系統(tǒng),其中,所述云存儲(chǔ)器包括多個(gè)cdn云存儲(chǔ)器。