專利名稱:視頻提供方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的各實(shí)施方式總體上涉及視頻領(lǐng)域,特別地,本發(fā)明的各實(shí)施方式涉及視頻提供方法和系統(tǒng)。
背景技術(shù):
MP4,全稱MPEG-4 Part 14,是一種使用MPEG-4的多媒體計(jì)算機(jī)文件格式,其擴(kuò)展名為.mp4,以儲(chǔ)存數(shù)字音頻及數(shù)字視頻為主。在實(shí)踐中,MP4文件經(jīng)常通過例如網(wǎng)站等內(nèi)容發(fā)布平臺(tái)向客戶端提供,并用于向各種客戶端(尤其是移動(dòng)設(shè)備客戶端)實(shí)時(shí)提供以進(jìn)行播放。 FLV,全稱為FLASH VIDEO,是一種隨著Flash MX的推出發(fā)展而來的視頻格式。由于它形成的文件極小、加載速度極快,從而使得網(wǎng)絡(luò)觀看視頻文件成為可能。它的出現(xiàn)有效地解決了視頻文件導(dǎo)入Flash后,導(dǎo)出的SWF文件體積龐大,不能在網(wǎng)絡(luò)上很好的使用等缺點(diǎn)。目前,許多視頻分享網(wǎng)站都采用此視頻格式,如搜狐視頻、新浪播客、六間房、56、優(yōu)酷、酷6、土豆,youtube等。FLV已經(jīng)成為了當(dāng)前視頻文件的主流格式。然而,由于移動(dòng)標(biāo)準(zhǔn)HTML5標(biāo)準(zhǔn)只支持MP4格式而并不支持FLV格式,因而FLV文件在移動(dòng)端(如android/ios平臺(tái)的瀏覽器)上無法使用。因此,目前的視頻分享網(wǎng)站大都是在服務(wù)器端提供FLV格式文件給桌面端以供通過flash player下載播放,同時(shí)提供MP4格式文件給移動(dòng)端以供如通過android/ios平臺(tái)的瀏覽器下載播放。這導(dǎo)致在服務(wù)器端需要針對同一視頻分別準(zhǔn)備FLV和MP4兩種格式的視頻文件以供不同客戶端下載使用,從而使得占用大量存儲(chǔ)空間,進(jìn)而導(dǎo)致視頻網(wǎng)站運(yùn)營成本的增加。因此,提供一種大幅度節(jié)省視頻存儲(chǔ)空間的視頻提供方法和系統(tǒng)具有良好的市場前景和可觀的市場價(jià)值。
發(fā)明內(nèi)容
本發(fā)明的示例性實(shí)施方式涉及視頻提供方法和系統(tǒng)。根據(jù)本發(fā)明的實(shí)施方式,公開了一種視頻提供方法,該視頻提供方法包括接收針對下載播放視頻的請求;根據(jù)請求判斷需要提供的視頻的格式;在需要提供FLV格式視頻的情況下,提供FLV格式視頻;以及在需要提供MP4格式視頻的情況下,利用FLV格式視頻和與該FLV格式視頻對應(yīng)的MP4文件頭部將該FLV格式視頻封裝為MP4格式視頻并提供該MP4格式視頻。優(yōu)選地,在該視頻提供方法中還包括在利用FLV格式視頻和與該FLV格式視頻對應(yīng)的MP4文件頭部將該FLV格式視頻封裝為MP4格式視頻之前,針對該FLV格式視頻生成與該FLV格式視頻對應(yīng)的MP4文件頭部。優(yōu)選地,在該視頻提供方法中還包括,根據(jù)請求驗(yàn)證是否提供該視頻。根據(jù)本發(fā)明的實(shí)施方式,還公開了一種視頻提供系統(tǒng),包括請求接收裝置,配置用于接收針對下載播放視頻的請求;視頻格式判斷裝置,配置用于根據(jù)請求判斷需要提供的視頻的格式;第一視頻傳送裝置,配置用于在需要提供FLV格式視頻的情況下,提供FLV格式視頻;MP4文件封裝裝置,配置用于在需要提供MP4格式視頻的情況下,利用FLV格式視頻和與該FLV格式視頻對應(yīng)的MP4文件頭部將該FLV格式視頻封裝為MP4格式視頻;以及第二視頻傳送裝置,配置用于提供該MP4格式視頻。 優(yōu)選地,在該視頻提供系統(tǒng)中,還包括MP4文件頭部生成裝置,配置用于針對FLV格式視頻生成與該FLV格式視頻對應(yīng)的MP4文件頭部。優(yōu)選地,在該視頻提供系統(tǒng)中,還包括驗(yàn)證裝置,配置用于根據(jù)請求驗(yàn)證是否提供視頻。本發(fā)明的優(yōu)點(diǎn)包括可以節(jié)省服務(wù)器端一半的視頻文件存儲(chǔ)空間。
結(jié)合附圖并參考以下詳細(xì)說明,本發(fā)明各實(shí)施方式的特征、優(yōu)點(diǎn)及其他方面將變得更加明顯,在此以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式。在附圖中圖I為根據(jù)本發(fā)明的示例性實(shí)施方式的視頻提供方法100的流程圖;圖2為根據(jù)本發(fā)明的示例性實(shí)施方式的視頻提供系統(tǒng)10的框圖;以及圖3為適于用來實(shí)踐本發(fā)明的示例性實(shí)施方式的計(jì)算機(jī)300的示意性框圖。
具體實(shí)施例方式以下參考附圖詳細(xì)描述本發(fā)明的各個(gè)示例性實(shí)施方式。附圖中的流程圖和框圖示出了根據(jù)本發(fā)明的各種實(shí)施方式的方法和系統(tǒng)的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。應(yīng)當(dāng)注意,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分可以包括一個(gè)或多個(gè)用于實(shí)現(xiàn)各個(gè)實(shí)施方式中所規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為備選的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以按照不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,或者它們有時(shí)也可以按照相反的順序執(zhí)行,這取決于所涉及的功能。同樣應(yīng)當(dāng)注意的是,流程圖和/或框圖中的每個(gè)方框、以及流程圖和/或框圖中的方框的組合,可以使用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以使用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。應(yīng)當(dāng)理解,給出這些示例性實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。在MP4文件中,文件的物理格式和媒體數(shù)據(jù)的排列均不受媒體的時(shí)間順序的控制,因此,MP4文件中具有非常重要的部分——頭部。MP4文件頭部中對該MP4的數(shù)據(jù)和播放信息進(jìn)行定義,所定義的對象包括但不限于媒體類型、媒體持續(xù)時(shí)間、引用的媒體軌道(track)以及音頻/視頻流等。可以針對已經(jīng)存在的包括音頻/視頻流的原始文件生成相應(yīng)的MP4文件頭部以用于將該原始文件封裝為MP4文件,因此,可以針對預(yù)先存在的FLV文件生成相應(yīng)的MP4文件頭部以將該FLV文件封裝為MP4文件。這樣,在視頻提供網(wǎng)站中針對一段視頻可以僅生成其相應(yīng)的FLV格式文件以及相應(yīng)的MP4文件頭部,并在需要以MP4格式提供該視頻時(shí)使用該FLV格式文件以及相應(yīng)的MP4文件頭部生成相應(yīng)的MP4格式文件以用于提供,而無需生成并同時(shí)存儲(chǔ)針對同一視頻的FLV和MP4兩種格式的文件。參照圖1,其為根據(jù)本發(fā)明的示例性實(shí)施方式的視頻提供方法100的流程圖。根據(jù)圖I所示,在步驟SlOl中,客戶端向服務(wù)器發(fā)出針對下載播放視頻的請求。根據(jù)本發(fā)明的各種示例性實(shí)施方式,客戶端通過通信網(wǎng)絡(luò)向服務(wù)器發(fā)出針對下載播放視頻的請求。本說明書中提及的通信網(wǎng)絡(luò)可以包括各類網(wǎng)絡(luò),包括但不限于局域網(wǎng)(“LAN”)、無線局域網(wǎng)(WLAN)、廣域網(wǎng)(“WAN”),根據(jù)IP協(xié)議的網(wǎng)絡(luò)(例如,因特網(wǎng))、公共交換電話網(wǎng)(PSTN)、端對端網(wǎng)絡(luò)(例如,ad hoc對等網(wǎng)絡(luò))以及其它無線網(wǎng)絡(luò)和可以用來互連信息操縱系統(tǒng)的任何其它網(wǎng)絡(luò)拓?fù)?。繼續(xù)參照圖I,根據(jù)本發(fā)明的某些示例性實(shí)施方式,在方法100中,還可以包括可選步驟S102。在步驟S102中,服務(wù)器對在步驟SlOl中從客戶端接收的請求進(jìn)行驗(yàn)證,當(dāng)驗(yàn) 證結(jié)果為允許客戶端下載播放該視頻時(shí),進(jìn)入步驟S103,否則方法100的過程結(jié)束。繼續(xù)參照圖1,在步驟S103中,服務(wù)器根據(jù)在步驟SlOl中由客戶端發(fā)送的請求判斷需要向客戶端傳送的該視頻的文件格式。當(dāng)判斷需要向客戶端提供MP4格式視頻時(shí),進(jìn)入步驟S104,當(dāng)判斷為需要向客戶端提供FLV格式視頻時(shí),進(jìn)入步驟S105。根據(jù)本發(fā)明的某些示例性實(shí)施方式,在步驟SlOl中由客戶端發(fā)送的請求中包括指示需要向客戶端傳送的該視頻的文件格式的信息,因而在步驟S103中,服務(wù)器根據(jù)該信息判斷需要向客戶端傳送的該視頻的文件格式。根據(jù)本發(fā)明的某些示例性實(shí)施方式,可以根據(jù)該客戶端的類型判斷需要向該客戶端傳送的該視頻的文件格式。一般而言,當(dāng)該客戶端為移動(dòng)客戶端時(shí),服務(wù)器向該客戶端傳送MP4格式的視頻文件,當(dāng)該客戶端為桌面客戶端,服務(wù)器向該客戶端傳送FLV格式的視頻文件。應(yīng)當(dāng)理解,也可以由客戶端在所發(fā)送的信息中指示需要服務(wù)器提供的文件格式,例如,桌面客戶端也可以在請求中指示需要服務(wù)器提供MP4格式的視頻文件。繼續(xù)參照圖1,在步驟S104中,服務(wù)器將與在步驟SlOl中由客戶端發(fā)送的請求下載播放的視頻對應(yīng)的FLV格式文件和與該視頻對應(yīng)的MP4文件頭部封裝成與該視頻對應(yīng)的MP4格式文件。其中,與該視頻對應(yīng)的MP4文件頭部可以是預(yù)先針對該FLV文件生成并存儲(chǔ)的,或者可以是在步驟S101、步驟S102、步驟S103中的任一步驟中或步驟之后針對該FLV文件生成的。繼續(xù)參照圖1,在步驟S105中,服務(wù)器按照在步驟SlOl中由客戶端發(fā)送的請求提供與該請求對應(yīng)的相應(yīng)格式的視頻以供客戶端下載播放。根據(jù)本發(fā)明的某些示例性實(shí)施方式,服務(wù)器可以采用包括但不限于HTTP和FTP之類的網(wǎng)絡(luò)傳輸協(xié)議通過通信網(wǎng)絡(luò)向客戶端傳送該視頻。以上參照圖I描述了根據(jù)本發(fā)明的示例性實(shí)施方式的視頻提供方法。應(yīng)當(dāng)理解,盡管按照特定順序(步驟S101、步驟S102、步驟S103、步驟S104、步驟S105)描述了該方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。例如,在某些實(shí)施方式中,可以加入針對FLV格式文件生成相應(yīng)的MP4文件頭部的步驟,并且該步驟與步驟S101、步驟S102或步驟S103可以按照任意順序執(zhí)行或者同時(shí)執(zhí)行,可以省略步驟S102,可以將步驟SlOl與步驟S102合并為一個(gè)步驟執(zhí)行,和/或?qū)⒉襟ES104分解為獲取對應(yīng)的MP4文件頭部的步驟S104a以及將FLV文件和該MP4文件頭部封裝成MP4文件的步驟S104b。參照圖2,其為根據(jù)本發(fā)明的示例性實(shí)施方式的視頻提供系統(tǒng)10的框圖。根據(jù)圖2所示,視頻提供系統(tǒng)10包括存儲(chǔ)裝置11、請求接收裝置12、視頻格式判斷裝置13、MP4文件頭部生成裝置14、MP4文件封裝裝置15和視頻傳送裝置16。其中,存儲(chǔ)裝置11配置用于存儲(chǔ)FLV格式視頻以及與該FLV格式視頻對應(yīng)的MP4文件頭部;請求接收裝置12配置用于從客戶端接收針對下載播放視頻的請求;視頻格式判斷裝置13配置用于根據(jù)在從客戶端接收的請求判斷需要向客戶端傳送的視頻的文件格式;MP4文件頭部生成裝置14配置用于針對FLV格式視頻生成與該FLV格式視頻對應(yīng)的MP4文件頭部;MP4文件封裝裝置15配置用于將與從客戶端接收的請求下載播放的視頻對應(yīng)的FLV格式視頻和與該FLV格式視頻對應(yīng)的MP4文件頭部封裝成與該視頻對應(yīng)的MP4格式視頻;視頻傳送裝置16配置用于按照從客戶端接收的請求提供與該請求對應(yīng)的相應(yīng)格式的視頻以供客戶端 下載播放。本領(lǐng)域技術(shù)人員可以理解,存儲(chǔ)裝置11可以位于視頻提供系統(tǒng)10中或者視頻提供系統(tǒng)10以外,其實(shí)現(xiàn)的功能為存儲(chǔ)FLV格式視頻、與該FLV格式視頻對應(yīng)的MP4文件頭部以及可能地存儲(chǔ)封裝之后的MP4格式視頻,無論其是否位于視頻提供系統(tǒng)10中,均不影響本發(fā)明的視頻提供系統(tǒng)10的正常運(yùn)作。繼續(xù)參照圖2,根據(jù)本發(fā)明的某些示例性實(shí)施方式,視頻提供系統(tǒng)10還可以包括可選的驗(yàn)證裝置17,其配置用于對從客戶端接收的請求進(jìn)行驗(yàn)證,當(dāng)驗(yàn)證結(jié)果為允許傳送該視頻以供客戶端下載播放時(shí)允許視頻格式判斷裝置13、MP4文件頭部生成裝置14、MP4文件封裝裝置15和視頻傳送裝置16進(jìn)行后續(xù)操作,否則禁止視頻格式判斷裝置13、MP4文件頭部生成裝置14、MP4文件封裝裝置15和視頻傳送裝置16進(jìn)行后續(xù)操作。請求接收裝置12、視頻格式判斷裝置13、MP4文件頭部生成裝置14、MP4文件封裝裝置15、視頻傳送裝置16以及驗(yàn)證裝置17的操作方式與以上關(guān)于視頻提供方法所描述的類似,在此不再贅述。應(yīng)當(dāng)注意,本發(fā)明的示例性實(shí)施方式可以通過硬件、軟件或者軟件和硬件的結(jié)合來實(shí)現(xiàn)。其中,硬件部分可以利用專用邏輯來實(shí)現(xiàn);軟件部分則可以存儲(chǔ)在存儲(chǔ)器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專用設(shè)計(jì)硬件來執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的方法和系統(tǒng)可以使用計(jì)算機(jī)可執(zhí)行指令和/或包含在處理器控制代碼中來實(shí)現(xiàn),例如在諸如磁盤、CD或DVD-ROM的載體介質(zhì)、諸如只讀存儲(chǔ)器(固件)的可編程的存儲(chǔ)器或者諸如光學(xué)或電子信號(hào)載體的數(shù)據(jù)載體上提供了這樣的代碼。本發(fā)明的系統(tǒng)及其模塊不僅可以由諸如超大規(guī)模集成電路或門陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場可編程門陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用例如由各種類型的處理器所執(zhí)行的軟件實(shí)現(xiàn),還可以由上述硬件電路和軟件的結(jié)合(例如固件)來實(shí)現(xiàn)。應(yīng)當(dāng)注意,盡管在上文的詳細(xì)描述中提及了系統(tǒng)的若干裝置或子裝置,但是這種劃分僅僅是示例性而非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的示例性實(shí)施方式,上文描述的兩個(gè)或更多裝置的特征和功能可以在一個(gè)裝置中具體化,例如可以將請求接收裝置12和視頻格式判斷裝置13結(jié)合為一個(gè)處理裝置以實(shí)現(xiàn)相同的功能。反之,上文描述的一個(gè)裝置的特征和功能可以進(jìn)一步劃分為由多個(gè)裝置來具體化,例如可以將MP4文件封裝裝置15劃分為用于獲取對應(yīng)的MP4文件頭部的MP4文件頭部獲取裝置15a和用于封裝成MP4格式視頻的封裝裝置15b。再次,例如可以將視頻傳送裝置16劃分為用于傳送FLV格式視頻的第一視頻傳送裝置16a以及用于傳送封裝成的MP4格式視頻的第二視頻傳送裝置16b。下面參考圖3,其示出了適于用來實(shí)踐本發(fā)明的實(shí)施方式的計(jì)算機(jī)系統(tǒng)300的示意性框圖。如圖3中所示,計(jì)算機(jī)系統(tǒng)300可以包括CPU(中央處理單元)301、RAM (隨機(jī)存取存儲(chǔ)器)302、ROM (只讀存儲(chǔ)器)303、系統(tǒng)總線304、硬盤控制器305、鍵盤控制器306、串行接口控制器307、并行接口控制器308、顯示控制器309、硬盤310、鍵盤311、串行外部設(shè)備312、并行外部設(shè)備313和顯示器314。在這些設(shè)備中,與系統(tǒng)總線304耦合的有CPU301、RAM 302、ROM 303、硬盤控制器305、鍵盤控制器306、串行控制器307、并行控制器308和顯示控制器309。硬盤310與硬盤控制器305耦合,鍵盤311與鍵盤控制器306耦合,串行外部設(shè)備312與串行接口控制器307耦合,并行外部設(shè)備313與并行接口控制器308耦 合,以及顯示器314與顯示控制器309耦合。應(yīng)當(dāng)理解,圖3所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。雖然已經(jīng)參考若干具體實(shí)施方式
描述了本發(fā)明,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實(shí)施方式
。本發(fā)明旨在涵蓋在所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。
權(quán)利要求
1.一種視頻提供方法,其特征在于包括 接收針對下載播放視頻的請求; 根據(jù)所述請求判斷需要提供的所述視頻的格式; 在需要提供FLV格式視頻的情況下,提供所述FLV格式視頻;以及在需要提供MP4格式視頻的情況下,利用所述FLV格式視頻和與所述FLV格式視頻對應(yīng)的MP4文件頭部將所述FLV格式視頻封裝為MP4格式視頻并提供所述MP4格式視頻。
2.根據(jù)權(quán)利要求I所述的視頻提供方法,其特征在于包括在利用所述FLV格式視頻和與所述FLV格式視頻對應(yīng)的所述MP4文件頭部將所述FLV格式視頻封裝為所述MP4格式視頻之前,針對所述FLV格式視頻生成與所述FLV格式視頻對應(yīng)的所述MP4文件頭部。
3.根據(jù)權(quán)利要求I或2所述的視頻提供方法,其特征在于包括根據(jù)所述請求驗(yàn)證是否提供所述視頻。
4.一種視頻提供系統(tǒng),其特征在于包括 請求接收裝置,配置用于接收針對下載播放視頻的請求; 視頻格式判斷裝置,配置用于根據(jù)所述請求判斷需要提供的所述視頻的格式; 第一視頻傳送裝置,配置用于在需要提供FLV格式視頻的情況下,提供所述FLV格式視頻; MP4文件封裝裝置,配置用于在需要提供MP4格式視頻的情況下,利用所述FLV格式視頻和與所述FLV格式視頻對應(yīng)的MP4文件頭部將所述FLV格式視頻封裝為MP4格式視頻;以及 第二視頻傳送裝置,配置用于提供所述MP4格式視頻。
5.根據(jù)權(quán)利要求4所述的視頻提供系統(tǒng),其特征在于,還包括MP4文件頭部生成裝置,配置用于針對所述FLV格式視頻生成與所述FLV格式視頻對應(yīng)的所述MP4文件頭部。
6.根據(jù)權(quán)利要求4或5所述的視頻提供系統(tǒng),其特征在于,還包括驗(yàn)證裝置,配置用于根據(jù)所述請求驗(yàn)證是否提供所述視頻。
全文摘要
本發(fā)明涉及視頻提供方法和系統(tǒng)。視頻提供方法包括接收針對下載播放視頻的請求;根據(jù)該請求判斷需要提供的視頻的格式;當(dāng)需要提供FLV格式視頻時(shí),提供FLV格式視頻;以及當(dāng)需要提供MP4格式視頻時(shí),利用該FLV格式視頻和與該FLV格式視頻對應(yīng)的MP4文件頭部將該FLV格式視頻封裝為MP4格式視頻并提供該MP4格式視頻。視頻提供系統(tǒng)包括請求接收裝置、視頻格式判斷裝置、第一視頻傳送裝置、MP4文件封裝裝置以及第二視頻傳送裝置。
文檔編號(hào)H04N21/643GK102883189SQ20121040113
公開日2013年1月16日 申請日期2012年10月16日 優(yōu)先權(quán)日2012年10月16日
發(fā)明者葉遠(yuǎn)清, 彭浩崇 申請人:北京千橡網(wǎng)景科技發(fā)展有限公司