dwing吧 关注:5,642贴子:88,530
  • 48回复贴,共1

为什么ffmpeg用libx264压片无法跑满cpu?

只看楼主收藏回复

3900x,crf模式,没有自己设置线程数,我记得ffmpeg默认开的线程数应该是cpu超线程数的2倍,没有理由跑不满啊,压片只有大概70左右的占用,只有同时压两个才能跑满cpu。
但是用megui时候可以跑满cpu,是因为megui直接调用x264,还是因为megui默认设置了线程数?
另外想问下x264线程数对压片速度的提升是线性的吗?对画质影响大吗?比如我买个3990x,设置128个线程去压片,速度会很快吗?画质降低会很严重吗?


IP属地:河南1楼2020-09-11 13:34回复
    264最大16线程足矣,多开吧


    来自Android客户端2楼2020-09-11 13:44
    收起回复
      用veryslow 就满了
      线程太多画质压缩率都会小幅下降


      IP属地:湖北3楼2020-09-11 22:21
      收起回复
        我多核也遇到了这个问题


        IP属地:上海来自手机贴吧5楼2022-10-10 16:45
        回复
          锐龙R9-7900X也遇到了,CPU占有率平均大概在35%


          IP属地:福建6楼2023-07-09 22:18
          回复
            隔了这么久还有人回帖,说下我的解决办法吧
            就是从时间上分割视频,然后同时压,最后再合并起来
            注意每一段要用相同的参数压才能确保合并不出问题,音频可以不分割,跟合并后的视频mux即可


            IP属地:河南7楼2023-09-01 21:05
            收起回复
              你好我也有压片需要,请问配一台双路E5 需要多少线程才能压制4k h265?还是说上个I9才可以?我用i7压1080p+265就非常痛苦了,


              IP属地:天津8楼2024-07-20 21:45
              收起回复
                无法复现你的问题。13700k 24线程是吃满的。以前用5900x也没发现吃不满。
                可以试试handbrake,这个虽然底层也是ffmpeg,但是实现还是有区别。


                IP属地:重庆9楼2024-07-25 16:46
                收起回复
                  接我楼中楼的回复:
                  测试设备:12800hx+4070移动
                  测了三个片子:
                  GBC1专第一首和第七首,1080p两个
                  地球脉动第三季第六集前10分钟,4k一个

                  第一张图是测试速度预设的总表,固定了crf,我从中选择了 medium、p4、9(stvav1)来进行CRF的测试

                  下面三张是CRF/ CQ 从18到40的测试,每个视频分别压出来180多个测试视频,筛选出VMAF分接近x264 crf24的结果,此时画质相同,对比体积即可知道编码器高下



                  结论:
                  libx264、h264_qsv、h264_nvenc全部出局,因为太差了,我在第三张图都不筛选后两个的结果了,影响我观看其他编码器的柱子
                  但H.264至少是兼容性的保底选择,比如wallpaper可能需要h264,不能完全丢掉,那看情况选h264_nvenc cq28,其次libx264 crf24吧
                  libx265、libsvtav1保有一定实力,x265可以被av1的preset9代替了,因为svtav1调快速度预设几乎不影响画质,但x265会有些影响所以只能调中等速度medium,导致x265既不比svtav1快,也不比svtav1质量好,陷入这种尴尬的境地。唯一阻碍av1的是对于老手机没av1硬解的人不好。
                  hevc_qsv,x265加速青春版
                  hevc_nvenc,x265加加速更青春版
                  av1_nvnec,进步极大,他比之svtav1,就不像hevc_nvenc对比h265还要考虑情况了,不用去想要不要体积多1%~8%换来速度翻个四倍,av1_nvnec基本和svtav1五五开,我体积最多大2%,速度快四倍,不快白不快,有N卡必压av1_nvenc好吧。
                  h264和h265的amf我也测了,h264_amf比h264_qsv还差,hevc_amf小于等于x264,感觉没啥说的,就不放图了。
                  下图是国外老哥测试的编码器性能:svtav1 > x265 > av1_nvenc > hevc_nvenc >= av1_amf > x264 > hevc_amf > h264_nvenc >=hevc_qsv > h264_qsv > h264_amf
                  链接:https://goughlui.com/2024/02/25/video-codec-round-up-2023-part-18-conclusion/


                  他这里只比较了压缩率,没有比较速度。然后他选的速度预设和我的也不同(我得考虑日用的嘛),所以和我测的结果也有些小不同,比如hevc_qsv他的比较低,我测的其实还算能用,反正比x264更好
                  我推荐:av1_nvenc > hevc_nvenc > svtav1 > hevc_qsv = x265
                  算上速度我依然推荐 av1_nvenc > hevc_nvenc > svtav1 > hevc_qsv = x265
                  等我完善下我的《多编码器多预设批处理脚本》的代码,我会再分享一下,也做个这种码率和VMAF的横纵坐标图出来。做个懒人专栏和懒人一键包,到时候大伙可以测自己的东西了


                  IP属地:广西11楼2024-11-19 22:05
                  收起回复