zoukankan      html  css  js  c++  java
  • X265编码效率仍然低

    本次测试软件环境:Intel Celeron双核 2.60 Ghz CPU; 4GB 内存;安装 Ubuntu 13.04

    hzsx@hzsx-server:~$ lsb_release -a

    No LSB modules are available.

    Distributor ID: Ubuntu

    Description:    Ubuntu 13.04

    ***

    hzsx@hzsx-server:~$ uname -a

    Linux hzsx-server 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/Linux

    hzsx@hzsx-server:~$ cat /proc/cpuinfo

    ***

    model name      : Intel(R) Celeron(R) CPU G1610 @ 2.60GHz

    ***

    cpu MHz         : 1600.000

    cache size      : 2048 KB

    265编码器 http://x265.org/

    测试序列下载地址 ftp://ftp.ldv.ei.tum.de/videolab/public/SVT_Test_Set/720p/  720p50_parkrun_ter.yuv 和 720p50_shields_ter.yuv

    http://x265.org/下载源码编译出可执行265,查看编码效率。

    发现暂时还不能用于产品。

    本次测试使用了两个720P 504帧的YUV序列。压缩时间均超过2分钟。这才20秒的视频而已。

    encoded 504 frames in 119.35s (4.22 fps), 525.44 kb/s  // 720p50_parkrun_ter.yuv

    encoded 504 frames in 124.79s (4.04 fps), 503.96 kb/s  // 720p50_shields_ter.yuv

    一下是对比ffmpeg和libx264编码时间。

    720p50_xxx_1280x720.yuv   --->>>   720p50_xxx_.h264
    ffmpeg 采用gusari已经编译好的 http://ffmpeg.gusari.org/static/32bit/   ffmpeg.static.32bit.2014-04-18.tar.gz
    采用2014.4.18 版本是为了和 libx264 对应
    ./ffmpeg -s 1280x720 -i ~/multimedia/720p50_shields_ter_1280x720.yuv -r 25 -vcodec libx264 -b 800000 ~/multimedia/720p50_shields_ter_ffmpeg_800k.h264
    -b 800000 代表 800k bitrate

    libx264 采用 官网 x264-snapshot-20140420-2245.tar.gz 自编译
    ./x264 --bitrate 800 --fps 25 --output ~/multimedia/720p50_shields_ter_libx264_800k.h264 ~/multimedia/720p50_shields_ter_1280x720.yuv
    --bitrate 800 代表 800k bitrate 。 和ffmpeg命令不同,这里是以k为单位。
    这里之所以没有添加参数 1280:720,后面解释。

    视频序列 720p50_parkrun_ter_1280x720.yuv 记作 p ; 720p50_shields_ter_1280x720.yuv 记作 s ;
    对比一下时间消耗
    首先,使用ffmpeg编码对应的时间消耗
    bitrate         800k       5000k        8000k
    时间消耗     p16s|s17s   p27s|s33s   p32s|s39s

    然后,使用libx264编码对应的时间消耗
    bitrate         800k       5000k        8000k
    时间消耗     p16s|s17s   p27s|s33s   p32s|s39s

    从时间消耗上来说,基本上是一样的。

    最后解释一下,libx264参数设置中,如果添加了 --sar 1280:720
    得到的H264视频文件,使用mediainfo查一下就会发现,Display aspect ratio  : 3.160 。
    申明,这里的yuv序列不包含任何其他信息,仅仅是颜色yuv值。
    这是因为我yuv文件的命名,后缀前给出了分辨率1280x720,libx264会自动判断分辨率。
    如果添加了--sar 1280:720,导致编码后再次缩放比例1280:720,即是(1280:720)*(1280:720) = 3.16

  • 相关阅读:
    POJ 2750 Potted Flower (单点改动求线段树上最大子序列和)
    [异能程序猿]第四章 偶遇(第四更)
    【web开发学习笔记】Struts-Tags学习笔记1
    UVa 10100
    【算法拾遗】大数相加(不开辟额外空间)
    cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug
    大一暑假和大二专业学习的规划
    Android如何获得系统版本
    Struts2——(1)Struts2入门
    设置m_pszAppName值的做法
  • 原文地址:https://www.cnblogs.com/zzugyl/p/3678865.html
Copyright © 2011-2022 走看看