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

买了两年的 4060ti 觉得 av1 编码器很值

  •  1
     
  •   heimoshuiyu · 59 天前 · 2151 次点击
    这是一个创建于 59 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原本是冲着 16G 显存买的,想着能玩玩 AI 绘画。用了两年发现最值的是它的 av1 硬件编码器。

    我有一个 DJI action 平时和女朋友出去玩没事就爱挂载胸前全程记录,拍的 2k 60 帧,一天能拍差不多 100G 的视频。用显卡的 nvenc_av1 硬件编码器把视频全部转成 av1 编码,再存到 nas 上。编码前后肉眼基本看不出画质区别,但是体积是原来的 10% 左右。

    以下是 ffmpeg 编码用的参数

    ffmpeg -noautorotate -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i "{}" -c:a copy -c:v av1_nvenc -aq-strength 15 -temporal_aq 15 -preset p6 -cq:v 39 "/data/record/DJI_001_av1/{}
    

    最后用 exiftool 处理一下免得丢失视频元数据

    exiftool -tagsFromFile "{}" -overwrite_original "/data/record/DJI_001_av1/{}"
    

    最终视频码率大约在 3-5M ,可以放在 jellyfin 之类的服务上直接远程无损播放

    23 条回复    2025-05-09 17:21:29 +08:00
    dreampet
        1
    dreampet  
       59 天前
    编码性能怎样?
    heimoshuiyu
        2
    heimoshuiyu  
    OP
       59 天前
    @dreampet 2k 60fps 大概是 3x 的速度
    1080p 30pfs 大概是 12x 的速度
    pxiphx891
        3
    pxiphx891  
       59 天前
    不错
    alect
        4
    alect  
       59 天前
    那这个对显存要求不敏感吧?我有个 4070 dual ,也恰好入手了 action 4 ,存了好多视频还没转。
    heimoshuiyu
        5
    heimoshuiyu  
    OP
       59 天前
    @alect 不敏感,ffmpeg 也就占几百 M 显存
    PrinceofInj
        6
    PrinceofInj  
       59 天前   ❤️ 1
    我是把🐱片都转成 av1 了,反正这东西对清晰度要求不高,巨省空间。
    goodryb
        7
    goodryb  
       59 天前
    不知道 DJI action 拍摄是什么格式

    试了下 YouTube 上的 4k HDR vp9 大概能压缩到原文件的 23% ,画质没有肉眼可见的差别,显存占用 3.6G
    heimoshuiyu
        8
    heimoshuiyu  
    OP
       59 天前 via Android
    @goodryb 是 hevc ,但是码率很高
    findex
        9
    findex  
       59 天前 via iPhone   ❤️ 1
    转码神器。新出的处理器支持 AV1 比较多
    zeroaone2099
        10
    zeroaone2099  
       59 天前
    AV1 编码神卡应该是 Intel 家的?
    heimoshuiyu
        11
    heimoshuiyu  
    OP
       59 天前 via Android
    @zeroaone2099 性价比的话,可能是的,但是编码质量(同等码率下的画质)还是 n 卡领先
    heimoshuiyu
        12
    heimoshuiyu  
    OP
       59 天前 via Android
    @PrinceofInj av1 编码的 av (
    VwEI
        13
    VwEI  
       58 天前   ❤️ 1
    我之前花了 1K 买 A380 就专门来转 AV1 的
    xpfd
        14
    xpfd  
       58 天前   ❤️ 1
    视频转码的话 试试 B580 吧
    Chevalierbite
        15
    Chevalierbite  
       58 天前
    9070xt 支持吗?
    heimoshuiyu
        16
    heimoshuiyu  
    OP
       58 天前
    @Chevalierbite 9070xt 有 av1 编码器,但是 A 卡用的编码器和参数和 N 卡不一样,效果也不一样
    goodryb
        17
    goodryb  
       58 天前
    请教下这些转码参数是 op 自己摸索的吗,之前想转码一些视频,抄网上的命令转出来质量很差
    heimoshuiyu
        18
    heimoshuiyu  
    OP
       58 天前
    @goodryb 大部分来自这个文档 https://docs.nvidia.com/video-technologies/video-codec-sdk/12.1/ffmpeg-with-nvidia-gpu/index.html
    大概意思是,使用最慢的编码速度,cq:v 质量值 39 (越低画质越好体积越大)
    dford
        19
    dford  
       58 天前
    所以说实际上是 nvenc 变好了?记得几年前用 nvenc 兼容性很差,转出的视频常常会花掉
    heimoshuiyu
        20
    heimoshuiyu  
    OP
       58 天前
    @dford 以前不知道(
    wxf666
        21
    wxf666  
       34 天前   ❤️ 1
    减少 90% 体积会不会损失太大了。。

    av1 适合中低码率压缩,中高码率时,保留细节的能力不如 h265 ,更何况还是 GPU 压缩。。

    更好方式是,FFMetrics 算下每一帧质量分数,挑最差几帧出来,用 video-compare 与原视频对比,看自己能否接受画质损失。。

    比如,我前几天( /t/1101836 #reply56 )用 x265 veryslow 测试压 4K 80 Mbps 黑神话宣传片,压到 20 Mbps 时(即减少 75% 体积),最差十几帧才基本能接受。。





    heimoshuiyu
        22
    heimoshuiyu  
    OP
       34 天前
    @wxf666 你说得很对,但是你忘了视频录制设备的算力有限,录制出来的视频本身就码率偏高。即使是 原视频 hevc -> CPU 编码 hevc 转一次,肉眼基本看不出区别的情况下,体积也能小很多。

    我没用 FFMetrics, 但是我挑了一些非常动态的场景,基本看不出区别,我是很满意的(
    wxf666
        23
    wxf666  
       34 天前   ❤️ 1
    @heimoshuiyu #22

    录制码率确实虚高,但 av1 减少 90% 体积,只怕细节损失会很大。。

    我用 x265 veryslow 软压都才敢减少 75 ~ 80%,80% 时最差十几帧对比原视频,很多细节纹路都消失了。。

    回忆很珍贵,我是愿意少节省 10% 体积,来让日后回看时能更清晰,不这么朦胧。。


    当然,我是用游戏视频这种,颗粒细节满天飞的精细画质,来做测试的。

    现实可能没那么多线条分明的细节纹路,或许像你这样减少 80 ~ 90% 也可行。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1714 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:28 · PVG 00:28 · LAX 09:28 · JFK 12:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.