一種分布式視頻轉(zhuǎn)碼的糾錯方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例提供一種分布式視頻轉(zhuǎn)碼的糾錯方法,包括:解封裝服務(wù)器將視頻文件解封裝,得到至少一個GOP和至少一個音頻包,為至少一個GOP以及音頻包分配編號;解封裝服務(wù)器將GOP和音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器;轉(zhuǎn)碼服務(wù)器檢查收到的GOP和音頻包的正確性;轉(zhuǎn)碼服務(wù)器將正確接收的GOP和音頻包進(jìn)行轉(zhuǎn)碼;轉(zhuǎn)碼服務(wù)器將轉(zhuǎn)碼后的GOP和音頻包發(fā)送到封裝服務(wù)器;封裝服務(wù)器檢測是否收到了所有的轉(zhuǎn)碼后的GOP以及音頻包;封裝服務(wù)器在檢測收到了所有的轉(zhuǎn)碼后的GOP以及音頻包后,將轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。本發(fā)明實施例還提供了相應(yīng)的糾錯系統(tǒng)。通過本發(fā)明實施例,能夠最大限度地對分布式視頻轉(zhuǎn)碼的錯誤進(jìn)行糾正,提高分布式視頻轉(zhuǎn)碼的正確性。
【專利說明】一種分布式視頻轉(zhuǎn)碼的糾錯方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種分布式視頻轉(zhuǎn)碼的糾錯方法及系統(tǒng)?!颈尘凹夹g(shù)】
[0002]當(dāng)有大量視頻需要進(jìn)行轉(zhuǎn)換格式時,可以采用多臺單機版的轉(zhuǎn)碼軟件進(jìn)行轉(zhuǎn)碼;而更為高效的辦法是設(shè)計一個分布式的轉(zhuǎn)碼系統(tǒng)進(jìn)行轉(zhuǎn)碼。分布式視頻轉(zhuǎn)碼一般可分為四個步驟進(jìn)行:a、解封裝,b、視頻解碼編碼,C、音頻解碼編碼,d、封裝。這四個步驟中視頻解碼編碼這一步要耗費整個轉(zhuǎn)碼過程80%_90%的時間。為了提高轉(zhuǎn)碼速度,減少轉(zhuǎn)碼的整體時間最核心的是要減少視頻解碼編碼的處理時間。
[0003]分布式轉(zhuǎn)碼的思想是利用多臺服務(wù)器同時并行對進(jìn)GOP (Group of Pictures,畫面組)解碼編碼處理,并行處理GOP的服務(wù)器越多,整個轉(zhuǎn)碼過程耗時就越少。為此分布式轉(zhuǎn)碼系統(tǒng)一般被設(shè)計為:一臺服務(wù)器負(fù)責(zé)解封裝,多臺服務(wù)器負(fù)責(zé)處理G0P,一臺服務(wù)器負(fù)責(zé)處理音頻包,一臺服務(wù)器負(fù)責(zé)封裝并輸出目標(biāo)視頻文件。圖1所示即為分布式轉(zhuǎn)碼的系統(tǒng)示意圖。
[0004]分布式轉(zhuǎn)碼的特點是將視頻的解封裝、視頻流編解碼、音頻流編解碼、視頻的封裝分開在多臺服務(wù)器上運行的。而且視頻流的編解碼往往會由多臺服務(wù)器同時處理。在這些服務(wù)器中間數(shù)據(jù)是通過文件在網(wǎng)絡(luò)中傳輸?shù)?,這樣就有可能造成數(shù)據(jù)文件在網(wǎng)絡(luò)中出錯甚至丟失,不管是出錯還是丟失都會造成目標(biāo)視頻文件無法輸出。
【發(fā)明內(nèi)容】
[0005]為了解決分布式轉(zhuǎn)碼文件傳輸錯誤導(dǎo)致轉(zhuǎn)碼失敗的問題,本發(fā)明實施例提出一種分布式視頻轉(zhuǎn)碼的糾錯方法和系統(tǒng)。
[0006]本發(fā)明的一個方面,提供一種分布式視頻轉(zhuǎn)碼的糾錯方法,包括:
[0007]解封裝服務(wù)器將視頻文件解封裝,得到至少一個畫面組GOP和至少一個音頻包,為所述至少一個GOP以及音頻包分配編號;
[0008]所述解封裝服務(wù)器將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器;
[0009]所述轉(zhuǎn)碼服務(wù)器檢查收到的所述GOP和所述音頻包的正確性;
[0010]所述轉(zhuǎn)碼服務(wù)器將正確接收的GOP和音頻包進(jìn)行轉(zhuǎn)碼;
[0011]所述轉(zhuǎn)碼服務(wù)器將轉(zhuǎn)碼后的GOP和音頻包發(fā)送到封裝服務(wù)器;
[0012]所述封裝服務(wù)器檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包;
[0013]所述封裝服務(wù)器在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
[0014]本發(fā)明的另一個方面,提供一種分布式視頻轉(zhuǎn)碼的糾錯系統(tǒng),包括:
[0015]解封裝服務(wù)器、轉(zhuǎn)碼服務(wù)器,以及封裝服務(wù)器;
[0016]所述解封裝服務(wù)器用于將視頻文件解封裝,得到至少一個畫面組GOP和至少一個音頻包,為所述至少一個GOP以及音頻包分配編號;[0017]所述解封裝服務(wù)器還用于將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器;
[0018]所述轉(zhuǎn)碼服務(wù)器用于檢查收到的所述GOP和所述音頻包的正確性;
[0019]所述轉(zhuǎn)碼服務(wù)器還用于將正確接收的GOP和音頻包進(jìn)行轉(zhuǎn)碼;
[0020]所述轉(zhuǎn)碼服務(wù)器還用于將轉(zhuǎn)碼后的GOP和音頻包發(fā)送到封裝服務(wù)器;
[0021]所述封裝服務(wù)器用于檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包;
[0022]所述封裝服務(wù)器還用于在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
[0023]使用本發(fā)明實施例公開的分布式視頻轉(zhuǎn)碼的糾錯方法及系統(tǒng),解封裝服務(wù)器會對解碼產(chǎn)生的GOP和音頻包進(jìn)行編號,轉(zhuǎn)碼服務(wù)器在對GOP和音頻包進(jìn)行轉(zhuǎn)碼操作之前會對接收的GOP和音頻包的正確性進(jìn)行驗證,確保只有正確接收的GOP和音頻包才會被轉(zhuǎn)碼;與此同時,封裝服務(wù)器收到轉(zhuǎn)碼后的GOP和音頻包之后會對它們的完整性進(jìn)行驗證,只在確定收到了所有轉(zhuǎn)碼后的GOP和音頻包之后才進(jìn)行封裝操作,保證了轉(zhuǎn)碼后的視頻文件的完整性。通過本發(fā)明實施例中的解封裝服務(wù)器、轉(zhuǎn)碼服務(wù)器以及封裝服務(wù)器的分工配合,能夠最大限度地對分布式視頻轉(zhuǎn)碼的錯誤進(jìn)行糾正,提高分布式視頻轉(zhuǎn)碼的正確性。
【專利附圖】
【附圖說明】
[0024]圖1所示是一種分布式視頻轉(zhuǎn)碼的系統(tǒng)示意圖;
[0025]圖2所示是本發(fā)明實施例提供的一種分布式視頻轉(zhuǎn)碼的糾錯方法的示意圖;
[0026]圖3所示是本發(fā)明實施例提供的一種封裝服務(wù)器檢測未收到所有的所述轉(zhuǎn)碼后的GOP以及音頻包之后的處理方法示意圖;
[0027]圖4所示是本發(fā)明實施例提供的一種分布式視頻轉(zhuǎn)碼的糾錯系統(tǒng)的結(jié)構(gòu)示意圖?!揪唧w實施方式】
[0028]在本發(fā)明實施例中,解封裝服務(wù)器會對解碼產(chǎn)生的GOP和音頻包進(jìn)行編號,轉(zhuǎn)碼服務(wù)器在對GOP和音頻包進(jìn)行轉(zhuǎn)碼操作之前會對接收的GOP和音頻包的正確性進(jìn)行驗證,確保只有正確接收的GOP和音頻包才會被轉(zhuǎn)碼;與此同時,封裝服務(wù)器收到轉(zhuǎn)碼后的GOP和音頻包之后會對它們的完整性進(jìn)行驗證,只在確定收到了所有轉(zhuǎn)碼后的GOP和音頻包之后才進(jìn)行封裝操作,保證了轉(zhuǎn)碼后的視頻文件的完整性。
[0029]以下詳細(xì)說明本發(fā)明實施例提供的分布式視頻轉(zhuǎn)碼的糾錯方法。
[0030]圖2所示為本發(fā)明一個實施例提供的分布式視頻轉(zhuǎn)碼的糾錯方法示意圖,根據(jù)該圖,詳述各步驟如下:
[0031]步驟201、解封裝服務(wù)器將視頻文件解封裝,得到至少一個畫面組GOP和至少一個音頻包,為所述至少一個GOP以及音頻包分配編號;
[0032]步驟202、所述解封裝服務(wù)器將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器;
[0033]其中,所述解封裝服務(wù)器將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器的同時,還包括:
[0034]備份所述GOP以及所述音頻包。
[0035]步驟203、所述轉(zhuǎn)碼服務(wù)器檢查收到的所述GOP和所述音頻包的正確性;
[0036]其中,所述轉(zhuǎn)碼服務(wù)器檢查收到的所述GOP和所述音頻包的正確性,包括:[0037]所述轉(zhuǎn)碼服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)長度檢查所述GOP或者所述音頻包的正確性;
[0038]若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度相符,則所述GOP或者所述音頻包正確接收;
[0039]若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度不相符,則所述GOP或者所述音頻包未正確接收。
[0040]若所述GOP或者所述音頻包未正確接收,還包括:
[0041]所述轉(zhuǎn)碼服務(wù)器丟棄所述未正確接收的GOP或者音頻包。
[0042]在所述轉(zhuǎn)碼服務(wù)器丟棄所述未正確接收的GOP或者音頻包之后,還可以包括:所述轉(zhuǎn)碼服務(wù)器請求所述解封裝服務(wù)器重新發(fā)送所述未正確接收的GOP或者音頻包。
[0043]步驟204、所述轉(zhuǎn)碼服務(wù)器將正確接收的GOP和音頻包進(jìn)行轉(zhuǎn)碼;
[0044]步驟205、所述轉(zhuǎn)碼服務(wù)器將轉(zhuǎn)碼后的GOP和音頻包發(fā)送到封裝服務(wù)器;
[0045]步驟206、所述封裝服務(wù)器檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包;
[0046]其中,所述封裝服務(wù)器檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包,包括:
[0047]所述封裝服務(wù)器定時檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包。
[0048]步驟207、所述封裝服務(wù)器在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
[0049]其中,圖3所示為封裝服務(wù)器檢測未收到所有的所述轉(zhuǎn)碼后的GOP以及音頻包之后的處理方法示意圖。依據(jù)該圖,介紹該方法如下:
[0050]若所述封裝服務(wù)器檢測未收到所有的所述轉(zhuǎn)碼后的GOP以及音頻包,則:
[0051 ] 步驟301、所述封裝服務(wù)器向所述解封裝服務(wù)器發(fā)送糾錯請求,所述糾錯請求中包括缺失的GOP或者音頻包的編號;
[0052]其中,所述封裝服務(wù)器向所述解封裝服務(wù)器發(fā)送糾錯請求,包括:
[0053]所述封裝服務(wù)器檢測到缺失的GOP或者音頻包;
[0054]若經(jīng)過預(yù)設(shè)的時長后仍未收到所述缺失的GOP或者音頻包,則所述封裝服務(wù)器向所述解封裝服務(wù)器發(fā)送糾錯請求。
[0055]步驟302、所述解封裝服務(wù)器根據(jù)所述缺失的GOP或者音頻包的編號在所述備份的GOP或者音頻包中提取缺失的GOP或者音頻包;
[0056]步驟303、所述解封裝服務(wù)器將所述缺失的GOP或者音頻包發(fā)送到所述轉(zhuǎn)碼服務(wù)器;
[0057]步驟304、所述轉(zhuǎn)碼服務(wù)器將所述缺失的GOP或者音頻包進(jìn)行轉(zhuǎn)碼;
[0058]步驟305、所述轉(zhuǎn)碼服務(wù)器將所述轉(zhuǎn)碼后的GOP或者音頻包發(fā)送到封裝服務(wù)器;
[0059]步驟306、所述封裝服務(wù)器在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
[0060]使用本發(fā)明實施例公開的分布式視頻轉(zhuǎn)碼的糾錯方法,解封裝服務(wù)器會對解碼產(chǎn)生的GOP和音頻包進(jìn)行編號,轉(zhuǎn)碼服務(wù)器在對GOP和音頻包進(jìn)行轉(zhuǎn)碼操作之前會對接收的GOP和音頻包的正確性進(jìn)行驗證,確保只有正確接收的GOP和音頻包才會被轉(zhuǎn)碼;與此同時,封裝服務(wù)器收到轉(zhuǎn)碼后的GOP和音頻包之后會對它們的完整性進(jìn)行驗證,只在確定收到了所有轉(zhuǎn)碼后的GOP和音頻包之后才進(jìn)行封裝操作,保證了轉(zhuǎn)碼后的視頻文件的完整性。通過本發(fā)明實施例中的解封裝服務(wù)器、轉(zhuǎn)碼服務(wù)器以及封裝服務(wù)器的分工配合,能夠最大限度地對分布式視頻轉(zhuǎn)碼的錯誤進(jìn)行糾正,提高分布式視頻轉(zhuǎn)碼的正確性。
[0061]以下介紹一種分布式視頻轉(zhuǎn)碼的糾錯系統(tǒng),用以執(zhí)行前述實施例中公開的分布式視頻轉(zhuǎn)碼的糾錯方法。
[0062]圖4所示為本發(fā)明一個實施例提供的一種分布式視頻轉(zhuǎn)碼的糾錯系統(tǒng)的結(jié)構(gòu)示意圖。依據(jù)該圖,詳述系統(tǒng)中的各組成部分以及各自的作用如下:
[0063]本發(fā)明實施例提供的分布式視頻轉(zhuǎn)碼的糾錯系統(tǒng)包括:解封裝服務(wù)器401、轉(zhuǎn)碼服務(wù)器402,以及封裝服務(wù)器403。其中,轉(zhuǎn)碼服務(wù)器402的個數(shù)至少為一個。
[0064]所述解封裝服務(wù)器401用于將視頻文件解封裝,得到至少一個畫面組GOP和至少一個音頻包,為所述至少一個GOP以及音頻包分配編號;
[0065]所述解封裝服務(wù)器401還用于將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器;
[0066]所述解封裝服務(wù)器401將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器的同時,還用于:
[0067]備份所述GOP以及所述音頻包。
[0068]所述轉(zhuǎn)碼服務(wù)器402用于檢查收到的所述GOP和所述音頻包的正確性;
[0069]其中,所述轉(zhuǎn)碼服務(wù)器402檢查收到的所述GOP和所述音頻包的正確性,包括:
[0070]所述轉(zhuǎn)碼服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)長度檢查所述GOP或者所述音頻包的正確性;
[0071]若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度相符,則所述GOP或者所述音頻包正確接收;
[0072]若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度不相符,則所述GOP或者所述音頻包未正確接收。
[0073]若所述GOP或者所述音頻包未正確接收,所述轉(zhuǎn)碼服務(wù)器402還用于:
[0074]丟棄所述未正確接收的GOP或者音頻包。
[0075]所述轉(zhuǎn)碼服務(wù)器402還用于將正確接收的GOP和音頻包進(jìn)行轉(zhuǎn)碼;
[0076]所述轉(zhuǎn)碼服務(wù)器402還用于將轉(zhuǎn)碼后的GOP和音頻包發(fā)送到封裝服務(wù)器;
[0077]所述封裝服務(wù)器403用于檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包;
[0078]所述封裝服務(wù)器403還用于在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
[0079]若所述封裝服務(wù)器403檢測未收到所有的所述轉(zhuǎn)碼后的GOP以及音頻包,則:
[0080]所述封裝服務(wù)器還用于向所述解封裝服務(wù)器發(fā)送糾錯請求,所述糾錯請求中包括缺失的GOP或者音頻包的編號;
[0081]所述解封裝服務(wù)器還用于根據(jù)所述缺失的GOP或者音頻包的編號在所述備份的GOP或者音頻包中提取缺失的GOP或者音頻包;
[0082]所述解封裝服務(wù)器還用于將所述缺失的GOP或者音頻包發(fā)送到所述轉(zhuǎn)碼服務(wù)器;
[0083]所述轉(zhuǎn)碼服務(wù)器還用于將所述缺失的GOP或者音頻包進(jìn)行轉(zhuǎn)碼;
[0084]所述轉(zhuǎn)碼服務(wù)器還用于將所述轉(zhuǎn)碼后的GOP或者音頻包發(fā)送到封裝服務(wù)器;
[0085]所述封裝服務(wù)器還用于在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
[0086]使用本發(fā)明實施例公開的分布式視頻轉(zhuǎn)碼的糾錯系統(tǒng),解封裝服務(wù)器會對解碼產(chǎn)生的GOP和音頻包進(jìn)行編號,轉(zhuǎn)碼服務(wù)器在對GOP和音頻包進(jìn)行轉(zhuǎn)碼操作之前會對接收的GOP和音頻包的正確性進(jìn)行驗證,確保只有正確接收的GOP和音頻包才會被轉(zhuǎn)碼;與此同時,封裝服務(wù)器收到轉(zhuǎn)碼后的GOP和音頻包之后會對它們的完整性進(jìn)行驗證,只在確定收到了所有轉(zhuǎn)碼后的GOP和音頻包之后才進(jìn)行封裝操作,保證了轉(zhuǎn)碼后的視頻文件的完整性。通過本發(fā)明實施例中的解封裝服務(wù)器、轉(zhuǎn)碼服務(wù)器以及封裝服務(wù)器的分工配合,能夠最大限度地對分布式視頻轉(zhuǎn)碼的錯誤進(jìn)行糾正,提高分布式視頻轉(zhuǎn)碼的正確性。
[0087]本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟、光盤、網(wǎng)絡(luò)節(jié)點、調(diào)度器等各種可以存儲程序代碼的介質(zhì)。
[0088]最后應(yīng)說明的是:以上僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種分布式視頻轉(zhuǎn)碼的糾錯方法,其特征在于,包括: 解封裝服務(wù)器將視頻文件解封裝,得到至少一個畫面組GOP和至少一個音頻包,為所述至少一個GOP以及音頻包分配編號; 所述解封裝服務(wù)器將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器; 所述轉(zhuǎn)碼服務(wù)器檢查收到的所述GOP和所述音頻包的正確性; 所述轉(zhuǎn)碼服務(wù)器將正確接收的GOP和音頻包進(jìn)行轉(zhuǎn)碼; 所述轉(zhuǎn)碼服務(wù)器將轉(zhuǎn)碼后的GOP和音頻包發(fā)送到封裝服務(wù)器; 所述封裝服務(wù)器檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包; 所述封裝服務(wù)器在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述解封裝服務(wù)器將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器的同時,還包括: 備份所述GOP以及所述音頻包。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,若所述封裝服務(wù)器檢測未收到所有的所述轉(zhuǎn)碼后的GOP以及 音頻包,則: 所述封裝服務(wù)器向所述解封裝服務(wù)器發(fā)送糾錯請求,所述糾錯請求中包括缺失的GOP或者音頻包的編號; 所述解封裝服務(wù)器根據(jù)所述缺失的GOP或者音頻包的編號在所述備份的GOP或者音頻包中提取缺失的GOP或者音頻包; 所述解封裝服務(wù)器將所述缺失的GOP或者音頻包發(fā)送到所述轉(zhuǎn)碼服務(wù)器; 所述轉(zhuǎn)碼服務(wù)器將所述缺失的GOP或者音頻包進(jìn)行轉(zhuǎn)碼; 所述轉(zhuǎn)碼服務(wù)器將所述轉(zhuǎn)碼后的GOP或者音頻包發(fā)送到封裝服務(wù)器; 所述封裝服務(wù)器在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述封裝服務(wù)器向所述解封裝服務(wù)器發(fā)送糾錯請求,包括: 所述封裝服務(wù)器檢測到缺失的GOP或者音頻包; 若經(jīng)過預(yù)設(shè)的時長后仍未收到所述缺失的GOP或者音頻包,則所述封裝服務(wù)器向所述解封裝服務(wù)器發(fā)送糾錯請求。
5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,所述封裝服務(wù)器檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包,包括: 所述封裝服務(wù)器定時檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述轉(zhuǎn)碼服務(wù)器檢查收到的所述GOP和所述音頻包的正確性,包括: 所述轉(zhuǎn)碼服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)長度檢查所述GOP或者所述音頻包的正確性; 若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度相符,則所述GOP或者所述音頻包正確接收; 若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度不相符,則所述GOP或者所述音頻包未正確接收。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,若所述GOP或者所述音頻包未正確接收,還包括: 所述轉(zhuǎn)碼服務(wù)器丟棄所述未正確接收的GOP或者音頻包。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括: 所述轉(zhuǎn)碼服務(wù)器請求所述解封裝服務(wù)器重新發(fā)送所述未正確接收的GOP或者音頻包。
9.一種分布式視頻轉(zhuǎn)碼的糾錯系統(tǒng),其特征在于,包括: 解封裝服務(wù)器、轉(zhuǎn)碼服務(wù)器,以及封裝服務(wù)器; 所述解封裝服務(wù)器用于將視頻文件解封裝,得到至少一個畫面組GOP和至少一個音頻包,為所述至少一個GOP以及音頻包分配編號; 所述解封裝服務(wù)器還用于將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器; 所述轉(zhuǎn)碼服務(wù)器用于檢查收到的所述GOP和所述音頻包的正確性; 所述轉(zhuǎn)碼服務(wù)器還用于將正確接收的GOP和音頻包進(jìn)行轉(zhuǎn)碼; 所述轉(zhuǎn)碼服務(wù)器還用于將轉(zhuǎn)碼后的GOP和音頻包發(fā)送到封裝服務(wù)器; 所述封裝服務(wù)器用于檢測是否收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包; 所述封裝服務(wù)器還用于在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
10.根據(jù)權(quán)利要求9所述的系統(tǒng)`,其特征在于,所述解封裝服務(wù)器將所述GOP和所述音頻包發(fā)送到轉(zhuǎn)碼服務(wù)器的同時,還用于: 備份所述GOP以及所述音頻包。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,若所述封裝服務(wù)器檢測未收到所有的所述轉(zhuǎn)碼后的GOP以及音頻包,則: 所述封裝服務(wù)器還用于向所述解封裝服務(wù)器發(fā)送糾錯請求,所述糾錯請求中包括缺失的GOP或者音頻包的編號; 所述解封裝服務(wù)器還用于根據(jù)所述缺失的GOP或者音頻包的編號在所述備份的GOP或者音頻包中提取缺失的GOP或者音頻包; 所述解封裝服務(wù)器還用于將所述缺失的GOP或者音頻包發(fā)送到所述轉(zhuǎn)碼服務(wù)器; 所述轉(zhuǎn)碼服務(wù)器還用于將所述缺失的GOP或者音頻包進(jìn)行轉(zhuǎn)碼; 所述轉(zhuǎn)碼服務(wù)器還用于將所述轉(zhuǎn)碼后的GOP或者音頻包發(fā)送到封裝服務(wù)器; 所述封裝服務(wù)器還用于在檢測收到了所有的所述轉(zhuǎn)碼后的GOP以及音頻包后,將所述轉(zhuǎn)碼后的GOP以及音頻包封裝為轉(zhuǎn)碼后的視頻文件。
12.根據(jù)權(quán)利要求9-11中任一項所述的系統(tǒng),其特征在于,所述轉(zhuǎn)碼服務(wù)器檢查收到的所述GOP和所述音頻包的正確性,包括: 所述轉(zhuǎn)碼服務(wù)器根據(jù)預(yù)設(shè)的數(shù)據(jù)長度檢查所述GOP或者所述音頻包的正確性; 若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度相符,則所述GOP或者所述音頻包正確接收; 若所述GOP或者所述音頻包的數(shù)據(jù)長度與所述預(yù)設(shè)的數(shù)據(jù)長度不相符,則所述GOP或者所述音頻包未正確接收。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,若所述GOP或者所述音頻包未正確接收,所述轉(zhuǎn)碼服務(wù)器還用于:丟棄所述未正確接收的GOP或者音頻包。
14.根據(jù)權(quán)利要求 9所述的系統(tǒng),其特征在于,所述轉(zhuǎn)碼服務(wù)器的個數(shù)為至少一個。
【文檔編號】H04N19/89GK103634578SQ201310637085
【公開日】2014年3月12日 申請日期:2013年12月2日 優(yōu)先權(quán)日:2013年12月2日
【發(fā)明者】張金良 申請人:天脈聚源(北京)傳媒科技有限公司