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

posted @ 2014-04-21 17:31  水上云天  阅读(4019)  评论(0编辑  收藏  举报