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

      一種機頂盒測試用的碼流文件的生成方法及生成裝置與流程

      文檔序號:12136452閱讀:267來源:國知局
      一種機頂盒測試用的碼流文件的生成方法及生成裝置與流程

      本發(fā)明涉及機頂盒測試技術(shù)領(lǐng)域,尤其涉及一種機頂盒測試用的碼流文件的生成方法及生成裝置。



      背景技術(shù):

      目前,運營商的數(shù)字電視網(wǎng)絡(luò)前端為向客戶提供定制化的服務(wù),需要機頂盒設(shè)計者在為運營商提供滿足要求的軟件時,對機頂盒的這些服務(wù)進行測試。機頂盒在測試過程中,多個測試項需要播放碼流文件來進行測試,碼流文件包括若干數(shù)據(jù)包和若干空包。

      在機頂盒測試過程中,由于各地運營商都有自己的私有數(shù)據(jù)定義并且不定期改動,機頂盒測試工程師為驗證規(guī)范,需要不斷向運營商申請最新碼流文件,過程耗時比較長,而且運營商一般不允許隨意修改網(wǎng)絡(luò)數(shù)據(jù),因此目前機頂盒測試主要通過錄制碼流的方式,通過錄制的碼流文件在公司內(nèi)部測試的進行測試。

      但是,碼流錄制的方式,由于運營商不定期改動私有數(shù)據(jù)定義,錄制的碼流文件時效性較差,同時覆蓋力度也有限,導(dǎo)致無法測試機頂盒的某些功能或測試結(jié)果不準確的問題。



      技術(shù)實現(xiàn)要素:

      為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種機頂盒測試用的碼流文件的生成方法及生成裝置。

      根據(jù)本發(fā)明實施例的第一方面,提供一種機頂盒測試用的碼流文件的生成方法,包括:

      構(gòu)建私有數(shù)據(jù)表;

      將所述私有數(shù)據(jù)表生成m個數(shù)據(jù)包,其中,m為所述私有數(shù)據(jù)表的字節(jié)數(shù)與數(shù)據(jù)包長度的比值;

      將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,其中,所述原始碼流文件包括錄制的碼流文件。

      優(yōu)選地,所述將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替所述原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,包括:

      計算所述原始碼流文件的空包數(shù)T;

      判斷所述原始碼流文件的空包數(shù)T是否大于m;

      當所述原始碼流文件的空包數(shù)T≤m時,將所述私有數(shù)據(jù)表中的第1至T個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至T個空包,將替換后的碼流文件作為新碼流文件。

      優(yōu)選地,所述將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替所述原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,包括:

      當所述原始碼流文件的空包數(shù)T=m+1時,將所述私有數(shù)據(jù)表中的第1至m個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至m個空包,將替換后的碼流文件作為新碼流文件。

      優(yōu)選地,所述將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替所述原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,包括:

      當所述原始碼流文件的空包數(shù)T>m+1時,將所述私有數(shù)據(jù)表中的第1至m個數(shù)據(jù)包逐一替換所述原始碼流文件中第1至m個空包;

      計算m+1個空包的數(shù)據(jù)間隔B;

      根據(jù)所述數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中的剩余空包。

      優(yōu)選地,所述由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中的剩余空包,包括:

      判斷所述數(shù)據(jù)間隔B是否為X≤B≤Y,其中,X為原始碼流文件的碼率與預(yù)設(shè)私有數(shù)據(jù)表重復(fù)時間的乘積,Y為所述碼率與預(yù)設(shè)私有數(shù)據(jù)表最大重復(fù)間隔容差的乘積;

      若X≤B≤Y,計算剩余空包數(shù)S,其中,所述S=T-m;

      當剩余空包數(shù)S≤m+1時,將所述私有數(shù)據(jù)表的前S-1個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的剩余空包,將替換后的碼流文件作為新碼流文件;

      當剩余空包數(shù)S>m+1時,將所述私有數(shù)據(jù)表的m個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的m個空包,并更新剩余空包數(shù)S和數(shù)據(jù)間隔B;

      根據(jù)更新后的所述剩余空包數(shù)S和數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中更新后的剩余空包;

      若所述數(shù)據(jù)間隔B不為X≤B≤Y,計算下一個空包距所述原始碼流文件的第一個空包之間的數(shù)據(jù)間隔,直至下一個空包與所述原始碼流文件的第一個空包的數(shù)據(jù)間隔在X至Y之間。

      優(yōu)選地,所述構(gòu)建私有數(shù)據(jù)表,包括:

      根據(jù)所述原始碼流文件所對應(yīng)的運營商的私有數(shù)據(jù)定義,構(gòu)建所述私有數(shù)據(jù)表。

      根據(jù)本發(fā)明實施例的第二方面,提供一種機頂盒測試用的碼流文件的生成裝置,包括:

      私有數(shù)據(jù)表構(gòu)建模塊,用于構(gòu)建私有數(shù)據(jù)表;

      數(shù)據(jù)包生成模塊,用于將所述私有數(shù)據(jù)表生成m個數(shù)據(jù)包,其中,m為所述私有數(shù)據(jù)表的字節(jié)數(shù)與數(shù)據(jù)包長度的比值;

      私有表插入模塊,用于將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,其中,所述原始碼流文件包括錄制的碼流文件。

      優(yōu)選地,所述私有表插入模塊包括:

      空包數(shù)量計算單元,用于計算所述原始碼流文件的空包數(shù)T;

      第一判斷單元,用于判斷所述原始碼流文件的空包數(shù)T是否大于m;

      第一空包替換單元,用于當所述原始碼流文件的空包數(shù)T≤m時,將所述私有數(shù)據(jù)表中的第1至T個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至T個空包,將替換后的碼流文件作為新碼流文件。

      優(yōu)選地,所述私有表插入模塊包括:

      第二空包替換單元,用于當所述原始碼流文件的空包數(shù)T>m+1時,將所述私有數(shù)據(jù)表中的第1至m個數(shù)據(jù)包逐一替換所述原始碼流文件中第1至m個空包;

      數(shù)據(jù)間隔計算單元,用于計算m+1個空包的數(shù)據(jù)間隔B;

      第一剩余空包替換單元,用于根據(jù)所述數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中的剩余空包。

      優(yōu)選地,所述第一剩余空包替換單元包括:

      判斷子單元,用于判斷所述數(shù)據(jù)間隔B是否為X≤B≤Y,其中,X為原始碼流文件的碼率與預(yù)設(shè)私有數(shù)據(jù)表重復(fù)時間的乘積,Y為所述碼率與預(yù)設(shè)私有數(shù)據(jù)表最大重復(fù)間隔容差的乘積;

      剩余空包計算子單元,用于若X≤B≤Y,計算剩余空包數(shù)S,其中,所述S=T-m;

      第一空包替換子單元,用于當剩余空包數(shù)S≤m+1時,將所述私有數(shù)據(jù)表的前S-1個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的剩余空包,將替換后的碼流文件作為新碼流文件;

      第二空包替換子單元,用于當剩余空包數(shù)S>m+1時,將所述私有數(shù)據(jù)表的m個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的m個空包,并更新剩余空包數(shù)S和數(shù)據(jù)間隔B;

      剩余空包替換子單元,用于根據(jù)更新后的所述剩余空包數(shù)S和數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中更新后的剩余空包;

      空包繼續(xù)替換子單元,用于若所述數(shù)據(jù)間隔B不為X≤B≤Y,計算下一個空包距所述原始碼流文件的第一個空包之間的數(shù)據(jù)間隔,直至下一個空包與所述原始碼流文件的第一個空包的數(shù)據(jù)間隔在X至Y之間。

      本發(fā)明的實施例提供的技術(shù)方案可以包括以下有益效果:

      本發(fā)明實施例提供的一種機頂盒測試用的碼流文件的生成方法及生成裝置,包括:構(gòu)建私有數(shù)據(jù)表;將所述私有數(shù)據(jù)表生成m個數(shù)據(jù)包,其中,m為所述私有數(shù)據(jù)表的字節(jié)數(shù)與數(shù)據(jù)包長度的比值;將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,其中,所述原始碼流文件包括錄制的碼流文件。本發(fā)明實施例提供的機頂盒測試用的碼流文件的生成方法,將私有數(shù)據(jù)表替代原始碼流文件中的空包插入到所述原始碼流文件中,新插入的數(shù)據(jù)表不會影響原始碼流文件中各數(shù)據(jù)表的時間間隔,生成的新碼流文件的時效性和覆蓋力度均能滿足機頂盒的測試需求,機頂盒的測試結(jié)果準確。

      應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。

      附圖說明

      此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。

      為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明實施例提供的一種機頂盒測試用的碼流文件的生成方法的流程示意圖;

      圖2為本發(fā)明實施例提供的一種私有數(shù)據(jù)表插入碼流文件的方法流程示意圖;

      圖3為本發(fā)明實施例提供的一種私有數(shù)據(jù)表替換剩余空包的方法流程示意圖;

      圖4為本發(fā)明實施例提供的一種機頂盒測試用的碼流文件的生成裝置的結(jié)構(gòu)示意圖。

      具體實施方式

      這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。

      本發(fā)明實施例提供的一種機頂盒測試用的碼流文件的生成方法,參見圖1,包括:

      S100:構(gòu)建私有數(shù)據(jù)表。

      在機頂盒測試過程中,對于原始碼流文件無法測試的功能或服務(wù),通過構(gòu)建私有數(shù)據(jù)表,插入原始碼流文件中,以便形成新碼流文件來測試機頂盒。

      在本發(fā)明實施例中,所述構(gòu)建私有數(shù)據(jù)表,包括:

      根據(jù)所述原始碼流文件所對應(yīng)的運營商的私有數(shù)據(jù)定義,構(gòu)建所述私有數(shù)據(jù)表。獲取原碼流文件所對應(yīng)的運營商的私有數(shù)據(jù)定義,根據(jù)私有數(shù)據(jù)定義,對若干相關(guān)參數(shù)賦值,構(gòu)建私有數(shù)據(jù)表。在具體實施過程中,所述若干參數(shù)包括區(qū)域編碼、匹配位數(shù)、智能卡號等。

      S200:將所述私有數(shù)據(jù)表生成m個數(shù)據(jù)包。

      將步驟S100中構(gòu)建的所述私有數(shù)據(jù)表生成m個數(shù)據(jù)包,其中,m為所述私有數(shù)據(jù)表的字節(jié)數(shù)與數(shù)據(jù)包長度的比值,在具體實施過程中,所述數(shù)據(jù)包長度包括188字節(jié)。

      S300:將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件。

      將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,其中,所述原始碼流文件包括錄制的碼流文件。

      在具體實施過程中,所述步驟S300還可以包括如下詳細步驟:

      S301:計算所述原始碼流文件的空包數(shù)T。

      所述原始碼流文件包括數(shù)據(jù)表和一部分空包,計算所述原始碼流文件的空包數(shù)T。

      S302:判斷所述原始碼流文件的空包數(shù)T是否大于m。

      判斷所述原始碼流文件的空包數(shù)T是否大于m,所述m為步驟S200中私有數(shù)據(jù)表生成的數(shù)據(jù)包的數(shù)量。

      S303:當所述原始碼流文件的空包數(shù)T≤m時,將所述私有數(shù)據(jù)表中的第1至T個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至T個空包,將替換后的碼流文件作為新碼流文件。

      在第一種可能的實施方式中,當所述原始碼流文件的空包數(shù)T≤m時,將所述私有數(shù)據(jù)表中的第1至T個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至T個空包,將替換后的碼流文件作為新碼流文件。例如,所述私有數(shù)據(jù)表生成5個數(shù)據(jù)包,即m=5,所述原始碼流文件的空包數(shù)T=3,此時T≤m,將所述私有數(shù)據(jù)表中的第1至3個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至3個空包,將替換后的碼流文件作為新碼流文件。

      在第二種可能的實施方式中,所述將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替所述原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,包括:

      當所述原始碼流文件的空包數(shù)T=m+1時,將所述私有數(shù)據(jù)表中的第1至m個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至m個空包,將替換后的碼流文件作為新碼流文件。例如,所述私有數(shù)據(jù)表生成5個數(shù)據(jù)包,即m=5,所述原始碼流文件的空包數(shù)T=6,將所述私有數(shù)據(jù)表中的第1至5個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至5個空包,替換后的碼流文件還存在1個剩余空包,此時替換結(jié)束,將替換后的碼流文件作為新碼流文件。

      在第三種可能的實施方式中,所述將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替所述原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,其實施方式可參見圖2所示,包括:

      S310:當所述原始碼流文件的空包數(shù)T>m+1時,將所述私有數(shù)據(jù)表中的第1至m個數(shù)據(jù)包逐一替換所述原始碼流文件中第1至m個空包。

      當所述原始碼流文件的空包數(shù)T>m+1時,首先將所述私有數(shù)據(jù)表中的第1至m個數(shù)據(jù)包逐一替換所述原始碼流文件中第1至m個空包,此時,所述原始碼流文件的空包數(shù)大于1。

      S320:計算m+1個空包的數(shù)據(jù)間隔B。

      計算所述原始碼流文件中的第1個空包距第m+1個空包的數(shù)據(jù)間隔B,在具體實施過程中,所述原始碼流文件中的數(shù)據(jù)包和空包均有序號,所述m+1個空包的數(shù)據(jù)間隔B的計算方法為:第m+1個空包的序號與所述第1個空包的序號之差與所述數(shù)據(jù)包長度的乘積。

      S330:根據(jù)所述數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中的剩余空包。

      在一種可能的實施方式中,所述由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中的剩余空包,其實施方式可參見圖3所示,包括:

      S321:判斷所述數(shù)據(jù)間隔B是否為X≤B≤Y。

      判斷所述數(shù)據(jù)間隔B是否為X≤B≤Y,其中,X為原始碼流文件的碼率與預(yù)設(shè)私有數(shù)據(jù)表重復(fù)時間的乘積,Y為所述碼率與預(yù)設(shè)私有數(shù)據(jù)表最大重復(fù)間隔容差的乘積。若所述數(shù)據(jù)間隔B為X≤B≤Y,執(zhí)行步驟S322;若所述數(shù)據(jù)間隔B不為X≤B≤Y,執(zhí)行步驟S326。

      在構(gòu)建私有數(shù)據(jù)表后,用戶可預(yù)設(shè)私有數(shù)據(jù)表重復(fù)時間和私有數(shù)據(jù)表最大重復(fù)間隔容差,根據(jù)所述預(yù)設(shè)私有數(shù)據(jù)表重復(fù)時間和私有數(shù)據(jù)表最大重復(fù)間隔容差,根據(jù)數(shù)據(jù)間隔B確定所述私有數(shù)據(jù)表是否可重復(fù)插入到所述原始碼流文件中。

      S322:計算剩余空包數(shù)S。

      若X≤B≤Y,計算剩余空包數(shù)S,其中,所述S=T-m。

      當X≤B≤Y時,所述原始碼流文件在被私有數(shù)據(jù)表替換了m個空包后,計算剩余空包數(shù)S,確定剩余空包是否可以被私有數(shù)據(jù)表繼續(xù)替換。

      S323:當剩余空包數(shù)S≤m+1時,將所述私有數(shù)據(jù)表的前S-1個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的剩余空包,將替換后的碼流文件作為新碼流文件。

      當X≤B≤Y,且剩余空包數(shù)S≤m+1時,進行第二次替換,將所述私有數(shù)據(jù)表的前S-1個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的剩余空包,將替換后的碼流文件作為新碼流文件。

      在一種應(yīng)用場景中,原始碼流文件的空包數(shù)T為10,私有數(shù)據(jù)表生成的數(shù)據(jù)包的個數(shù)m為5,在步驟S310中被所述私有數(shù)據(jù)表替換了5個空包,此時,原始碼流文件的剩余空包數(shù)S為5,剩余空包數(shù)S≤m+1,此時,將所述私有數(shù)據(jù)表的前4個數(shù)據(jù)包逐一替換所述原始碼流文件中從第7個空包至第10個空包,將替換后的碼流文件作為新碼流文件。

      S324:當剩余空包數(shù)S>m+1時,將所述私有數(shù)據(jù)表的m個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的m個空包,并更新剩余空包數(shù)S和數(shù)據(jù)間隔B。

      當剩余空包數(shù)S>m+1時,將所述私有數(shù)據(jù)表的m個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包至第2m+1個空包,這一次替換共替換了m個空包,并更新剩余空包數(shù)S和數(shù)據(jù)間隔B。更新后的數(shù)據(jù)間隔B的計算方法為:將原始碼流文件中的第m+2個空包作為更新后的第1個空包,第m+2個空包作為更新后的第2個空包,依次推導(dǎo),第2m+2個空包作為更新后的第m+1個空包,計算更新后的第1個空包至更新后的第m+1個空包這m+1個空包的數(shù)據(jù)間隔B。

      在一種應(yīng)用場景中,原始碼流文件的空包數(shù)T為13,私有數(shù)據(jù)表生成的數(shù)據(jù)包的個數(shù)m為5,在步驟S310中被所述私有數(shù)據(jù)表替換了5個空包后,原始碼流文件的剩余空包數(shù)S為8,剩余空包數(shù)S>m+1,此時,將所述私有數(shù)據(jù)表的5個數(shù)據(jù)包逐一替換所述原始碼流文件中從第7個空包至第11個空包共替換5個空包,此時還剩余2個空包,更新剩余空包數(shù)S=2,以便繼續(xù)判斷更新后的剩余空包是否可被繼續(xù)替換。

      S325:根據(jù)更新后的所述剩余空包數(shù)S和數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中更新后的剩余空包。

      根據(jù)更新后的所述剩余空包數(shù)S和數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中更新后的剩余空包,此時數(shù)據(jù)間隔B為原碼流文件中第m+2個空包距第2m+2個空包的數(shù)據(jù)間隔,返回步驟S321,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中更新后的剩余空包。

      S326:計算下一個空包距所述原始碼流文件的第一個空包之間的數(shù)據(jù)間隔,直至下一個空包與所述原始碼流文件的第一個空包的數(shù)據(jù)間隔在X至Y之間,進入步驟S322。

      若所述數(shù)據(jù)間隔B不為X≤B≤Y,為了保證被插入的私有數(shù)據(jù)表滿足用戶預(yù)設(shè)的數(shù)據(jù)表重復(fù)時間,計算下一個空包距所述原始碼流文件的第一個空包之間的數(shù)據(jù)間隔,直至下一個空包與所述原始碼流文件的第一個空包的數(shù)據(jù)間隔在X至Y之間。若直至所述原始碼流文件的最后一個空包,計算的數(shù)據(jù)間隔都不在X至Y之間,此時替換結(jié)束,將替換后的碼流文件作為新碼流文件;若與所述原始碼流文件的第一個空包的數(shù)據(jù)間隔在X至Y之間的所述空包后還有空包,計算與所述原始碼流文件的第一個空包的數(shù)據(jù)間隔在X至Y之間的所述空包后的剩余空包數(shù),更新剩余空包數(shù)S,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中更新后的剩余空包。

      在一種應(yīng)用場景中,原始碼流文件的空包數(shù)T為13,私有數(shù)據(jù)表生成的數(shù)據(jù)包的個數(shù)m為5,在步驟S310中被所述私有數(shù)據(jù)表替換了5個空包,所述原始碼流文件中第1個空包至第6個空包的數(shù)據(jù)間隔B不在X至Y之間,此時,計算第1個空包至第6個空包之后的其他空包的數(shù)據(jù)間隔是否X至Y之間,如第1個空包至第9個空包的數(shù)據(jù)間隔X至Y之間,此時,第9個空包后還有4個空包,將剩余空包數(shù)S更新為4,將私有數(shù)據(jù)表的前4個數(shù)據(jù)包逐一從第10個空包開始替換至第13個空包,替換結(jié)束,將替換后的碼流文件作為新碼流文件。

      本發(fā)明實施例提供的一種機頂盒測試用的碼流文件的生成方法,包括:構(gòu)建私有數(shù)據(jù)表;將所述私有數(shù)據(jù)表生成m個數(shù)據(jù)包,其中,m為所述私有數(shù)據(jù)表的字節(jié)數(shù)與數(shù)據(jù)包長度的比值;將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,其中,所述原始碼流文件包括錄制的碼流文件。本發(fā)明實施例提供的機頂盒測試用的碼流文件的生成方法,將私有數(shù)據(jù)表替代原始碼流文件中的空包插入到所述原始碼流文件中,新插入的數(shù)據(jù)表不會影響原始碼流文件中各數(shù)據(jù)表的時間間隔,生成的新碼流文件的時效性和覆蓋力度均能滿足機頂盒的測試需求,機頂盒的測試結(jié)果準確。

      基于相同的技術(shù)構(gòu)思,本發(fā)明實施例還提供了一種機頂盒測試用的碼流文件的生成裝置,參見圖4,包括:私有數(shù)據(jù)表構(gòu)建模塊100、數(shù)據(jù)包生成模塊200和私有表插入模塊300。

      所述私有數(shù)據(jù)表構(gòu)建模塊100,用于構(gòu)建私有數(shù)據(jù)表。

      所述數(shù)據(jù)包生成模塊200,用于將所述私有數(shù)據(jù)表生成m個數(shù)據(jù)包,其中,m為所述私有數(shù)據(jù)表的字節(jié)數(shù)與數(shù)據(jù)包長度的比值。

      所述私有表插入模塊300,用于將所述私有數(shù)據(jù)表的數(shù)據(jù)包代替原始碼流文件中的空包插入所述原始碼流文件,生成新碼流文件,其中,所述原始碼流文件包括錄制的碼流文件。

      在第一種可能的實施例中,所述私有表插入模塊包括:空包數(shù)量計算單元、第一判斷單元和第一空包替換單元。

      所述空包數(shù)量計算單元,用于計算所述原始碼流文件的空包數(shù)T。

      所述第一判斷單元,用于判斷所述原始碼流文件的空包數(shù)T是否大于m。

      所述第一空包替換單元,用于當所述原始碼流文件的空包數(shù)T≤m時,將所述私有數(shù)據(jù)表中的第1至T個數(shù)據(jù)包逐一替換所述原始碼流文件中的第1至T個空包,將替換后的碼流文件作為新碼流文件。

      在第二種可能的實施例中,所述私有表插入模塊包括:第二空包替換單元、數(shù)據(jù)間隔計算單元和第一剩余空包替換單元。

      所述第二空包替換單元,用于當所述原始碼流文件的空包數(shù)T>m+1時,將所述私有數(shù)據(jù)表中的第1至m個數(shù)據(jù)包逐一替換所述原始碼流文件中第1至m個空包。

      所述數(shù)據(jù)間隔計算單元,用于計算m+1個空包的數(shù)據(jù)間隔B。

      所述第一剩余空包替換單元,用于根據(jù)所述數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中的剩余空包。

      在一種可能的實施例中,所述第一剩余空包替換單元包括:判斷子單元、剩余空包計算子單元、第一空包替換子單元、第二空包替換子單元、剩余空包替換子單元和空包繼續(xù)替換子單元。

      所述判斷子單元,用于判斷所述數(shù)據(jù)間隔B是否為X≤B≤Y,其中,X為原始碼流文件的碼率與預(yù)設(shè)私有數(shù)據(jù)表重復(fù)時間的乘積,Y為所述碼率與預(yù)設(shè)私有數(shù)據(jù)表最大重復(fù)間隔容差的乘積。

      所述剩余空包計算子單元,用于若X≤B≤Y,計算剩余空包數(shù)S,其中,所述S=T-m。

      所述第一空包替換子單元,用于當剩余空包數(shù)S≤m+1時,將所述私有數(shù)據(jù)表的前S-1個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的剩余空包,將替換后的碼流文件作為新碼流文件。

      所述第二空包替換子單元,用于當剩余空包數(shù)S>m+1時,將所述私有數(shù)據(jù)表的m個數(shù)據(jù)包逐一替換所述原始碼流文件中從第m+2個空包開始的m個空包,并更新剩余空包數(shù)S和數(shù)據(jù)間隔B。

      所述剩余空包替換子單元,用于根據(jù)更新后的所述剩余空包數(shù)S和數(shù)據(jù)間隔B,由所述私有數(shù)據(jù)表的數(shù)據(jù)包繼續(xù)替換原始碼流文件中更新后的剩余空包。

      所述空包繼續(xù)替換子單元,用于若所述數(shù)據(jù)間隔B不為X≤B≤Y,計算下一個空包距所述原始碼流文件的第一個空包之間的數(shù)據(jù)間隔,直至下一個空包與所述原始碼流文件的第一個空包的數(shù)據(jù)間隔在X至Y之間。

      本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里發(fā)明的公開后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。

      應(yīng)當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1