国产精品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>

      視頻超快速粗編方法

      文檔序號:7550112閱讀:514來源:國知局
      專利名稱:視頻超快速粗編方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及視頻粗編方法,尤其涉及視頻超快速粗編方法。
      背景技術(shù)
      一般而言,針對高清影片,在不改變原文件ES碼流及圖面質(zhì)量的情況下,對影片的音視頻合并及拆分可包括例如:添加新內(nèi)容、刪除部分影片數(shù)據(jù)等。然而,對不同媒體文件的拼接和拆分依然存在諸多挑戰(zhàn),存在對媒體文件的無縫拼接和拆分的需求。

      發(fā)明內(nèi)容
      提供本發(fā)明內(nèi)容是為了以精簡的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。本發(fā)明提供了視頻超快速粗編方法。該方法包括用于媒體文件拼接的方法和用于媒體文件拆分的方法。其中,用于媒體文件拼接的方法包括,以媒體文件中指定時(shí)間附近的最近關(guān)鍵幀為切入或切出點(diǎn),對多個(gè)片段(segment)進(jìn)行系統(tǒng)層拼接,并將拼接后的文件輸出到指定目錄。其中,片段可來自于不同文件,但是只有文件屬性相同的文件才能夠拼接,否則編輯模塊會把錯(cuò)誤上報(bào)。本發(fā)明支持以下系統(tǒng)層的拼接,但并不局限于此:傳輸系統(tǒng)(TransportSystem, TS)、Mpeg4系統(tǒng)(MP4)、節(jié)目系統(tǒng)(Program System, PS)。并且,本發(fā)明支持以下的文件格式:MPEG-2/TS、MPEG-4Partsl, 14&15、3GPP、MOV、ASF、GXF, MXF,支持以下的視頻格式:MPEG-2、MPEG-4AVC (H.264)、VC_l/WMV9、Mpeg-4Part2、H.263,并支持以下的音頻格式;MPEG-1、MPEG-2、MPEG-2AAC, AAC-Plus (MPEG-4AAC)、HE-AAC, PCM、WMA, AC3、Dolby E。用于媒體文件拆分的方法包括,將一個(gè)完整的媒體文件(例如,音視頻文件)按照給定的時(shí)間點(diǎn)拆分為一個(gè)一個(gè)的片段,并將各個(gè)片段輸出到指定目錄。


      圖1描述了根據(jù)本發(fā)明的實(shí)施例的用于拼接媒體文件的方法的流程圖100。圖2描述了根據(jù)本發(fā)明的實(shí)施例的用于創(chuàng)建TS流的方法200。圖3描述了根據(jù)本發(fā)明的實(shí)施例的用于創(chuàng)建MP4流的方法300。圖4描述了根據(jù)本發(fā)明的實(shí)施例的用于創(chuàng)建PS流的方法400。圖5描述了用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的系統(tǒng)框架500。
      具體實(shí)施例方式
      各實(shí)施例涉及視頻超快速粗編方法。根據(jù)該方法,依據(jù)設(shè)定的片段的時(shí)間點(diǎn)信息,從媒體文件中抽取出相關(guān)的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù),然后再使用這些視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)創(chuàng)建出媒體流。創(chuàng)建出來的媒體流能夠在個(gè)人電腦和機(jī)頂盒中的媒體播放器中正常播放,并且相鄰兩個(gè)片段的接頭處過渡流暢,沒有馬賽克。同時(shí),創(chuàng)建出來的媒體流滿足系統(tǒng)層的一般標(biāo)準(zhǔn)。例如,針對TS的標(biāo)準(zhǔn)為國際標(biāo)準(zhǔn)IS0&IEC13818-UETR290,針對MP4的標(biāo)準(zhǔn)為(N4270-1) ISO媒體文件格式規(guī)范,針對PS的標(biāo)準(zhǔn)為國際標(biāo)準(zhǔn)IS0&IEC13818-1。以下參考圖1,圖1描述了用于拼接媒體文件的方法的流程圖100。在步驟102,根據(jù)設(shè)定的時(shí)間點(diǎn)來定位一個(gè)或多個(gè)媒體文件中的片段。在本發(fā)明中,媒體文件的類型可包括但不限于,TS文件、MP4文件和PS文件。以下簡要描述下對上述幾種類型的媒體文件的一般要求,以下要求僅為示例性而非限制。對TS文件的要求1、傳輸流(Transport Stream)的要求:1.傳輸流只能傳輸一個(gè)節(jié)目,即:僅支持單路傳輸流SPTS,不支持多路傳輸流MPTS。 傳輸流必須由長度為188字節(jié)的包組成。ii1.傳輸流必須由一個(gè)完整傳輸包開始,并且包含整數(shù)個(gè)傳輸包。iv.傳輸流中的內(nèi)容不能被加密或者被加擾。V.僅支持節(jié)目關(guān)聯(lián)表(PAT)包含在一個(gè)傳輸包中,不支持PAT跨多個(gè)傳輸包;僅支持節(jié)目映射表(PMT)包含在一個(gè)傳輸包中,不支持PMT跨多個(gè)傳輸包。v1.在傳輸流中,節(jié)目關(guān)聯(lián)表PAT必須出現(xiàn)在任何該節(jié)目的節(jié)目映射表PMT之前。

      vi1.在傳輸流中,節(jié)目映射表PMT必須位于任何該節(jié)目的數(shù)據(jù)或視頻包之前。vii1.節(jié)目映射表PMT必須標(biāo)識該節(jié)目所需要的所有PID (分包標(biāo)識符)。ix.一個(gè)節(jié)目可以包含一個(gè)視頻流和不多于四個(gè)(< 4)的音頻流,不能包含字幕流。X.節(jié)目參考時(shí)鐘(PCR)的PID必須與節(jié)目視頻流的PID —致。x1.傳輸流中的時(shí)間戳必須正確。如果傳輸流中的時(shí)間戳有問題,不修正時(shí)間戳信
      肩、O2.基本流(Elementary Stream)的要求1.支持的視頻編譯碼器和音頻編譯碼器為: 視頻編譯碼器:]\^^8-2¥1(^0和!1.264。其中,H.264: V B幀圖像不能被I幀和P幀圖像參考,只能被其他B幀圖像參考。V 比特流中需包含有 access_unit_delimiter_rbsp O。 音頻編譯碼器=Mpeg-1音頻層II和Dolby AC-3。ii節(jié)目中的每個(gè)流必須由完整的訪問單元邊界(access unit boundary)開始并且包含整數(shù)個(gè)訪問單元。ii1.節(jié)目中的視頻流和音頻流必須符合T-STD緩沖模型。iv.對視頻流的要求:.一個(gè)傳輸包只能包含來自一個(gè)打包基本流(PES )的數(shù)據(jù)。 每個(gè)PES包只能且必須包含一個(gè)完整的視頻幀,或者是一個(gè)完整的視頻域。V.對音頻流的要求:.一個(gè)傳輸包只能包含來自一個(gè)打包基本流(PES )的數(shù)據(jù)。 每個(gè)PES包只能且必須包含一個(gè)或者多個(gè)完整的音頻幀。
      二、對MP4文件的要求1、支持的視頻編譯碼器和音頻編譯碼器為: 視頻編譯碼器:]\^^8-4¥1(^0和!1.264。其中,H.264:.B幀圖像不能被I幀和P幀圖像參考,只能被其他B幀圖像參考。.比特流中需包含有 access_unit_delimiter_rbsp O。 音頻編譯碼器=Mpeg-1音頻層II和AAC。三、對PS文件 的要求1、支持的視頻編譯碼器和音頻編譯碼器為: 視頻編譯碼器:]\^^8-2¥1(^0和!1.264。其中,H.264:.B幀圖像不能被I幀和P幀圖像參考,只能被其他B幀圖像參考。.比特流中需包含有 access_unit_delimiter_rbsp O。 音頻編譯碼器=Mpeg-1音頻層II和Dolby AC-3。在步驟104,從所定位的片段中提取視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)。在粗編時(shí),一般以視頻GOP (畫面組)為基本的處理單元,一個(gè)片段中包含整數(shù)個(gè)G0P。在一個(gè)實(shí)施例中,可以使用有限狀態(tài)機(jī)來從媒體流中提取視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)。根據(jù)一實(shí)施例,由于通常人們對圖像的敏感度高于對聲音的敏感度,因此兩個(gè)片段過渡處的視頻DTS (DecodingTime-Stamp,解碼時(shí)間戳)需要保持連續(xù)。針對一個(gè)片段而言,在找到起始視頻數(shù)據(jù)后,才開始尋找音頻數(shù)據(jù),并且在找到尾部視頻數(shù)據(jù)后,才停止尋找音頻數(shù)據(jù),使得視頻數(shù)據(jù)的持續(xù)時(shí)間大于等于音頻數(shù)據(jù)的持續(xù)時(shí)間。并且,后一個(gè)片段的起始音頻數(shù)據(jù)的時(shí)間戳需要大于等于前一個(gè)片段的尾部音頻數(shù)據(jù)的時(shí)間戳和尾部音頻數(shù)據(jù)的持續(xù)時(shí)間之和。根據(jù)一實(shí)施例,如果所提取的ES數(shù)據(jù)是H.264ES數(shù)據(jù),那么還需修正H.264ES數(shù)據(jù),使得修正后的
      H.264ES數(shù)據(jù)能夠滿足IS0&IEC14496-10標(biāo)準(zhǔn)的約束。在步驟106,將所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)存儲在數(shù)據(jù)列表中。根據(jù)一實(shí)施例,所提取的ES數(shù)據(jù)被存儲在編譯碼器緩沖器(Codec Buffer)中。并且,數(shù)據(jù)列表中的每一條記錄對應(yīng)于一巾貞的視頻ES/音頻ES數(shù)據(jù)。在步驟108,判斷是否還有需要處理的片段。如果有,則循環(huán)到步驟102,如果無,則繼續(xù)到步驟110。在步驟110,使用所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)來創(chuàng)建出媒體流。根據(jù)一實(shí)施例,在一個(gè)或多個(gè)媒體文件是TS文件的情況下,所創(chuàng)建出的媒體流為TS流。圖2描述了用于由視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)創(chuàng)建TS流的方法200。在202,根據(jù)所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù),分別創(chuàng)建出視頻TS包和音頻TS包。接著,以視頻TS包為主體,執(zhí)行步驟204-208。在204,按照設(shè)定的時(shí)間間隔將PAT表和PTM表插入到視頻TS包中。在206,按照設(shè)定的時(shí)間間隔(例如:20毫秒)將具有PCR的TS包插入到視頻TS包中。在一個(gè)實(shí)施例中,PCR= ((output_data_size*8)+88)*27000000/ts_bitrate。其中,output_data_size為PCR字段所在的TS包前(不包括PCR字段所在的TS包)已經(jīng)輸出的實(shí)際TS流的尺寸,以字節(jié)為單元;ts_bitrate為TS流的碼率。在208,當(dāng)當(dāng)前音頻TS包的DTS減去當(dāng)前PCR的值約等于常量(例如,1000毫秒)時(shí),插入音頻TS包,如此不會出現(xiàn)音頻緩沖器的溢出問題。接著可選地,在210,插入空包(Null Packet)。在一實(shí)施例中,每放入一個(gè)視頻TS包后,都需要判斷是否需要放入空包。具體判斷方式如下:
      首先,計(jì)算“目標(biāo)TS流的尺寸”與“實(shí)際TS流的尺寸”間的差異delta:delta=(ts_bitrate氺video_packet_dts)-output_data_size。其中,ts_bitrate 是 TS 流的石馬率,video_packet_dts是當(dāng)前視頻TS包的解碼時(shí)間,output_data_size是當(dāng)前TS包前(不包括當(dāng)前TS包)已經(jīng)輸出的實(shí)際TS流的尺寸。其次,根據(jù)delta來判斷是否需要放入空包:
      權(quán)利要求
      1.一種用于拼接媒體文件的方法,所述方法包括: 根據(jù)設(shè)定的時(shí)間點(diǎn)來定位一個(gè)或多個(gè)媒體文件中的多個(gè)片段; 從所定位的多個(gè)片段中提取視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù); 使用所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)來創(chuàng)建出單個(gè)媒體流。
      2.如權(quán)利要求1所述的方法,其特征在于,從所定位的多個(gè)片段中提取視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)進(jìn)一步包括,對于每一個(gè)片段,在找到起始視頻數(shù)據(jù)后,才開始尋找音頻數(shù)據(jù),并且在找到尾部視頻數(shù)據(jù)后,才停止尋找音頻數(shù)據(jù),使得視頻數(shù)據(jù)的持續(xù)時(shí)間大于等于音頻數(shù)據(jù)的持續(xù)時(shí)間。
      3.如權(quán)利要求1所述的方法,其特征在于,從所定位的多個(gè)片段中提取視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)進(jìn)一步包括,后一個(gè)片段的起始音頻數(shù)據(jù)的時(shí)間戳大于等于前一個(gè)片段的尾部音頻數(shù)據(jù)的時(shí)間戳和尾部音頻數(shù)據(jù)的持續(xù)時(shí)間之和。
      4.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括將所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)存儲在數(shù)據(jù)列表中。
      5.如權(quán)利要求1所述的方法,其特征在于,在一個(gè)或多個(gè)媒體文件是TS文件的情況下,使用所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)來創(chuàng)建出單個(gè)媒體流進(jìn)一步包括通過以下步驟來創(chuàng)建單個(gè)TS流: 根據(jù)所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù),分別創(chuàng)建出視頻TS包和音頻TS包; 以視頻TS包為主體,執(zhí) 行以下步驟: 按照設(shè)定的時(shí)間間隔將節(jié)目關(guān)聯(lián)表(PAT)和節(jié)目映射表(PTM)定期插入到視頻TS包中; 按照設(shè)定的時(shí)間間隔將具有節(jié)目參考時(shí)鐘(PCR)的TS包定期插入到視頻TS包中; 當(dāng)當(dāng)前音頻TS包的解碼時(shí)間(DTS)減去當(dāng)前PCR的值約等于一常量時(shí),插入音頻TS包。
      6.如權(quán)利要求5所述的方法,其特征在于,所述常量為1000毫秒。
      7.如權(quán)利要求5所述的方法,其特征在于,進(jìn)一步包括基于目標(biāo)TS流的尺寸和實(shí)際TS流的尺寸之間的差異來判斷是否插入空包。
      8.如權(quán)利要求1所述的方法,其特征在于,在一個(gè)或多個(gè)媒體文件是MP4文件的情況下,使用所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)來創(chuàng)建出單個(gè)媒體流進(jìn)一步包括通過以下步驟來創(chuàng)建單個(gè)MP4流: 依據(jù)設(shè)定的塊尺寸,對所有的視頻樣本和音頻樣本進(jìn)行拆分處理,形成音頻塊序列、視頻塊序列,其中一個(gè)塊由一個(gè)或者若干個(gè)樣本組成; 對所形成的音頻塊序列、視頻塊序列進(jìn)行交錯(cuò)處理,形成“音頻塊、視頻塊、音頻塊、視頻塊........”這一媒體塊序列信息; 依據(jù)所述媒體塊序列信息,生成指示將媒體數(shù)據(jù)打包成流媒體的指示信息; 依據(jù)所述媒體塊序列信息、所述指示信息,生成MP4流。
      9.如權(quán)利要求8所述的方法,其特征在于,依據(jù)所述媒體塊序列信息、所述指示信息,生成MP4流進(jìn)一步包括: 基于所述媒體塊序列信息、所述指示信息來生成mdat atom,所述mdat atom用于放置具體的媒體數(shù)據(jù),包括音頻數(shù)據(jù)、視頻數(shù)據(jù)、指示數(shù)據(jù);生成moov atom,所述moov atom用于放置媒體數(shù)據(jù)的索引信息; 添加ftyp atom,所述ftyp atom為MP4流的標(biāo)識符; 其中所述ftyp atom、所述moov atom和所述mdat atom構(gòu)成了一個(gè)完整的MP4流。
      10.如權(quán)利要求1所述的方法,其特征在于,在一個(gè)或多個(gè)媒體文件是PS文件的情況下,使用所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)來創(chuàng)建出單個(gè)媒體流進(jìn)一步包括通過以下步驟來創(chuàng)建單個(gè)PS流: 按照設(shè)定的時(shí)間間隔定期創(chuàng)建pack_header O ; 根據(jù)packjieader O中的SCR字段值,由視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)創(chuàng)建出PES_packet O,其中一個(gè) pack_header ()對應(yīng)一個(gè) PES_packet (); 生成pack O序列。
      11.如權(quán)利要求1所述的方法,其特征在于,所述方法是由編輯器執(zhí)行的,內(nèi)容管理系統(tǒng)經(jīng)由http協(xié)議和xml模式與所述編輯器進(jìn) 行對接,其中所述內(nèi)容管理系統(tǒng)通過http協(xié)議對所述編輯器發(fā)送對媒體文件進(jìn)行粗編的命令,并且所述編輯器用xml模式返回經(jīng)編輯的數(shù)據(jù)。
      12.—種用于拆分媒體文件的方法,所述方法包括: 根據(jù)設(shè)定的時(shí)間點(diǎn)來定位一個(gè)或多個(gè)媒體文件中的多個(gè)片段; 針對所定位的多個(gè)片段中的各個(gè)片段,提取視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù); 使用各個(gè)片段中所提取的視頻ES數(shù)據(jù)和音頻ES數(shù)據(jù)來創(chuàng)建出對應(yīng)于各個(gè)片段的單個(gè)媒體流。
      全文摘要
      本發(fā)明提供了視頻超快速粗編方法。該方法包括用于媒體文件拼接的方法以及用于媒體文件拆分的方法。
      文檔編號H04N21/2343GK103152607SQ201310009329
      公開日2013年6月12日 申請日期2013年1月10日 優(yōu)先權(quán)日2013年1月10日
      發(fā)明者姚毅, 朱懿, 賈京峰, 顏新波 申請人:上海思華科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1