dwing吧 关注:5,669贴子:89,042
  • 3回复贴,共1

av1现阶段解码性能测试

取消只看楼主收藏回复

最近突然注意到油管推出了av1的测试,最高可以支持到480p。同时看到lav filter nightly更新了ffmpeg,支持了av1的软件解码,感觉av1快要来了。
由于av1的编码性能实在捉鸡,就心血来潮测了测解码性能,看看到底能不能应用到实际。
在doom9的av1专楼#781看到了一个av1的webm,1920x800 24fps 8bit 420,码率极低,只有523kbp。
拿来二压了一个8bit hevc,crf 35, qcomp 0.6, preset slower, rect on. 压出了一个相近的码率 550kbps。
结果不出所料,现阶段av1的解码消耗,是开了rect的hevc的3倍左右。考虑到现在ffmpeg的解码优化应该还没做,以后应该会大幅改善。因为几年前ffmpeg有一次重大的hevc解码优化,解码性能需求降低了一半。
同时我还发现现在的av1解码,貌似只能用两个线程?而且好像一旦单线程不够了,双线程消耗剧增,并行能力太差?油管有个1080p 30fps的av1测试视频,我原速播放有些地方会卡,但半速播放性能只需要1/4-1/3左右。。。


IP属地:美国1楼2018-09-14 14:48回复
    AV1 Beta Launch Playlist里有一些测试视频,可以用youtube-dl下载下来。
    我对比的1080p 30fps是这个,Halo Infinite - E3 2018 - Announcement Traile
    244 webm 854x480 480p, vp9, 30fps, video only, 8.45MiB
    135 mp4 854x480 480p, avc1.4d401f, 30fps, video only, 9.27MiB
    397 mp4 854x480 480p, av01.0.05M.08, 30fps, video only, 10.44MiB
    247 webm 1280x720 720p, vp9, 30fps, video only, 17.55MiB
    136 mp4 1280x720 720p, avc1.4d401f, 30fps, video only, 18.95MiB
    398 mp4 1280x720 720p, av01.0.05M.08, 30fps, video only, 23.31MiB
    248 webm 1920x1080 1080p, vp9, 30fps, video only, 31.90MiB
    137 mp4 1920x1080 1080p, avc1.640028, 30fps, video only, 36.24MiB
    399 mp4 1920x1080 1080p, av01.0.05M.08, 30fps, video only, 49.75MiB


    IP属地:美国2楼2018-09-14 14:50
    回复(1)
      总体感觉av1的解码难度还行,和hevc差不多。只不过现在毫无优化,youtube也只敢给到480p。


      IP属地:美国3楼2018-09-14 14:56
      回复
        最近发现chrome70开启了av1解码,于是又重新试了一下av1解码性能。
        测试视频还是参考2楼那个油管的(watch?v=Fmdb-KmlzD8),那个现在已经是1080p+59.94fps版本了,平均码率5142kbps,目测有一段峰值码率大约是35-45mbps。
        拿最新的ffmpeg直接解码不渲染,看看性能到底如何了。(ffmpeg-20181018 + aom-20181017)
        ffmpeg -threads 4 -benchmark -i av01.mp4 -f null -
        cpu是intel 4代4c8t@3.7GHz,手动限制到最大4核心4线程。分别选择不同的线程,性能如下:

        4+线程下,cpu使用率最大也就在250%的样子,再多线程也并不能提升cpu使用率了。
        值得一提的是,4线程的并行能力已经很不好了,不光性能只提升了20%,cpu总计算量还增加了9.3%(2->4线程的代价)。如果thread=8,同时开启超线程,性能反而会跌到fps=83(cpu总计算量=241.5s,实际时间=99.8s)性能下降3.6%。
        虽然平均码率>60fps,但后面有一段码率非常大,我只能以0.4x的速度,也就是24fps,才能稳定解码,30fps会掉帧,大概26fps左右。目测24fps下的等效码率大概在15mbps,解码压力非常大。考虑到我的cpu性能,现在intel的8/9代单线程性能应该能比我的快25%以上,也就是仅能保证正常码率的1080p30fps,1080p60fps画面复杂度一上来就无解了。


        IP属地:美国8楼2018-10-20 10:40
        回复