ffmpeg软解h264速度与ref数的关系

来源:互联网 发布:软件人才培训班 编辑:程序博客网 时间:2024/05/02 04:23
使用的机器:i7 2720QM,6G内存,XP系统。
使用的ffmpeg版本:
ffmpeg version 2.0-4dcb2f7 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 12 2013 17:46:38 with gcc 4.7.1 (tdm-1)
命令:ffmpeg -i "k-onncop1.mp4" -f mp4 -vcodec libx264 -x264opts frameref=1:bframes=2 -vb 10000k -t 60 -an "k-onncop1.mp4-1.mp4"
取一个720P的K-ON ncop1,压制一个1分钟的测试视频,其他参数不变,frameref从1到16,压制16个版本,编号为1到16的mp4文件做测试用例备用。
用相同版本的ffmpeg,用--disable-pthreads --disable-w32threads编译另外一份只能单线程解码的副本。
分别用压制中使用的ffmpeg和单线程的ffmpeg副本运行如下操作,只解码,不编码或输出,把编号1-16的mp4文件分别测试一次,记录下每次的平均解码帧数和最大内存使用量。
ffmpeg -i "k-onncop1.mp4-*.mp4" -f null -benchmark tmp.nul 
三次测试的结果,取平均值,列表如下。

可以看出,ref=1时解码最快,但超过6之后,ref的上升对解码速度的影响就不大了。但是,当ref超过4的时候,ref的上升会使得解码使用的最大内存量不断上升,可能这才是某些硬解方案不能硬解高ref视频的真正原因。
0 0
原创粉丝点击