• 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)请自觉遵守国家法律法规



  • 相关阅读:
    C++学习总结 复习篇2
    C++ 学习总结 复习篇
    Git 安装与使用
    前两周工作总结
    [bzoj1033] [ZJOI2008]杀蚂蚁antbuster
    [bzoj1031] [JSOI2007]字符加密Cipher
    [bzoj1030] [JSOI2007]文本生成器
    [bzoj1029] [JSOI2007]建筑抢修
    [bzoj1028] [JSOI2007]麻将
    [bzoj1026] [SCOI2009]windy数
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6820728.html
Copyright © 2020-2023  润新知