1. 程式人生 > >H264編碼器效能測試

H264編碼器效能測試

版本:0.1.0-beta
作者:石碩
更新:2014-04-13 15:54:08
============================================================

    如今,H264已經成為視訊行業的標準規範,企業中使用比較多的當數X264,開源,資源消耗又比較少。
    首先,介紹一下常見的三大開源H264編碼器:JM、X264、T264
    JM H264的官方測試原始碼,實現了264的所有特性,但程式結構冗長,編碼複雜度高,不推薦商業應用。
    X264 擯棄了264中對編碼效能貢獻小,但計算複雜度極高的新特性,推薦商業應用。
    T264 編碼與X264類似,但是解碼器只能解T264編碼的,有點坑。

    在使用H264編碼器X264之前,我們先對其效能進行測試,以確定是否需要再次優化。
    測試的流程如下:

1、到X264官網下載264原始碼

    官方網站:http://www.videolan.org/developers/x264.html
    GIT地址:git://git.videolan.org/x264.git(注,X264最原始的原始碼都是在linux下編譯的,如果想要windows版的,請看下面)
    windows版X264地址:http://doom10.org/index.php?topic=3.0(注:第三方移植的,自行判斷是不是最新)

2、根據實際的業務需要,制定相應的測試標準

    由於X264是根據H264的標準制作的,所以,H264標準以及以前標準都是適用的。實際應用中,會有不同的需求,比如說監控對幀率要求比較低,再比如說網路傳輸對位元速率要求比較高,又比如說在移動平臺上使用對CPU MEM要求比較高。
    下面是視訊直播中使用到的:
    分 辨 率:160×120  320×240  640×480
    幀    率:10  15  20  25  30
    碼    率:128  160  256
    編碼延時:<= 200ms
    位元速率精度:<= 15%
    兼 容 性:標準H264解碼器可以解碼
    作業系統:winXP  win7-x86  win7-x64
    CPU     :AMD Athlon II X2 240(高配)  AMD SP145(低配)
    MEM     :2GB

3、新建測試專案,呼叫X264庫

    新建VC專案,讀取YUV序列檔案(下面會介紹檔案來源),編碼,輸出到H264檔案

4、網上查詢YUV序列的結構,瞭解都有哪些格式

    YUV結構介紹英文版:http://www.fourcc.org/yuv.php
    YUV結構介紹中文翻譯版:http://blog.csdn.net/SearchSun/article/details/2443867
    在這些YUV格式中,比較常見的是YUV420,一幀YUV420在檔案中的排布如下,以CIF影象(352*288)為例:
    Y資訊 352*288 B
    U資訊 352*288/4 B
    V資訊 352*288/4 B
    算出一幀資料的大小 = 352*288 +  352*288/4 +  352*288/4 ,常見寫作 352*288*3/2

5、網上查詢YUV序列檔案,或者自行製作

    YUV測試序列下載地址:http://dpinglee.blog.163.com/blog/static/144097753201242254639795/ (這個是目前網上能找到的最全面的)
    從上面的連結中找到的最為規範的要數這個:http://sp.cs.tut.fi/mobile3dtv/stereo-video/
    YUV格式有很多種,再加上不同的引數配置,又會有很多種,下載前一定要看清楚是否是自己需要的格式,因為這些測試序列檔案通常都會比較大的
5.1、YUV序列檔案製作方法
    1)從網上下載任意格式的視訊檔案,AVI最好
    2)安裝 FFSetup.exe(中文名稱格式工廠),把下載好的視訊檔案轉換為AVI格式,轉換引數中視訊編碼選H264
    3)使用 avitoyuv.exe 把轉換好的AVI檔案轉換為YUV檔案
    4)使用 YUVViewer.exe 驗證轉換的正確性

6、網上查詢YUV序列檔案播放器,驗證YUV檔案的有效性

    找到YUV序列檔案之後,使用 YUVViewer.exe 驗證檔案的正確性
    YUViewer下載地址:http://ishare.iask.sina.com.cn/f/21603725.html

7、執行測試專案,讀取YUV檔案,輸出H264檔案


8、編碼的過程中,觀察H264編碼器的各項指標,並做記錄

    在不同的引數配置下,觀察下面的各項指標是否正常:
    編碼延時:可以在測試程式中輸出日誌檢視
    位元速率精度:同上
    兼 容 性:使用H264visa可以正常播放即可
    CPU     :高配在2%以內  低配在4%以內
    MEM     :?MB以內

9、網上查詢H264檔案播放器,驗證編碼的正確性

    使用H264visa驗證編碼後H264檔案的正確性
    H264visa下載地址:http://ishare.iask.sina.com.cn/f/25002676.html (這個需要2新浪積分)

    如果對X264編解碼比較感興趣,打算深入研究,可以從這裡開始:http://www.rosoo.net/a/200908/7424.html,這篇是羅索實驗室的文章,一個專業研究音視訊,流媒體解決方案的網站。


工具推薦

1.軟體開發必備翻牆代理,低延遲(50ms),月費10元,詳詢(寶哥兒QQ1066690060)請自覺遵守國家法律法規