一種基于深度包檢測的視頻測試方法
【專利摘要】本發(fā)明涉及一種基于深度包檢測的視頻測試方法,用于在移動終端上進(jìn)行視頻播放,并通過數(shù)據(jù)包獲取視頻播放過程,包括以下步驟:(1)通過自動化工具控制終端播放待測視頻;(2)抓取數(shù)據(jù)通訊包;(3)判斷該數(shù)據(jù)通訊包是否為視頻流數(shù)據(jù)包;(4)通過對視頻數(shù)據(jù)類型進(jìn)行判斷,分析該視頻流數(shù)據(jù)包是否為可識別的視頻流;(5)對識別出的視頻流進(jìn)行測試分析。通過該方法能夠減小時延,測試視頻播放的效果。
【專利說明】一種基于深度包檢測的視頻測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于深度包檢測的視頻測試方法,屬于視頻播放領(lǐng)域。
【背景技術(shù)】
[0002]目前基于真實移動設(shè)備視頻沒有有效的測試方法。
[0003]現(xiàn)有技術(shù)中對真實移動設(shè)備的視頻測試主要通過自動化工具控制設(shè)備播放視頻,并通過界面變化來判斷視頻播放的成功率、緩沖時長等。但是這種方法的缺點是時延誤差較大,而且對視頻播放出現(xiàn)問題也很難進(jìn)行判斷。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對現(xiàn)有技術(shù)存在的不足,提出一種在真實移動終端上進(jìn)行視頻播放,并通過數(shù)據(jù)包獲取視頻播放過程,測試視頻播放效果的方法。
[0005]本發(fā)明的技術(shù)方案是:一種基于深度包檢測的視頻測試方法,用于在移動終端上進(jìn)行視頻播放, 并通過數(shù)據(jù)包獲取視頻播放過程,包括以下步驟:
(1)通過自動化工具控制終端播放待測視頻;
(2)抓取數(shù)據(jù)通訊包;
(3)該數(shù)據(jù)通訊包中是否包含
〃video/mp4〃,〃video/flv〃, 〃video/x_flv〃, 〃video/f4v〃,〃video/f4f//, "video/^gpp", "multipart/byte", "application/octet-stream"來判斷該數(shù)據(jù)通訊包是否為視頻流數(shù)據(jù)包,其中〃video/mp4〃為mp4的視頻文件類型,擴(kuò)展名:.mp4, "video/flv", "video/x-flv", ^video/f4v//, ^video/f4f// 為 flash 的視頻格式,"video/^gpp"為手機使用的視頻格式,擴(kuò)展名為.3, 〃multipart/byte〃,〃application/octet_stream〃為二進(jìn)制的字節(jié)流;
(4)、通過對視頻數(shù)據(jù)類型進(jìn)行判斷,分析該視頻流數(shù)據(jù)包是否為可識別的視頻流;
(5)對識別出的視頻流進(jìn)行測試分析。
[0006]進(jìn)一步地,其中步驟(4)中對視頻數(shù)據(jù)類型判斷的具體步驟為:1)若該視頻數(shù)據(jù)包前四個字節(jié)為“jP ”、“m00V”、“mdat”、“pnot”、“udta”、“ftyp”、“afra” 的其中一種,則為mp4格式,否則為FLV格式;
2)對MPEGTS視頻的判斷特征為每一段的大小固定是204個字節(jié),每一段的首字節(jié)是否為 0x47 ;
進(jìn)一步地,步驟(5)中對視頻流進(jìn)行測試分析的過程具體如下:1)、對所有視頻流數(shù)據(jù)包分析其數(shù)據(jù)包源地址、目標(biāo)地址、源端口、目標(biāo)端口是否相同,若相同則將一連串視頻流數(shù)據(jù)包重新組合一個鏈接,從而拼接成一個虛擬的TCP視頻流,并重建視頻流的時間序列;
2)、實時分析視頻流,其中包括去除重復(fù)的數(shù)據(jù)包,分析每一個視頻流數(shù)據(jù)包時間點、視頻的時延偏移、收到的時間偏移;
3)、計算第一次緩沖時間,播放器有5秒的緩沖,以視頻的時間偏移5秒為基準(zhǔn),計算收到5秒視頻花費的時間作為緩沖時間;
4)、在后臺模擬播放器的播放過程,在后臺建立一個視頻播放的緩沖池,接收到應(yīng)緩沖的視頻流作為開始播放的判斷標(biāo)準(zhǔn),一般為5秒;
5)、在后臺模擬播放器的播放過程,每隔一秒減去一秒鐘的視頻數(shù)據(jù),同時檢查下緩沖的數(shù)據(jù)是否小于緩沖值,如果當(dāng)前播放的數(shù)據(jù)小于緩沖值說明已經(jīng)在進(jìn)行緩沖;
6)、如果發(fā)現(xiàn)一次緩沖則進(jìn)行記錄,統(tǒng)計緩沖次數(shù);
7)、如果當(dāng)前播放的數(shù)據(jù)大于緩沖值說明已經(jīng)重新開始進(jìn)行播放,這個時間差作為緩沖時延。
[0007]進(jìn)一步地,所述步驟5)中的緩沖值為5秒。
[0008]進(jìn)一步地,所述移動終端包括手機和PAD。
[0009]本發(fā)明的測試方法,能夠減小時延誤差,并對視頻播放出現(xiàn)的問題進(jìn)行判斷,可對所有移動終端(手機和PAD)播放的視頻進(jìn)行精確測試,可清楚了解到視頻播放過程中的緩沖次數(shù),緩沖時間,可用于度量視頻本身的播放質(zhì)量,可支持對不同終端、不同網(wǎng)絡(luò)環(huán)境下視頻播放效果進(jìn)行評估。
【專利附圖】
【附圖說明】
[0010]圖1為本發(fā)明的測試實現(xiàn)過程示意圖;
圖2為本發(fā)明視頻流分析的實現(xiàn)過程示意圖。
【具體實施方式】
[0011]下面對本發(fā)明的實施例作詳細(xì)說明,本實施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實施,給出了詳細(xì)的實施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實施例。
[0012]如圖1-2所示,該方法包括以下步驟:
(1)通過自動化工具控制移動終端播放待測視頻;
(2)抓取數(shù)據(jù)通訊包;
(3)該數(shù)據(jù)通訊包中是否包含
〃video/mp4〃,〃video/flv〃, 〃video/x_flv〃, 〃video/f4v〃,〃video/f4f//, "video/^gpp", "multipart/byte", "application/octet-stream"來判斷該數(shù)據(jù)通訊包是否為視頻流數(shù)據(jù)包,其中〃video/mp4〃為mp4的視頻文件類型,擴(kuò)展名:.mp4, "video/flv〃,〃video/x-flv〃,〃video/f4v〃,〃video/f4f〃 為 flash 的視頻格式,視頻內(nèi)容可以是:h.264.TS, 〃vide0/3gpp〃為手機使用的視頻格式,一般壓縮比比較高,擴(kuò)展名為.3 ;"multipart/byte", "application/octet-stream"為二進(jìn)制的字節(jié)流;
(4)、通過對視頻數(shù)據(jù)類型進(jìn)行判斷,分析該視頻流數(shù)據(jù)包是否為可識別的視頻流;
(5)對識別出的視頻流進(jìn)行測試分析。
[0013]進(jìn)一步地,其中步驟(4)中對視頻數(shù)據(jù)類型判斷的具體步驟為:1)若該視頻數(shù)據(jù)包前四個字節(jié)為“jP ”、“m00V”、“mdat”、“pnot”、“udta”、“ftyp”、“afra” 的其中一種,則為mp4格式,否則為FLV格式;
2)對MPEGTS視頻的判斷特征為每一段的大小固定是204個字節(jié),每一段的首字節(jié)是否為 0x47 ;
進(jìn)一步地,步驟(5)中對視頻流進(jìn)行測試分析的過程具體如下:1)、對所有視頻流數(shù)據(jù)包分析其數(shù)據(jù)包源地址、目標(biāo)地址、源端口、目標(biāo)端口是否相同,若相同則將一連串視頻流數(shù)據(jù)包重新組合一個鏈接,從而拼接成一個虛擬的TCP視頻流,并重建視頻流的時間序列;
2)、實時分析視頻流,其中包括去除重復(fù)的數(shù)據(jù)包,分析每一個視頻流數(shù)據(jù)包時間點、視頻的時延偏移、收到的時間偏移;
3)、計算第一次緩沖時間,播放器有5秒的緩沖,以視頻的時間偏移5秒為基準(zhǔn),計算收到5秒視頻花費的時間作為緩沖時間;
4)、在后臺模擬播放器的播放過程,在后臺建立一個視頻播放的緩沖池,接收到應(yīng)緩沖的視頻流作為開始播放的判斷標(biāo)準(zhǔn),一般為5秒;
5)、在后臺模擬播放器的播放過程,每隔一秒減去一秒鐘的視頻數(shù)據(jù),同時檢查下緩沖的數(shù)據(jù)是否小于緩沖值,如果當(dāng)前播放的數(shù)據(jù)小于緩沖值說明已經(jīng)在進(jìn)行緩沖;
6)、如果發(fā)現(xiàn)一次緩沖則進(jìn)行記錄,統(tǒng)計緩沖次數(shù);
7)、如果當(dāng)前播放的數(shù)據(jù)大于緩沖值說明已經(jīng)重新開始進(jìn)行播放,這個時間差作為緩沖時延。
[0014]進(jìn)一步地,所述步驟5)中的緩沖值為5秒。
[0015]進(jìn)一步地,所述移動終端包括手機和PAD。
[0016]本發(fā)明的測試方法,能夠減小時延誤差,對視頻緩沖時延、次數(shù)進(jìn)行判斷,對待播放的視頻進(jìn)行測試,并對視頻播放出現(xiàn)的問題進(jìn)行判斷。
[0017]本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
【權(quán)利要求】
1.一種基于深度包檢測的視頻測試方法,用于在移動終端上進(jìn)行視頻播放,并通過數(shù)據(jù)包獲取視頻播放過程,包括以下步驟: (1)通過自動化工具控制移動終端播放待測視頻; (2)抓取數(shù)據(jù)通訊包; (3)該數(shù)據(jù)通訊包中是否包含 〃video/mp4〃,〃video/flv〃, 〃video/x_flv〃, 〃video/f4v〃,〃video/f4f//, "video/^gpp", "multipart/byte", "application/octet-stream"來判斷該數(shù)據(jù)通訊包是否為視頻流數(shù)據(jù)包,其中〃video/mp4〃為mp4的視頻文件類型,擴(kuò)展名:.mp4, "video/flv", "video/x-flv", ^video/f4v//, ^video/f4f// 為 flash 的視頻格式,"video/^gpp"為手機使用的視頻格式,其擴(kuò)展名為.3, 〃multipart/byte〃、〃application/octet_stream〃 為二進(jìn)制的字節(jié)流; (4)、通過對視頻數(shù)據(jù)類型進(jìn)行判斷,分析該視頻流數(shù)據(jù)包是否為可識別的視頻流; (5)對識別出的視頻流進(jìn)行測試分析。
2.根據(jù)權(quán)利要求1所述的視頻測試方法,其特征在于:所述移動終端包括手機和PAD。
3.根據(jù)權(quán)利要求1所述的視頻測試方法,其特征在于:步驟(4)中對視頻數(shù)據(jù)類型判斷的具體步驟為:1)若該視頻數(shù)據(jù)包前四個字節(jié)為“jP ”、“m00V”、“mdat”、“pnot”、“udta”、“ftyp”、“afra”的其中一種,則為mp4格式,否則為FLV格式; 2)對MPEGTS視頻的判斷特征為每一段的大小固定是204個字節(jié),每一段的首字節(jié)是否為 0x47。`
4.根據(jù)權(quán)利要求1所述的視頻測試方法,其特征在于:步驟(5)中對視頻流進(jìn)行測試分析的過程具體如下:I)、對所有視頻流數(shù)據(jù)包分析其數(shù)據(jù)包源地址、目標(biāo)地址、源端口、目標(biāo)端口是否相同,若相同則將一連串視頻流數(shù)據(jù)包重新組合一個鏈接,從而拼接成一個虛擬的TCP視頻流,并重建視頻流的時間序列; 2)、實時分析視頻流,其中包括去除重復(fù)的數(shù)據(jù)包,分析每一個視頻流數(shù)據(jù)包時間點、視頻的時延偏移、收到的時間偏移; 3)、計算第一次緩沖時間,播放器有5秒的緩沖,以視頻的時間偏移5秒為基準(zhǔn),計算收到5秒視頻花費的時間作為緩沖時間; 4)、在后臺模擬播放器的播放過程,在后臺建立一個視頻播放的緩沖池,接收到應(yīng)緩沖的視頻流作為開始播放的判斷標(biāo)準(zhǔn),一般為5秒; 5)、在后臺模擬播放器的播放過程,每隔一秒減去一秒鐘的視頻數(shù)據(jù),同時檢查下緩沖的數(shù)據(jù)是否小于緩沖值,如果當(dāng)前播放的數(shù)據(jù)小于緩沖值說明已經(jīng)在進(jìn)行緩沖; 6)、如果發(fā)現(xiàn)一次緩沖則進(jìn)行記錄,統(tǒng)計緩沖次數(shù); 7)、如果當(dāng)前播放的數(shù)據(jù)大于緩沖值說明已經(jīng)重新開始進(jìn)行播放,這個時間差作為緩沖時延。
5.根據(jù)權(quán)利要求4所述的視頻測試方法,其特征在于:步驟5)中的緩沖值為5秒。
【文檔編號】H04N17/00GK103763551SQ201410046716
【公開日】2014年4月30日 申請日期:2014年2月10日 優(yōu)先權(quán)日:2014年2月10日
【發(fā)明者】黃韜, 胡大強, 廖志 申請人:杭州友聲科技有限公司