国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種視頻文件生成方法及系統(tǒng)的制作方法

      文檔序號:7894570閱讀:124來源:國知局
      專利名稱:一種視頻文件生成方法及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本申請屬于多媒體數(shù)據(jù)處理的技術(shù)領(lǐng)域,特別是一種視頻文件生成方法及系統(tǒng)。
      背景技術(shù)
      如圖I所示,現(xiàn)有技術(shù)中生成某一格式視頻文件的流程為在步驟SlOl中,原始視頻編碼器將視頻流寫入H. 264原始視頻碼流文件;在步驟S102中,某視頻文件格式的編碼器讀取H. 264原始視頻碼流文件,將視頻數(shù)據(jù)寫入該格式的視頻文件;在步驟S103中,待生成視頻文件格式的解碼器讀取上述視頻文件,將讀取的視頻數(shù)據(jù)寫入內(nèi)存;在步驟S104中,待生成視頻文件格式的編碼器從內(nèi)存中讀取視頻數(shù)據(jù),將其寫入待生成格式的視頻文件。由上述流程可以看出,當(dāng)要生成多種視頻文件格式的視頻文件時,首先生成出一種格式的視頻流并寫入文件,然后讀取此文件進行解碼,用另外ー種格式編碼并再次寫入文件。如果需要生成多種視頻文件格式,則需要根據(jù)要生成的視頻文件格式多次執(zhí)行讀取文件、寫入文件以及解碼編碼的過程,在讀取文件、寫入文件以及解碼編碼過程中CPU的消耗成倍増加,導(dǎo)致視頻文件生成的效率較低。因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的ー個技術(shù)問題就是如何改進現(xiàn)有多格式視頻文件的生成方式,以降低CPU的消耗,提高視頻生成的效率。

      發(fā)明內(nèi)容
      本申請實施例提供一種視頻文件生成方法,解決現(xiàn)有生成多種格式視頻文件時CPU的消耗較大,生成效率低下的問題。本申請還提供了一種視頻文件生成系統(tǒng),用以保證上述方法在實際中的應(yīng)用及實現(xiàn)。本申請實施例公開了ー種視頻文件生成方法,所述方法包括下述步驟獲取原始視頻碼流;將所述原始視頻碼流分割成原始視頻幀,各原始視頻幀分別具有對應(yīng)的時間戳;將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件。優(yōu)選的是,所述原始視頻碼流為H. 264碼流。優(yōu)選的是,所述獲取原始視頻碼流的步驟包括生成H. 264碼流并寫入內(nèi)存;從內(nèi)存中讀取所述H. 264碼流。優(yōu)選的是,所述將所述原始視頻碼流分割成原始視頻幀的步驟包括
      識別所述原始視頻碼流中每視頻幀之間的分隔符;按照所述分隔符將所述原始視頻碼流分割成原始視頻幀。
      優(yōu)選的是,所述將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件的步驟包括從所述原始視頻碼流中讀取視頻基本信息,按照待生成視頻格式將所述視頻基本信息寫入所述待生成視頻格式文件的文件頭;按照時間戳的順序?qū)⒏髟家曨l幀寫入所述待生成視頻格式文件;各原始視頻幀寫入結(jié)束后,寫入所述待生成視頻格式文件的文件尾。優(yōu)選的是,所述視頻基本信息包括原始視頻編碼器 版本的字段,以及視頻的碼率、長寬。優(yōu)選的是,所述待生成視頻格式文件的格式包括avi格式,mkv格式,ts格式,mov格式,Qt格式,mp4格式。本申請實施例同時還公開ー種視頻文件生成系統(tǒng),所述系統(tǒng)包括原始視頻碼流獲取單元,用于獲取原始視頻碼流;視頻碼流分割単元,用于將所述原始視頻碼流分割成原始視頻幀,各原始視頻幀分別具有對應(yīng)的時間戳;以及視頻文件生成単元,用于將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件。優(yōu)選的是,所述原始視頻碼流為H. 264碼流。優(yōu)選的是,所述原始視頻碼流獲取單元包括原始視頻編碼器,用于生成H. 264碼流并寫入內(nèi)存;以及原始視頻碼流讀取模塊,用于從內(nèi)存中讀取所述H. 264碼流。優(yōu)選的是,所述視頻碼流分割単元包括分隔符識別模塊,用于識別所述原始視頻碼流中每視頻幀之間的分隔符;以及碼流分割模塊,用于按照所述分隔符將所述原始視頻碼流分割成原始視頻幀。優(yōu)選的是,所述視頻文件生成單元包括視頻文件頭寫入模塊,用于從所述原始視頻碼流中讀取視頻基本信息,按照待生成視頻格式將所述視頻基本信息寫入所述待生成視頻格式文件的文件頭;視頻幀寫入模塊,用于按照時間戳的順序?qū)⒏髟家曨l幀寫入所述待生成視頻格式文件;視頻文件尾寫入模塊,用于各原始視頻幀寫入結(jié)束后,寫入所述待生成視頻格式文件的文件尾。優(yōu)選的是,所述視頻基本信息包括原始視頻編碼器版本的字段,以及視頻的碼率、長寬。優(yōu)選的是,所述待生成視頻格式文件的格式包括avi格式,mkv格式,ts格式,mov格式,Qt格式,mp4格式。與現(xiàn)有技術(shù)相比,本申請具有以下優(yōu)點本申請實施例通過將原始視頻碼流分割后,封裝成需要生成的視頻文件格式,只需要一次編碼就可以同步生成多個格式的視頻文件,每增加一個視頻文件格式,僅需要多寫入一次文件,避免了不必要的編碼和解碼,降低了 CPU的損耗,使得多格式視頻文件的生成效率得到了很大提高。


      圖I是現(xiàn)有技術(shù)提供的視頻文件生成方法的實現(xiàn)流程圖;圖2是本申請實施例提供的視頻文件生成方法的實現(xiàn)流程圖;圖3是本申請實施例提供的原始視頻碼流分割的實現(xiàn)流程圖;圖4是本申請實施例中提供的待生成視頻格式文件封裝的實現(xiàn)流程圖;圖5是本申請實施例提供的視頻文件生成系統(tǒng)的結(jié)構(gòu)圖;圖6是本申請實施例提供的視頻文件生成系統(tǒng)中原始視頻碼流獲取單元的結(jié)構(gòu)圖;
      圖7是本申請實施例提供的視頻文件生成系統(tǒng)中視頻碼流分割単元的結(jié)構(gòu)圖;圖8是本申請實施例提供的視頻文件生成系統(tǒng)中視頻文件生成単元的結(jié)構(gòu)圖。
      具體實施例方式為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
      對本申請作進一步詳細的說明。本申請實施例的核心構(gòu)思之ー在于,將原始視頻碼流分割后,按照待生成的視頻文件格式進行封裝,同步生成多個格式的視頻文件,大幅度提高多格式視頻文件的生成效率。圖2示出了本申請實施例提供的視頻文件生成方法的實現(xiàn)流程,詳述如下在步驟S201中,獲取原始視頻碼流;在本申請實施例中,原始視頻碼流為H. 264碼流。作為本申請的ー個實施例,獲取原始視頻碼流時,首先生成H. 264碼流并寫入內(nèi)存,然后從內(nèi)存中讀取H. 264碼流,以對原始視頻碼流進行后續(xù)處理。這樣,原始視頻碼流僅在內(nèi)存保留一次,可以降低系統(tǒng)損耗。 在步驟S202中,將原始視頻碼流分割成原始視頻幀,各原始視頻幀具有對應(yīng)的時間戳;在步驟S203中,將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件。在本申請實施例中,為了確保生成的視頻文件解碼播放的時間正確性,在封裝時將原始視頻幀和對應(yīng)的時間戳一起封裝。作為本申請的ー個實施例,由于原始視頻碼流中每幀之間有分隔符,分割時按照分隔符來作分割。圖3示出了本申請實施例提供的原始視頻碼流分割的實現(xiàn)流程,詳述如下在步驟S301中,識別原始視頻碼流中每視頻幀之間的分隔符;在步驟S302中,按照分隔符將原始視頻碼流分割成原始視頻幀。圖4示出了本申請實施例中提供的待生成視頻格式文件封裝的實現(xiàn)流程,詳述如下在步驟S401中,從原始視頻碼流中讀取視頻基本信息,按照待生成視頻格式將視頻基本信息寫入待生成視頻格式文件的文件頭;在本申請實施例中,視頻基本信息為原始視頻編碼器版本的字段,以及視頻的碼率、長寬等信息。在步驟S402中,按照時間戳的順序?qū)⒏髟家曨l幀寫入待生成視頻格式文件;在步驟S403中,各原始視頻幀寫入結(jié)束后,寫入待生成視頻格式文件的文件尾。在本申請實施例中,待生成視頻格式文件的視頻格式可以為avi格式、mkv格式、ts格式、mov格式、qt格式,或者mp4格式等。由上述可知,通過本申請實施例的方法,只需要一次編碼就可以同步生成多個格 式的視頻文件,每增加一個視頻文件格式,僅需要多寫入一次文件即可,避免了不必要的編碼和解碼。以下對各種視頻格式文件的封裝細節(jié)進行分析。其中,斜體部分為視頻幀,前面為視頻文件頭,后面為視頻文件尾。avi的結(jié)構(gòu)為RIFF頭,RIFF列表I, RIFF列表2 (子列表,子列表...)其中,媒體流格式的RIFF列表中,有ー個RIFF子列表,保存了原始視頻編碼器版本的字段以及視頻的長寬等信息。保存媒體流數(shù)據(jù)的RIFF列表中有多個RIFF子列表,分別包含原始視頻碼流中的姆ー巾貞,以及姆ー巾貞的時間戳。Mkv的結(jié)構(gòu)為EBML, Segment(Track(Video(Block, Block.)))其中,EBML為MKV的文件頭,Segment段里面包含了所有數(shù)據(jù),數(shù)據(jù)中保存了 Track段的息。Video段中保存了原始視頻編碼器版本的字段以及視頻的長寬等信息,以及多個Block,姆ー個Block分別包含原始視頻碼流中的姆ー巾貞,以及姆ー巾貞的時間戳。ts的結(jié)構(gòu)為ts包括了兩種類型的數(shù)據(jù)段PSI和PES。結(jié)構(gòu)為PSI,PES, PES.PSI為文件頭,其中定義了原始視頻編碼器版本的字段以及視頻的長寬等信息。接下來的每ー個PES分別包含原始視頻碼流中的每ー幀,以及每一幀的時間戳。mov、qt、mp4均是采用相同的QuickTime文件格式。其結(jié)構(gòu)為ftyp段,mdat 段,moov 段(trak 段(mdia 段(stbl 段,stbl 段…)))其中,ftyp段為文件頭。Mdat段中定義了隨后moov段中的視頻信息,包括原始視頻編碼器版本的字段以及視頻的長寬等信息。Moov段為視頻數(shù)據(jù)段,其中包含了 trak段。Trak 段中包含了 media 段。Media段中為多個stbl段,每個stbl段分別包含原始視頻碼流中的每ー幀,以及姆ー巾貞的時間戳。需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本申請所必須的。圖5示出了本申請實施例提供的視頻文件生成的裝置的結(jié)構(gòu),為了便于說明,僅示出了與本申請實施例相關(guān)的部分。原始視頻碼流獲取單元11獲取原始視頻碼流。
      在本申請實施例中,原始視頻碼流為H. 264碼流。如圖6所示,作為本申請的ー個實施例,原始視頻碼流獲取單元11獲取原始視頻碼流吋,原始視頻編碼器111生成H. 264碼流并寫入內(nèi)存。原始視頻碼流讀取模塊112從內(nèi)存中讀取H. 264碼流。這樣,原始視頻碼流僅在內(nèi)存保留一次,可以降低系統(tǒng)損耗。視頻碼流分割単元12將所述原始視頻碼流分割成原始視頻幀,各原始視頻幀分別具有對應(yīng)的時間戳。作為本申請的ー個實施例,由于原始視頻碼流中每幀之間有分隔符,分割時按照分隔符來作分割。如圖7所示,分隔符識別模塊121識別原始視頻碼流中每視頻幀之間的分隔符。碼流分割模塊122按照分隔符將原始視頻碼流分割成原始視頻幀。視頻文件生成単元13將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件。作為本申請的ー個實施例,如圖8所示,在封裝時,視頻文件頭寫入模塊131從原始視頻碼流中讀取視頻基本信息,按照待生成視頻格式將視頻基本信息寫入待生成視頻格式文件的文件頭。視頻幀寫入模塊132按照時間戳的順序?qū)⒏髟家曨l幀寫入待生成視頻格式文件。視頻文件尾寫入模塊133在原始視頻幀寫入結(jié)束后,寫入待生成視頻格式文件的文件尾。在本申請實施例中,視頻基本信息為原始視頻編碼器版本的字段,以及視頻的碼率、長寬等信息。在本申請實施例中,待生成視頻格式文件的視頻格式可以為avi格式、mkv格式、ts格式、mov格式、qt格式,或者mp4格式等。在本申請實施例中,對各種格式視頻幀的封裝細節(jié)如上所述,不再贅述。視頻文件尾寫入模塊133在原始視頻幀全部寫入結(jié)束后,寫入待生成視頻文件格式的視頻文件尾。本申請實施例通過將原始視頻碼流分割后,封裝成需要生成的視頻文件格式,只需要一次編碼就可以同步生成多個格式的視頻文件,每增加一個視頻文件格式,僅需要多寫入一次文件,避免了不必要的編碼和解碼,降低了 CPU的損耗,使得多格式視頻文件的生成效率得到了很大提高。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
      以上對本申請所提供的一種視頻文件生成方法及系統(tǒng)進行了詳細介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式
      及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
      權(quán)利要求
      1.一種視頻文件生成方法,其特征在于,所述方法包括 獲取原始視頻碼流; 將所述原始視頻碼流分割成原始視頻幀,各原始視頻幀分別具有對應(yīng)的時間戳; 將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件。
      2.如權(quán)利要求I所述的視頻文件生成方法,其特征在于,所述原始視頻碼流為H.264碼流。
      3.如權(quán)利要求2所述的視頻文件生成方法,其特征在于,所述獲取原始視頻碼流的步驟包括 生成H. 264碼流并寫入內(nèi)存; 從內(nèi)存中讀取所述H. 264碼流。
      4.如權(quán)利要求I或2所述的視頻文件生成方法,其特征在于,所述將所述原始視頻碼流分割成原始視頻幀的步驟包括 識別所述原始視頻碼流中每視頻幀之間的分隔符; 按照所述分隔符將所述原始視頻碼流分割成原始視頻幀。
      5.如權(quán)利要求I所述的視頻文件生成方法,其特征在于,所述將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件的步驟包括 從所述原始視頻碼流中讀取視頻基本信息,按照待生成視頻格式將所述視頻基本信息寫入所述待生成視頻格式文件的文件頭; 按照時間戳的順序?qū)⒏髟家曨l幀寫入所述待生成視頻格式文件; 各原始視頻幀寫入結(jié)束后,寫入所述待生成視頻格式文件的文件尾。
      6.如權(quán)利要求5所述的視頻文件生成方法,其特征在干,所述視頻基本信息包括原始視頻編碼器版本的字段,以及視頻的碼率、長寬。
      7.如權(quán)利要求I、2或3所述的視頻文件生成方法,其特征在于,所述待生成視頻格式文件的格式包括avi格式,mkv格式,ts格式,mov格式,qt格式,mp4格式。
      8.一種視頻文件生成系統(tǒng),其特征在于,所述系統(tǒng)包括 原始視頻碼流獲取單元,用于獲取原始視頻碼流; 視頻碼流分割単元,用于將所述原始視頻碼流分割成原始視頻幀,各原始視頻幀分別具有對應(yīng)的時間戳;以及 視頻文件生成単元,用于將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件。
      9.如權(quán)利要求8所述的視頻文件生成系統(tǒng),其特征在于,所述原始視頻碼流為H.264碼流。
      10.如權(quán)利要求9所述的視頻文件生成系統(tǒng),其特征在于,所述原始視頻碼流獲取單元包括 原始視頻編碼器,用于生成札264碼流并寫入內(nèi)存;以及 原始視頻碼流讀取模塊,用于從內(nèi)存中讀取所述札264碼流。
      11.如權(quán)利要求8或9所述的視頻文件生成系統(tǒng),其特征在于,所述視頻碼流分割単元包括 分隔符識別模塊,用于識別所述原始視頻碼流中每視頻幀之間的分隔符;以及碼流分割模塊,用于按照所述分隔符將所述原始視頻碼流分割成原始視頻幀。
      12.如權(quán)利要求 8所述的視頻文件生成系統(tǒng),其特征在干,所述視頻文件生成単元包括 視頻文件頭寫入模塊,用于從所述原始視頻碼流中讀取視頻基本信息,按照待生成視頻格式將所述視頻基本信息寫入所述待生成視頻格式文件的文件頭; 視頻幀寫入模塊,用于按照時間戳的順序?qū)⒏髟家曨l幀寫入所述待生成視頻格式文件;以及, 視頻文件尾寫入模塊,用于各原始視頻幀寫入結(jié)束后,寫入所述待生成視頻格式文件的文件尾。
      全文摘要
      本申請?zhí)峁┝艘环N視頻文件生成方法及系統(tǒng),其中,所述方法包括下述步驟獲取原始視頻碼流;將所述原始視頻碼流分割成原始視頻幀,各原始視頻幀分別具有對應(yīng)的時間戳;將各原始視頻幀以及對應(yīng)的時間戳封裝為待生成視頻格式文件。本申請可以同步生成多種格式的視頻文件,避免了不必要的編碼和解碼,降低了CPU的損耗,使得多格式視頻的生成效率得到了很大提高。
      文檔編號H04N7/24GK102647584SQ201210126788
      公開日2012年8月22日 申請日期2012年4月26日 優(yōu)先權(quán)日2012年4月26日
      發(fā)明者劉志聰, 葉榮華, 謝然 申請人:廣州盈可視電子科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1