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

在 ARM Mac 上使用 x265 编码视频的注意事项

  •  
  •   cwbsw · 2023-10-29 17:26:24 +08:00 · 1839 次点击
    这是一个创建于 420 天前的主题,其中的信息可能已经有所发展或是发生改变。

    brew 直接安装的 x265 是没有 ARM 的汇编优化的,会亏不少性能。

    其实支持 ARM 优化的补丁早已提交,但是 x265 一直没有发布新版本,所以 brew 默认安装的还是没有 ARM 优化的 stable 版。

    解决办法也很简单,brew 安装 HEAD 版本的 x265 即可。

    x265 [info]: HEVC encoder version 3.5+110-8ee01d45b
    x265 [info]: build info [Mac OS X][clang 15.0.0][64 bit] 8bit+10bit+12bit
    x265 [info]: using cpu capabilities: NEON
    

    另外也可使用图形界面的 handbrake ,也没有这个问题。

    7 条回复    2023-10-30 11:00:33 +08:00
    shimanooo
        1
    shimanooo  
       2023-10-29 18:29:01 +08:00
    有没有 x264 ,x265 ,hevc_videotoolbox 的画质-码率对比?

    我粗浅感觉硬编码 HEVC 和软编码 h.264 同码率画质差不多。速度差距取决于软编码 CPU 性能。
    shinsekai
        2
    shinsekai  
       2023-10-29 19:53:15 +08:00
    @shimanooo 听说 M1 处理器硬编码 H265 有画面撕裂问题,M2 解决了
    weeei
        3
    weeei  
       2023-10-29 19:58:11 +08:00
    @shimanooo 同样的画质和同样的码率,H.265 比 H2.64 占用的存储空间要少理论 50%
    asdgsdg98
        4
    asdgsdg98  
       2023-10-29 20:26:15 +08:00
    感谢,我试一下
    之前用 ffmpeg 压 hevc ,感觉速度相当慢,只比我古董级 E3 快一倍,不知道是不是这个原因
    jjijack
        5
    jjijack  
       2023-10-30 02:14:20 +08:00
    @shimanooo 装好楼主的 x265 ,然后通过 libx265 、hevc_videotoolbox 和苹果自家的 Compressor 随便转码了个电车上拍的素材对比了一下。统一设置码率到 20000 kb/s 。
    libx265 用 CPU 编码理论上画质最好,但速度太慢,大概就 0.15 倍左右,而且 CPU 吃满风扇直接呼呼转。hevc_videotoolbox 最快,速度差不多在 1 倍左右,但画质最差,动起来明显有色块,Compressor 速度差不多在 0.5 倍左右,安静的同时我觉得画质还可以接受。ffmpeg 参数调得好可能效果也能好,但感觉平时简单转码直接用 Compressor 就够了😂

    随便截了动的快的一帧放大 200%对比
    hevc_videotoolbox: https://imgur.com/Hy91qPK
    Compressor: https://imgur.com/TQTLkMh
    libx265: https://imgur.com/6cKquHH
    Compressor 和 libx265 最主要差别不是有无色块而是色彩,Compressor 人脸明显偏绿一点,观感差一些但我回原片里看,实际上真实色彩是介于二者之间的😂
    kx8020
        6
    kx8020  
       2023-10-30 08:23:53 +08:00
    主要还是 Apple Silicone 自带的硬件编码器不行,虽然速度还算快,能耗极低,但同码率的情况下,画质相比 NVENC 差太多。

    下图可以下载下来在电脑上放大至 100% 进行对比,是未经压缩的 PNG 原图截图。

    图中 Original 是正经原版 5700 kb/s 原视频,转码目标码率均为 4600 kb/s 。3.2x, 6.3x 等标注为转码速度,除 NVENC 是 1050Ti 以外,其余均为 M1 Pro 。
    可以看出,libx264 2 Pass 效果明显,且耗时不会长太多。
    VTB 2 Pass 时间长一倍,且效果不明显。

    结论是 NVENC 遥遥领先,这还是 2017 年的 6 代 NVENC, 后续的 7 代 8 代性能应该能更好。

    https://onedrive.live.com/redir?resid=F28B214E83850AFC!10368&authkey=!AEhBhxbZkG31NHM
    tanrenye
        7
    tanrenye  
       2023-10-30 11:00:33 +08:00
    @weeei 理论而已,实际上 hevc 在低分辨率上基本没有优势,甚至在码率上去之后,细节不如 avc ,hevc 在 4k 优势才比较明显
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:59 · PVG 02:59 · LAX 10:59 · JFK 13:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.