V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
San2025
V2EX  ›  问与答

使用 handbrake 大菠萝转码 CPU 都是满载, 如何降低 CPU 占用?

  •  
  •   San2025 · 2 天前 · 894 次点击

    一直使用 handbrake 转码压缩视频, 之前是 UHD770 核显 压缩成 H265 ,1080P 的话大约 300fps ,CPU 是 100%满载的。 现在使用 40 系显卡压缩成 AV1 格式, 无论 handbrake 怎么设置,CPU 都是满载,但 GPU 只有 60%, 帧率 400-500fps 。

    今天使用了 ShanaEncoder 来转成 AV1 , 发现 CPU 占用只有 50%,GPU 占用 98%, 并且帧率明显比 handbrake 的时候稍快(约 530fps )。

    看任务管理器, 无论 handbrake 还是 ShanaEncoder , 无论是核显还是独显的 Decode 都是 0%, 也就是两种软件转码都使用 CPU 软解, 但是, 反而转码速度更快的 ShanaEncoder 反而 CPU 占用更低, 转码速度更慢的 handbrake 反而 CPU 拉满, 这到底什么怎么回事?谁能解析一下?

    我还是比较喜欢大菠萝的设置参数比较详细, 现在希望能解决这个问题。

    19 条回复    2025-04-02 01:22:26 +08:00
    LanhuaMa
        1
    LanhuaMa  
       2 天前
    不要使用 handbrake ,handbrake 只使用 gpu 解码,编码主要是在 cpu 上
    直接 ffmpeg
    billccn
        2
    billccn  
       2 天前
    硬件解码需要在设置里打开。

    不同软件只有压缩参数一样才能对比,如果是硬件压缩,那都是调用显卡厂商的 SDK ,很难想象不同的软件会造成 40-50%的 CPU 差距。
    wnpllrzodiac
        3
    wnpllrzodiac  
       2 天前 via Android
    限速啊。cpu 默认吃满的。
    keengrass
        4
    keengrass  
       2 天前
    建议你换 M 系苹果 Mac
    yinmin
        5
    yinmin  
       2 天前 via iPhone
    这些软件本质都是调用 ffmpeg 转码的,为啥不直接用 ffmpeg ? ffmpeg 指令参数可以问 ai 。另外,我发现使用 gpu 压缩算法貌似是显卡驱动提供的,相同分辨率和码流下,不同的显卡压缩出来的视频质量是有差别的,貌似用 cpu 压缩( ffmpeg 的算法)的质量比 gpu (驱动里算法)高一些。
    villivateur
        6
    villivateur  
       2 天前
    我在用 shutter encoder
    xiaokaiyyy
        7
    xiaokaiyyy  
       2 天前
    Handbreak 配合 M 系列芯片好一点。
    kokutou
        8
    kokutou  
       2 天前
    ffmpeg -decoders
    ffmpeg -encoders

    V....D libaom-av1 libaom AV1 (codec av1)
    V....D librav1e librav1e AV1 (codec av1)
    V..... libsvtav1 SVT-AV1(Scalable Video Technology for AV1) encoder (codec av1)
    V....D av1_nvenc NVIDIA NVENC av1 encoder (codec av1)
    V..... av1_qsv AV1 (Intel Quick Sync Video acceleration) (codec av1)
    V....D av1_amf AMD AMF AV1 encoder (codec av1)
    V....D av1_vaapi AV1 (VAAPI) (codec av1)

    V..... libdav1d dav1d AV1 decoder by VideoLAN (codec av1)
    V....D libaom-av1 libaom AV1 (codec av1)
    V....D av1 Alliance for Open Media AV1
    V..... av1_cuvid Nvidia CUVID AV1 decoder (codec av1)
    V....D av1_qsv AV1 video (Intel Quick Sync Video acceleration) (codec av1)
    zsj1029
        9
    zsj1029  
       2 天前
    参数可以选择 gpu 转码,intel 集显也可以的,速度快,cpu 占用好很多,但是成品效果不如 cpu
    ererrrr
        10
    ererrrr  
       2 天前
    单纯降低 cpu 占用并不可取,因为你想要的是啥?这个其实挺复杂的
    xy 问题,不如讲你想要什么
    ouqihang
        11
    ouqihang  
       2 天前 via Android
    开 GPU 解码和编码。设置里面有。
    San2025
        12
    San2025  
    OP
       2 天前
    @LanhuaMa 命令行不太会, 也怕麻烦
    San2025
        13
    San2025  
    OP
       2 天前
    @billccn 使用 2 年了, 各种设置基本上熟悉了, 并且都设置好固定的预设来转的, 保证参数一致
    San2025
        14
    San2025  
    OP
       2 天前
    @keengrass 早就用过, 画质太拉跨了, 对比英特尔的核显。
    San2025
        15
    San2025  
    OP
       2 天前
    @yinmin 对的, 早就对比过不同显卡、核显、苹果 M1 系列、CPU 编码等的画质区别, 发现 CPU 编码画质最好, 苹果 M1 和 NV 显卡编码最差劲( AMD 的没有测试)。
    为何会出现这种情况呢?估计是因为 数据类型还有硬件流媒体的编解码 bits 数决定的, 因为是固定 bits 数, 有时候过高或者过低的低位被舍去了, 因为 CPU 编码的 bits 数是没有限制的, 所以画质得到最大的保留
    San2025
        16
    San2025  
    OP
       2 天前
    @kokutou 没研究, 这是干什么?
    San2025
        17
    San2025  
    OP
       2 天前
    @zsj1029 之前一直都是, 早些时候是 HD630 ( 1080P 只要几十 fps ), 后面使用 UHD770 ( 1080P 有 300fps ), 最近使用 40 系显卡转 AV1 感觉挺不错(约 400-500fps )。
    画质的话, 我都是选择 固定画质 Q22 ( H265 1080P 情况下) 和 4K H265 Q19 , 在 UHD770 下几乎看不到画质损失的最低码率。
    而 在 40 系显卡转 AV1 的时候是选择 固定画质 Q36 。
    San2025
        18
    San2025  
    OP
       2 天前
    @ouqihang 开了的
    LanhuaMa
        19
    LanhuaMa  
       1 天前
    @San2025 #12 试试看 tdarr
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2179 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:00 · PVG 00:00 · LAX 09:00 · JFK 12:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.