專利名稱:一種轉(zhuǎn)碼方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及一種轉(zhuǎn)碼方法及系統(tǒng)。
背景技術(shù):
格式轉(zhuǎn)換系統(tǒng)目前主要有視頻轉(zhuǎn)換器、音頻轉(zhuǎn)換器、圖片格式轉(zhuǎn)換器、文檔格式轉(zhuǎn)換器等等,其中,視頻轉(zhuǎn)換器可以將視頻信號從一種格式轉(zhuǎn)換成另一種格式,用來滿足更廣泛領(lǐng)域的數(shù)字視頻多制式轉(zhuǎn)換需求。隨著互聯(lián)網(wǎng)和手機(jī)網(wǎng)絡(luò)的不斷進(jìn)化,媒體傳播的平臺越來越多,相應(yīng)的傳播平臺支持的媒體格式也越來越多。從手機(jī)、到IPTV、到高清數(shù)字廣播,不同平臺對內(nèi)容格式的要求完全不同,其中包括了編碼格式/規(guī)格、分辨率、幀率等規(guī)格要求,因此內(nèi)容編碼格式的轉(zhuǎn)換變得必不可少。以視頻轉(zhuǎn)換為例,目前主要存在三種轉(zhuǎn)碼需求不同視頻格式間的轉(zhuǎn)換,例如從 MPEG-2或者M(jìn)PEG-4轉(zhuǎn)到H. 264 ;改變比特率滿足不同網(wǎng)絡(luò)帶寬或者設(shè)備播放速度;清晰度的轉(zhuǎn)換,例如將高清視頻轉(zhuǎn)為標(biāo)清甚至更低的清晰度,或者反向處理。例如,為了進(jìn)行編輯并將信息上載到網(wǎng)站(例如YouTube)而將視頻從攝像機(jī)傳輸至PC的應(yīng)用時,需要進(jìn)行不同視頻格式間的轉(zhuǎn)換,具體的,從攝像機(jī)到PC的過程中,需要將視頻從AVI格式轉(zhuǎn)換為用于編輯的MPEG-2或用于存儲的MPEG-4,從PC到網(wǎng)站的過程中,需要將MPEG-2或MPEG-4轉(zhuǎn)換成H. 263、H. 264、Flash等格式,如果要在PC上觀看網(wǎng)站上的文件,則需再次執(zhí)行格式轉(zhuǎn)換使視頻能在 RealPlayer 或 Windows Media Player 上播放?,F(xiàn)有的技術(shù)方案中,普通用戶需要完成上述的轉(zhuǎn)碼需求,通常需要在本地安裝一個專門的轉(zhuǎn)碼軟件(不同的軟件支持格式不一樣),然后導(dǎo)入本地需要轉(zhuǎn)碼的原始文件,再選擇需要輸出的目標(biāo)格式,設(shè)置相關(guān)的轉(zhuǎn)碼參數(shù)比如輸出文件名、碼率、是否分割影片等,之后啟動轉(zhuǎn)碼過程,等待轉(zhuǎn)碼結(jié)束。另外,需要在移動設(shè)備上播放視頻時,如果沒有適合在移動設(shè)備上直接播放的視頻格式,通常需要在個人PC上完成轉(zhuǎn)碼,然后同步到移動設(shè)備上進(jìn)行播放?,F(xiàn)有技術(shù)中,還可以采用專門硬件轉(zhuǎn)碼設(shè)備,用專用的轉(zhuǎn)碼處理器減輕核心處理器的任務(wù)實(shí)現(xiàn)更高效率的轉(zhuǎn)碼。隨著多媒體和計算機(jī)技術(shù)快速發(fā)展,視頻播放和應(yīng)用在PC電腦上已經(jīng)取得了巨大的成功,隨著3G時代的來臨,移動手機(jī)視頻的熱度也在一天天的增加,對移動視頻的需求正呈爆發(fā)式增長,人們對在任何時間任何地點(diǎn)訪問多媒體資源的渴望與日俱增。在移動設(shè)備上播放視頻,通常就涉及到視頻格式的轉(zhuǎn)換問題,但是,目前的轉(zhuǎn)碼主要都是在客戶端進(jìn)行,存在以下不足I)視頻轉(zhuǎn)碼是一個高運(yùn)算負(fù)荷的過程,需要對輸入的視頻流進(jìn)行全解碼、視頻過濾/圖像處理、并且對輸出格式進(jìn)行全編碼,所以,多媒體轉(zhuǎn)碼(特別是視頻轉(zhuǎn)碼)是非常耗時、耗計算資源的處理過程,對高清視頻更是如此,既使采用一個專用的轉(zhuǎn)碼處理器減輕核心處理器的任務(wù),但由于高清轉(zhuǎn)碼需要處理的數(shù)據(jù)遠(yuǎn)遠(yuǎn)高于標(biāo)清格式,仍然會消耗客戶端很多系統(tǒng)資源。2)轉(zhuǎn)碼操作的指令發(fā)起與執(zhí)行均在客戶端進(jìn)行,占有用戶本地大量的CPU時間,且用戶需要等待一段時間才能得到轉(zhuǎn)碼后的多媒體數(shù)據(jù),用戶體驗(yàn)較差,并且,對于同一個文件,如果一個用戶需要進(jìn)行轉(zhuǎn)碼,在本地進(jìn)行完畢后,其他用戶也需要同樣的文件時候,還需要在本地進(jìn)行轉(zhuǎn)碼,換言之,顯示轉(zhuǎn)碼后的文件無法共享;3)由于各個型號的移動設(shè)備所支持的視頻分辨率都有上限,大部分不支持超過其屏幕物理分辨率的視頻;各個型號的移動設(shè)備所支持的碼率也同樣都有上限,一般都在IMbps以下;較新的移動設(shè)備最高支持30fps的幀率,所以,在客戶端進(jìn)行轉(zhuǎn)碼時,用戶需要了解很多編碼的背景知識,如分辨率、碼率、幀率等,才能正確完成轉(zhuǎn)碼操作。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種轉(zhuǎn)碼方法及系統(tǒng),能夠節(jié)省客戶端資源、提高用戶體驗(yàn)、便于操作,且能實(shí)現(xiàn)各種格式文件在各種不同類型的終端設(shè)備上進(jìn)行共
享。 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種轉(zhuǎn)碼方法,包括服務(wù)器端接收客戶端的轉(zhuǎn)碼請求,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回所述目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則服務(wù)器端執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回轉(zhuǎn)碼得到的目標(biāo)文件信息。所述轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,所述目標(biāo)文件信息至少包括可提供目標(biāo)文件的地址。該方法還包括服務(wù)器端維護(hù)被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系。所述服務(wù)器端維護(hù)的被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系具體為被轉(zhuǎn)碼文件的文件內(nèi)容的哈希Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,所述服務(wù)器端判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件的步驟具體為服務(wù)器端根據(jù)所述轉(zhuǎn)碼請求中攜帶的待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,獲取待轉(zhuǎn)碼文件的文件內(nèi)容的Hash以及所述轉(zhuǎn)碼請求對應(yīng)的輸出模式,再根據(jù)所述服務(wù)器端建立的被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件。服務(wù)器端包括至少一個轉(zhuǎn)碼服務(wù)器,所述待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址,所述服務(wù)器端執(zhí)行轉(zhuǎn)碼操作的步驟具體為根據(jù)轉(zhuǎn)碼服務(wù)器的負(fù)荷調(diào)度轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,所述轉(zhuǎn)碼請求攜帶的待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址時,被調(diào)度的轉(zhuǎn)碼服務(wù)器從所述URL地址下載文件并進(jìn)行轉(zhuǎn)碼;所述轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件內(nèi)容時,通知客戶端將需要轉(zhuǎn)碼的文件內(nèi)容上傳到被調(diào)度的轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼。一種轉(zhuǎn)碼系統(tǒng),包括服務(wù)器端和客戶端;其中,所述服務(wù)器端,用于在收到來自客戶端的轉(zhuǎn)碼請求后,判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回所述目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則月艮務(wù)器端執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回轉(zhuǎn)碼得到的目標(biāo)文件信息;所述客戶端,用于向服務(wù)器端發(fā)送轉(zhuǎn)碼請求,以及在收到來自服務(wù)器端的目標(biāo)文件信息后,從服務(wù)器端獲取目標(biāo)文件。所述服務(wù)器端包括轉(zhuǎn)碼任務(wù)管理服務(wù)器、轉(zhuǎn)碼調(diào)度服務(wù)器和至少一個轉(zhuǎn)碼服務(wù)器;其中,所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,用于接收來自客戶端的轉(zhuǎn)碼請求,并判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端發(fā)送目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則通知轉(zhuǎn)碼調(diào)度服務(wù)器執(zhí)行轉(zhuǎn)碼操作,轉(zhuǎn)碼成功后,向客戶端發(fā)送目標(biāo)文件信息;
所述轉(zhuǎn)碼調(diào)度服務(wù)器,用于根據(jù)轉(zhuǎn)碼服務(wù)器的負(fù)荷調(diào)度轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,并在轉(zhuǎn)碼成功后,通知轉(zhuǎn)碼任務(wù)管理服務(wù)器;所述轉(zhuǎn)碼服務(wù)器,用于根據(jù)轉(zhuǎn)碼調(diào)度服務(wù)器的調(diào)度執(zhí)行轉(zhuǎn)碼操作。所述客戶端發(fā)送的轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,所述服務(wù)器端返回的目標(biāo)文件信息至少包括可提供目標(biāo)文件的地址,所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,還用于維護(hù)被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系。所述轉(zhuǎn)碼任務(wù)管理服務(wù)器維護(hù)的被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系具體為被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,所述轉(zhuǎn)碼任務(wù)管理服務(wù)器判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件的步驟具體為服務(wù)器端根據(jù)所述轉(zhuǎn)碼請求中攜帶的待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,獲取待轉(zhuǎn)碼文件的文件內(nèi)容的Hash以及所述轉(zhuǎn)碼請求對應(yīng)的輸出模式,再根據(jù)所述服務(wù)器端建立的被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件。所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,還用于在判定服務(wù)器端不存在轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件、且轉(zhuǎn)碼請求攜帶的待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址時,將所述URL地址通過轉(zhuǎn)碼調(diào)度服務(wù)器轉(zhuǎn)給被調(diào)度的轉(zhuǎn)碼服務(wù)器;在判定服務(wù)器端不存在轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件、且轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件內(nèi)容時,通知轉(zhuǎn)碼調(diào)度服務(wù)器進(jìn)行轉(zhuǎn)碼服務(wù)器調(diào)度,之后通知客戶端將需要轉(zhuǎn)碼的文件內(nèi)容直接上傳到被調(diào)度的轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,所述轉(zhuǎn)碼服務(wù)器,還用于根據(jù)來自轉(zhuǎn)碼調(diào)度服務(wù)器的URL地址下載文件并進(jìn)行轉(zhuǎn)碼,或者,對客戶端上傳的文件內(nèi)容進(jìn)行轉(zhuǎn)碼。本發(fā)明轉(zhuǎn)碼方法及系統(tǒng),服務(wù)器端收到來自客戶端的轉(zhuǎn)碼請求后,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回目標(biāo)文件信息,客戶端從服務(wù)器端獲取目標(biāo)文件。由于本發(fā)明在服務(wù)器端進(jìn)行轉(zhuǎn)碼,所以能夠節(jié)省客戶端資源;并且,客戶端發(fā)起轉(zhuǎn)碼請求后,如果服務(wù)器端存儲有客戶端請求的文件,可以立即向客戶端提供該文件,從而減少用戶等待時間,提高用戶體驗(yàn);并且,用戶只需要向服務(wù)器端提交轉(zhuǎn)碼任務(wù),以及從指定的位置提取文件,所以不需要了解很多編碼的背景知識,便于操作;并且,本發(fā)明由服務(wù)器端提供轉(zhuǎn)碼的方式能夠?qū)崿F(xiàn)各種格式文件在各種不同類型的終端設(shè)備上進(jìn)行共享。
圖I為本發(fā)明轉(zhuǎn)碼方法的流程示意圖;圖2為本發(fā)明轉(zhuǎn)碼系統(tǒng)的詳細(xì)結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是服務(wù)器端接收客戶端的轉(zhuǎn)碼請求(攜帶待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息),判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回所述目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則服務(wù)器端執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回轉(zhuǎn)碼得到的目標(biāo)文件信
肩、O圖I為本發(fā)明轉(zhuǎn)碼方法的流程示意圖,如圖I所示,該方法包括步驟101 :服務(wù)器端接收客戶端的轉(zhuǎn)碼請求。步驟102 :服務(wù)器端判斷服務(wù)器端是否已存在該轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,如果不存在,轉(zhuǎn)到步驟103 ;如果存在,轉(zhuǎn)到步驟104。步驟103 :服務(wù)器端執(zhí)行轉(zhuǎn)碼操作得到目標(biāo)文件后(即轉(zhuǎn)碼完成后),執(zhí)行步驟104。步驟104 :服務(wù)器端向客戶端返回所述目標(biāo)文件信息。步驟105 :客戶端從服務(wù)器端獲取目標(biāo)文件。步驟101中,具體由轉(zhuǎn)碼任務(wù)管理服務(wù)器接收來自客戶端的轉(zhuǎn)碼請求,所述轉(zhuǎn)碼請求一般攜帶待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,其中,待轉(zhuǎn)碼文件標(biāo)識可以為提供文件下載的URL地址等。需要說明的是,服務(wù)器端一般需要維護(hù)被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,被轉(zhuǎn)碼的文件一般以文件內(nèi)容的Hash作為唯一標(biāo)識,轉(zhuǎn)碼后的文件一般以文件內(nèi)容的Hash和轉(zhuǎn)碼對應(yīng)的輸出模式(比如選擇轉(zhuǎn)碼的參數(shù)格式、碼流等)作為唯一標(biāo)識。被轉(zhuǎn)碼的文件和轉(zhuǎn)碼后的文件的對應(yīng)關(guān)系一般由轉(zhuǎn)碼任務(wù)管理服務(wù)器維護(hù)。則步驟102中服務(wù)器端判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件為服務(wù)器端根據(jù)轉(zhuǎn)碼請求中攜帶的待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,獲取待轉(zhuǎn)碼文件的文件內(nèi)容的Hash以及所述轉(zhuǎn)碼請求對應(yīng)的輸出模式,再根據(jù)所述服務(wù)器端建立的被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,判斷服務(wù)器端是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,換言之,通過轉(zhuǎn)碼請求攜帶的參數(shù)以及該對應(yīng)關(guān)系便可以知道某一個文件對應(yīng)的某種格式是否已經(jīng)被轉(zhuǎn)碼,也可以知道某個轉(zhuǎn)碼以后的文件對應(yīng)的轉(zhuǎn)碼前的文件。服務(wù)器端一般包括多個轉(zhuǎn)碼服務(wù)器,步驟103中,服務(wù)器端執(zhí)行轉(zhuǎn)碼操作時,需要由轉(zhuǎn)碼調(diào)度服務(wù)器調(diào)度轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,具體的,轉(zhuǎn)碼服務(wù)器周期性地將轉(zhuǎn)碼進(jìn)度和中間狀態(tài)信息通過轉(zhuǎn)碼調(diào)度服務(wù)器上報給轉(zhuǎn)碼任務(wù)管理服務(wù)器,以供客戶端獲取,轉(zhuǎn)碼調(diào)度服務(wù)器依據(jù)轉(zhuǎn)碼服務(wù)器群的負(fù)載進(jìn)行轉(zhuǎn)碼任務(wù)的調(diào)度,如果轉(zhuǎn)碼請求攜帶的待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址,則轉(zhuǎn)碼任務(wù)管理服務(wù)器將該URL地址轉(zhuǎn)發(fā)給轉(zhuǎn)碼調(diào)度服務(wù)器,供轉(zhuǎn)碼調(diào)度服務(wù)器進(jìn)行調(diào)度,被調(diào)度的轉(zhuǎn)碼服務(wù)器從該URL地址下載文件并進(jìn)行轉(zhuǎn)碼;如果轉(zhuǎn)碼請求攜帶的是待轉(zhuǎn)碼文件內(nèi)容,則轉(zhuǎn)碼任務(wù)管理服務(wù)器從轉(zhuǎn)碼調(diào)度服務(wù)器獲取調(diào)度信息后,通知客戶端將需要轉(zhuǎn)碼的文件內(nèi)容直接上傳到被調(diào)度的轉(zhuǎn)碼服務(wù)器。需要說明的是,步驟103中,服務(wù)器端執(zhí)行轉(zhuǎn)碼操作不僅限于將待轉(zhuǎn)碼文件轉(zhuǎn)換為轉(zhuǎn)碼請求中指定的目標(biāo)文件,還可以進(jìn)一步將待轉(zhuǎn)碼文件轉(zhuǎn)換為其他格式的文件,這樣,在收到相應(yīng)的轉(zhuǎn)碼請求時,可以直接為客戶端提供目標(biāo)文件。步驟104中,目標(biāo)文件信息具體可以通過轉(zhuǎn)碼成功消息攜帶,所述目標(biāo)文件信息至少包括可提供目標(biāo)文件的地址,以便客戶端根據(jù)所述轉(zhuǎn)碼成功信息從該地址獲取目標(biāo)文件。 需要說明的是,如果步驟103中服務(wù)器端執(zhí)行轉(zhuǎn)碼操作失敗,則向客戶端發(fā)送轉(zhuǎn)碼失敗信息,具體可進(jìn)一步攜帶失敗原因。本發(fā)明還相應(yīng)地公開了一種轉(zhuǎn)碼系統(tǒng),該系統(tǒng)包括服務(wù)器端和客戶端;其中,所述服務(wù)器端,用于在收到來自客戶端的轉(zhuǎn)碼請求后,判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回所述目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則月艮務(wù)器端執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回轉(zhuǎn)碼得到的目標(biāo)文件信息;所述客戶端,用于向服務(wù)器端發(fā)送轉(zhuǎn)碼請求,以及在收到來自服務(wù)器端的目標(biāo)文件信息后,從服務(wù)器端獲取目標(biāo)文件。圖2為本發(fā)明轉(zhuǎn)碼系統(tǒng)的詳細(xì)結(jié)構(gòu)示意圖,如圖2所示,該轉(zhuǎn)碼系統(tǒng)的服務(wù)器端具體包括轉(zhuǎn)碼任務(wù)管理服務(wù)器、轉(zhuǎn)碼調(diào)度服務(wù)器和至少一個轉(zhuǎn)碼服務(wù)器,其中,所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,用于接收來自客戶端的轉(zhuǎn)碼請求,并判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端發(fā)送目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則通知轉(zhuǎn)碼調(diào)度服務(wù)器執(zhí)行轉(zhuǎn)碼操作,轉(zhuǎn)碼成功后,向客戶端發(fā)送目標(biāo)文件信息;所述轉(zhuǎn)碼調(diào)度服務(wù)器,用于根據(jù)轉(zhuǎn)碼服務(wù)器的負(fù)荷調(diào)度轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,并在轉(zhuǎn)碼成功后,通知轉(zhuǎn)碼任務(wù)管理服務(wù)器;所述轉(zhuǎn)碼服務(wù)器,用于根據(jù)轉(zhuǎn)碼調(diào)度服務(wù)器的調(diào)度執(zhí)行轉(zhuǎn)碼操作。所述客戶端發(fā)送的轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,所述服務(wù)器端返回的目標(biāo)文件信息至少包括可提供目標(biāo)文件的地址,所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,還用于維護(hù)被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系。所述轉(zhuǎn)碼任務(wù)管理服務(wù)器維護(hù)的被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系具體為被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,所述轉(zhuǎn)碼任務(wù)管理服務(wù)器判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件的步驟具體為服務(wù)器端根據(jù)所述轉(zhuǎn)碼請求中攜帶的待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,獲取待轉(zhuǎn)碼文件的文件內(nèi)容的Hash以及所述轉(zhuǎn)碼請求對應(yīng)的輸出模式,再根據(jù)所述服務(wù)器端建立的被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件。所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,還用于在判定服務(wù)器端不存在轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件、且轉(zhuǎn)碼請求攜帶的待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址時,將所述URL地址通過轉(zhuǎn)碼調(diào)度服務(wù)器轉(zhuǎn)給被調(diào)度的轉(zhuǎn)碼服務(wù)器;在判定服務(wù)器端不存在轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件、且轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件內(nèi)容時,通知轉(zhuǎn)碼調(diào)度服務(wù)器進(jìn)行轉(zhuǎn)碼服務(wù)器調(diào)度,之后通知客戶端將需要轉(zhuǎn)碼的文件內(nèi)容直接上傳到被調(diào)度的轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,所述轉(zhuǎn)碼服務(wù)器,還用于根據(jù)來自轉(zhuǎn)碼調(diào)度服務(wù)器的URL地址下載文件并進(jìn)行轉(zhuǎn)碼,或者,對客戶端上傳的文件內(nèi)容進(jìn)行轉(zhuǎn)碼??蛇x的,轉(zhuǎn)碼任務(wù)管理服務(wù)器可以為每個獨(dú)立的轉(zhuǎn)碼任務(wù)生成唯一的標(biāo)識編號;以及接收轉(zhuǎn)碼服務(wù)器通過轉(zhuǎn)碼調(diào)度服務(wù)器上報的轉(zhuǎn)碼進(jìn)度,以供客戶端查詢轉(zhuǎn)碼進(jìn)度。如·果轉(zhuǎn)碼失敗,客戶端可以從服務(wù)器端獲取失敗的具體原因。需要說明的是,轉(zhuǎn)碼服務(wù)器向轉(zhuǎn)碼調(diào)度服務(wù)器注冊自己的地址后,便成為可被調(diào)度的轉(zhuǎn)碼服務(wù)器,之后,轉(zhuǎn)碼服務(wù)器需要周期性提供自己磁盤空間、CPU負(fù)載信息等信息的上報;另外,轉(zhuǎn)碼服務(wù)器按照用戶選擇的目標(biāo)設(shè)備和/或指定的目標(biāo)格式進(jìn)行轉(zhuǎn)碼操作時,需要向轉(zhuǎn)碼調(diào)度服務(wù)器匯報轉(zhuǎn)碼操作的執(zhí)行進(jìn)度。需要說明的是,轉(zhuǎn)碼調(diào)度服務(wù)器接受轉(zhuǎn)碼服務(wù)器集群的節(jié)點(diǎn)的負(fù)載信息的上報,根據(jù)轉(zhuǎn)碼服務(wù)器的負(fù)載情況,動態(tài)將轉(zhuǎn)碼任務(wù)調(diào)度到不同的轉(zhuǎn)碼服務(wù)器節(jié)點(diǎn)上執(zhí)行具體的轉(zhuǎn)碼任務(wù);另外,轉(zhuǎn)碼調(diào)度服務(wù)器接受轉(zhuǎn)碼服務(wù)器轉(zhuǎn)碼進(jìn)度的匯報,同時把進(jìn)度信息向轉(zhuǎn)碼任務(wù)管理服務(wù)器進(jìn)行匯報。本發(fā)明提供一種服務(wù)器端進(jìn)行格式轉(zhuǎn)換的方法與系統(tǒng),根據(jù)用戶的設(shè)備類型(可以根據(jù)移動設(shè)備的型號、屏幕大小及網(wǎng)絡(luò)帶寬的情況)由客戶端生成轉(zhuǎn)碼請求,兼容多種移動視頻應(yīng)用。服務(wù)器端收到轉(zhuǎn)碼請求后,自動在服務(wù)器端進(jìn)行轉(zhuǎn)碼或者匹配到服務(wù)器端已有的合適的內(nèi)容資源,成功后自動提醒,由客戶端從服務(wù)器端取回目標(biāo)文件或者直接進(jìn)行流媒體的形式播放,本發(fā)明將集中式的轉(zhuǎn)碼方式轉(zhuǎn)變成分布式的云端轉(zhuǎn)碼方式,使用集群技術(shù)來加速,在調(diào)度程序管理下,讓多個轉(zhuǎn)碼任務(wù)在集群內(nèi)并行進(jìn)行,從而極大地提高轉(zhuǎn)碼的吞吐率。對客戶來說,轉(zhuǎn)碼集群是透明的,客戶不用了解轉(zhuǎn)碼集群的技術(shù)細(xì)節(jié),只要把轉(zhuǎn)碼任務(wù)提交給服務(wù)器,轉(zhuǎn)碼完成時,從指定的位置提取多媒體文件即可。本發(fā)明通過對客戶端和服務(wù)器端在轉(zhuǎn)碼這個動作上的分工重新界定,使客戶端和服務(wù)器端的計算能力、帶寬能力、存儲能力達(dá)到平衡,這樣,轉(zhuǎn)碼這一非常消耗CPU的動作由功能強(qiáng)大的服務(wù)器來完成,能夠節(jié)省客戶端資源,并且,同一個視頻或者音頻文件完成轉(zhuǎn)碼以后在臨時存儲的有效期內(nèi),可以同時被不同的用戶使用,不需要再次轉(zhuǎn)碼,只需要消耗部分網(wǎng)絡(luò)帶寬從服務(wù)器直接取回就可以,并且,轉(zhuǎn)碼服務(wù)器可以在處理一個文件或數(shù)據(jù)流的過程中,將該文件同步轉(zhuǎn)換為多種不同分辨率、不同碼率或不同格式的多個目標(biāo)文件,轉(zhuǎn)換的具體目標(biāo)依賴于客戶端發(fā)起轉(zhuǎn)碼的時候攜帶的客戶端設(shè)備參數(shù)和目標(biāo)設(shè)備。這帶來的是更高的處理效率,可以快捷地完成針對多種平臺的內(nèi)容生成。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種轉(zhuǎn)碼方法,其特征在于,該方法包括 服務(wù)器端接收客戶端的轉(zhuǎn)碼請求,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回所述目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則服務(wù)器端執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回轉(zhuǎn)碼得到的目標(biāo)文件信息。
2.根據(jù)權(quán)利要求I所述的轉(zhuǎn)碼方法,其特征在于,所述轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,所述目標(biāo)文件信息至少包括可提供目標(biāo)文件的地址。
3.根據(jù)權(quán)利要求2所述的轉(zhuǎn)碼方法,其特征在于,該方法還包括服務(wù)器端維護(hù)被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系。
4.根據(jù)權(quán)利要求3所述的轉(zhuǎn)碼方法,其特征在于,所述服務(wù)器端維護(hù)的被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系具體為被轉(zhuǎn)碼文件的文件內(nèi)容的哈希Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系, 所述服務(wù)器端判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件的步驟具體為服務(wù)器端根據(jù)所述轉(zhuǎn)碼請求中攜帶的待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,獲取待轉(zhuǎn)碼文件的文件內(nèi)容的Hash以及所述轉(zhuǎn)碼請求對應(yīng)的輸出模式,再根據(jù)所述服務(wù)器端建立的被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件。
5.根據(jù)權(quán)利要求2所述的轉(zhuǎn)碼方法,其特征在于,服務(wù)器端包括至少一個轉(zhuǎn)碼服務(wù)器,所述待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址, 所述服務(wù)器端執(zhí)行轉(zhuǎn)碼操作的步驟具體為根據(jù)轉(zhuǎn)碼服務(wù)器的負(fù)荷調(diào)度轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,所述轉(zhuǎn)碼請求攜帶的待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址時,被調(diào)度的轉(zhuǎn)碼服務(wù)器從所述URL地址下載文件并進(jìn)行轉(zhuǎn)碼;所述轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件內(nèi)容時,通知客戶端將需要轉(zhuǎn)碼的文件內(nèi)容上傳到被調(diào)度的轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼。
6.一種轉(zhuǎn)碼系統(tǒng),其特征在于,該系統(tǒng)包括服務(wù)器端和客戶端;其中, 所述服務(wù)器端,用于在收到來自客戶端的轉(zhuǎn)碼請求后,判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回所述目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則服務(wù)器端執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回轉(zhuǎn)碼得到的目標(biāo)文件信息; 所述客戶端,用于向服務(wù)器端發(fā)送轉(zhuǎn)碼請求,以及在收到來自服務(wù)器端的目標(biāo)文件信息后,從服務(wù)器端獲取目標(biāo)文件。
7.根據(jù)權(quán)利要求6所述的轉(zhuǎn)碼系統(tǒng),其特征在于,所述服務(wù)器端包括轉(zhuǎn)碼任務(wù)管理服務(wù)器、轉(zhuǎn)碼調(diào)度服務(wù)器和至少一個轉(zhuǎn)碼服務(wù)器;其中, 所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,用于接收來自客戶端的轉(zhuǎn)碼請求,并判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端發(fā)送目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則通知轉(zhuǎn)碼調(diào)度服務(wù)器執(zhí)行轉(zhuǎn)碼操作,轉(zhuǎn)碼成功后,向客戶端發(fā)送目標(biāo)文件信息; 所述轉(zhuǎn)碼調(diào)度服務(wù)器,用于根據(jù)轉(zhuǎn)碼服務(wù)器的負(fù)荷調(diào)度轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼,并在轉(zhuǎn)碼成功后,通知轉(zhuǎn)碼任務(wù)管理服務(wù)器;所述轉(zhuǎn)碼服務(wù)器,用于根據(jù)轉(zhuǎn)碼調(diào)度服務(wù)器的調(diào)度執(zhí)行轉(zhuǎn)碼操作。
8.根據(jù)權(quán)利要求7所述的轉(zhuǎn)碼系統(tǒng),其特征在于,所述客戶端發(fā)送的轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息, 所述服務(wù)器端返回的目標(biāo)文件信息至少包括可提供目標(biāo)文件的地址, 所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,還用于維護(hù)被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系。
9.根據(jù)權(quán)利要求8所述的轉(zhuǎn)碼系統(tǒng),其特征在于, 所述轉(zhuǎn)碼任務(wù)管理服務(wù)器維護(hù)的被轉(zhuǎn)碼文件的文件內(nèi)容與轉(zhuǎn)碼后文件的文件內(nèi)容以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系具體為被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系, 所述轉(zhuǎn)碼任務(wù)管理服務(wù)器判斷服務(wù)器端是否已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件的步驟具體為服務(wù)器端根據(jù)所述轉(zhuǎn)碼請求中攜帶的待轉(zhuǎn)碼文件標(biāo)識或待轉(zhuǎn)碼文件內(nèi)容,以及目標(biāo)設(shè)備類型和/或目標(biāo)格式信息,獲取待轉(zhuǎn)碼文件的文件內(nèi)容的Hash以及所述轉(zhuǎn)碼請求對應(yīng)的輸出模式,再根據(jù)所述服務(wù)器端建立的被轉(zhuǎn)碼文件的文件內(nèi)容的Hash與轉(zhuǎn)碼后文件的文件內(nèi)容的Hash以及轉(zhuǎn)碼對應(yīng)的輸出模式的對應(yīng)關(guān)系,判斷是否存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件。
10.根據(jù)權(quán)利要求8所述的轉(zhuǎn)碼系統(tǒng),其特征在于, 所述轉(zhuǎn)碼任務(wù)管理服務(wù)器,還用于在判定服務(wù)器端不存在轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件、且轉(zhuǎn)碼請求攜帶的待轉(zhuǎn)碼文件標(biāo)識為待轉(zhuǎn)碼文件的URL地址時,將所述URL地址通過轉(zhuǎn)碼調(diào)度服務(wù)器轉(zhuǎn)給被調(diào)度的轉(zhuǎn)碼服務(wù)器;在判定服務(wù)器端不存在轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件、且轉(zhuǎn)碼請求攜帶待轉(zhuǎn)碼文件內(nèi)容時,通知轉(zhuǎn)碼調(diào)度服務(wù)器進(jìn)行轉(zhuǎn)碼服務(wù)器調(diào)度,之后通知客戶端將需要轉(zhuǎn)碼的文件內(nèi)容直接上傳到被調(diào)度的轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼, 所述轉(zhuǎn)碼服務(wù)器,還用于根據(jù)來自轉(zhuǎn)碼調(diào)度服務(wù)器的URL地址下載文件并進(jìn)行轉(zhuǎn)碼,或者,對客戶端上傳的文件內(nèi)容進(jìn)行轉(zhuǎn)碼。
全文摘要
本發(fā)明公開了一種轉(zhuǎn)碼方法,包括服務(wù)器端接收客戶端的轉(zhuǎn)碼請求,判定服務(wù)器端已存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則向客戶端返回所述目標(biāo)文件信息;判定服務(wù)器端不存在所述轉(zhuǎn)碼請求對應(yīng)的目標(biāo)文件,則服務(wù)器端執(zhí)行轉(zhuǎn)碼操作后,向客戶端返回轉(zhuǎn)碼得到的目標(biāo)文件信息。本發(fā)明還相應(yīng)地公開了一種轉(zhuǎn)碼系統(tǒng)。由于本發(fā)明在服務(wù)器端進(jìn)行轉(zhuǎn)碼,所以能夠節(jié)省客戶端資源;并且,客戶端發(fā)起轉(zhuǎn)碼請求后,如果服務(wù)器端存儲有客戶端請求的文件,可以立即向客戶端提供該文件,從而減少用戶等待時間,提高用戶體驗(yàn);并且,用戶不需要了解很多編碼的背景知識,便于操作;并且,本發(fā)明由服務(wù)器端提供轉(zhuǎn)碼的方式能夠?qū)崿F(xiàn)各種格式文件的共享。
文檔編號H04L29/06GK102882829SQ20111019249
公開日2013年1月16日 申請日期2011年7月11日 優(yōu)先權(quán)日2011年7月11日
發(fā)明者劉剛, 吳運(yùn)聲, 黃琰 申請人:騰訊科技(深圳)有限公司