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

HEIF 格式的前景怎么样?未来会有更多手机或相机采用 HEIF 代替 JPG 吗?

  •  1
     
  •   shanwu · 2021-07-09 10:52:05 +08:00 · 3523 次点击
    这是一个创建于 1235 天前的主题,其中的信息可能已经有所发展或是发生改变。
    问这个问题的背景是:我的照片比较多,仅 JPG 就几百 GB,存在手机自带云存储里 (RAW 另作本地存储备份)。最近考虑把 JPG 的照片转成 HEIF 格式来保存,能大大节省云存储空间。3000 万像素的单反拍出来的 JPG 照片,大小大概在 7 、8 MB 不等,有损转成 HEIF 后仅不到 2 MB 的画质就已经看不出明显差异。

    目前电脑和手机都是用的苹果,未来应该会一直支持 HEIF,但为了做好不被苹果永远绑架的准备,不知道未来 HEIF 在 Windows 、Android 等主流平台或设备上支持度如何呢?现在拍照设备的像素越来越高,小米、OPPO 的部分新机型也开始使用 HEIF,未来会有更多设备跟进吗?
    37 条回复    2021-07-11 20:24:26 +08:00
    mxT52CRuqR6o5
        1
    mxT52CRuqR6o5  
       2021-07-09 10:54:29 +08:00
    差异不差异的建议用软件比较一下,你 jpg 在多压压也未必能看出差异
    ysc3839
        2
    ysc3839  
       2021-07-09 10:59:54 +08:00   ❤️ 1
    Windows 10 官方是有支持的,不过要安装一个扩展
    https://www.microsoft.com/en-us/p/heif-image-extensions/9pmmsr1cgpwg

    更早的系统大概不支持,得使用第三方软件了。
    calano
        3
    calano  
       2021-07-09 11:02:07 +08:00
    findx3 的 10bit heif 在 gp 和 onedrive 上能传但是没法正常预览,还是支持不太够,倒是国内平台像度盘、阿里云盘这些没啥问题
    win10 平台支持的也不太行
    PrinceofInj
        4
    PrinceofInj  
       2021-07-09 11:02:18 +08:00 via Android
    感觉一般般,收费问题绕不过。Windows 的上 heif 插件还是收费的...但是第三方的又没事儿,不知道他这费用到底是咋算的。
    FS1P7dJz
        5
    FS1P7dJz  
       2021-07-09 11:04:51 +08:00
    @PrinceofInj 免费的啊...收费的才是第三方吧
    FS1P7dJz
        6
    FS1P7dJz  
       2021-07-09 11:06:00 +08:00
    另外 heif 貌似类似 mkv 其实只是一个容器,里面各家应该会塞入自己特殊的一些编码信息
    这点可能是阻碍普及的关键
    ysc3839
        7
    ysc3839  
       2021-07-09 11:10:38 +08:00
    @ysc3839 刚刚去看了下,Windows 10 的 system32 文件夹中是有 msheif.dll 的,所以说是有自带 HEIF 支持。
    至于商店里那个有啥用我就不知道了,可能 UWP App 用的是商店里这个,Win32 App 用的是系统自带的?
    TypeError
        8
    TypeError  
       2021-07-09 11:16:12 +08:00 via Android
    后面又有 avif,图像编码不像视频编码替换那么快吧
    shanwu
        9
    shanwu  
    OP
       2021-07-09 11:16:32 +08:00
    @calano OPPO Find X3 是默认拍摄所有照片都是 HEIF 吗?还是只是针对开启 10 bit 选项的照片?
    cky
        10
    cky  
       2021-07-09 12:13:55 +08:00 via iPhone
    转换有损吗
    calano
        11
    calano  
       2021-07-09 12:16:20 +08:00
    @shanwu 可以选,heic 和 jpeg,10bit 只支持 heic 格式,heic 是真省空间
    shanwu
        12
    shanwu  
    OP
       2021-07-09 12:26:49 +08:00
    @cky 有损,但百分百放大后也看不出来明显差异。而且 JPG 和 HEIF 本身都是有损的,用相机拍的 RAW 我也在移动硬盘保留了。
    shanwu
        13
    shanwu  
    OP
       2021-07-09 12:30:17 +08:00
    @calano 相比 JPG 确实优势很大。以 OPPO 的市场占有率,如果所有新机型都默认是 HEIF 那这个格式会很流行的。还有小米,不知道新机型是不是也是默认 HEIF 了。
    icyalala
        14
    icyalala  
       2021-07-09 12:38:12 +08:00   ❤️ 1
    WebP 或者 AVIF 、HEIF 这类现代图片格式,都是用视频的帧内编码来做的。一方面是视频压缩技术越来越复杂,有越来越多公司共同投入制定编码标准,重新开发一个新的图片编码已经很难赶得上现有视频编码了;另一方面越来越多硬件也会有硬件的编解码支持。

    HEIF 实际就是 H.265 帧内编码,只要以后支持 H.265 硬件编解的设备码越多,那 HEIF 格式肯定会越来越普及。
    wangsd
        15
    wangsd  
       2021-07-09 14:09:43 +08:00
    我感觉普及难度挺大的,主要是 HEVC 方面的专利费问题,AVIF 和 JPEG XL 未来普及的可能性更大些。
    3dwelcome
        16
    3dwelcome  
       2021-07-09 14:36:56 +08:00
    我查了一下,HEVC 还真有专利费,难怪那么多年下来,chrome 对于 HEVC/HEIF 的支持,一点点动静也没有。

    相比之下还是 google 好,开发了 webp 格式后,大家免费随便用。
    shanwu
        17
    shanwu  
    OP
       2021-07-09 16:13:34 +08:00
    原来如此。所以这个问题就变成了 HEVC (H.265) 相比 AVC (H.264) 的前景如何?查了一下,前者的授权费是每个设备 0.2 美元,每年 2500 万美元封顶;后者 0.1 美元每个设备,每年 650 万美元封顶。
    wangsd
        18
    wangsd  
       2021-07-09 17:39:25 +08:00   ❤️ 1
    @shanwu AVC 主要是 MPEG LA 提供专利,到了 HEVC 这边现在就有 3 个专利池,MPEG LA 、HEVC Advance 、Velos Media,使用 HEVC 你可能得向 3 个组织交专利费,MPEG LA 应该是其中最便宜的。
    icyalala
        19
    icyalala  
       2021-07-09 18:19:08 +08:00   ❤️ 2
    @shanwu 一个格式的流行或者成功,专利只是其中一个因素。
    AVIF 的 AV1 编码复杂程度比 H.265 还高,没有硬件加速的情况下编码时间目前还很难令人接受,解码 AV1 复杂度反而低一些。目前看操作系统( Win/macOS/iOS/Android/Ubuntu )、软件(Adobe 系列)、硬件(新的一些相机、CPU 加速) 支持 HEIF 更多一些;浏览器 (Chrome/Firefox/Opera) 更优先支持了 AVIF 。未来如何尚未可知,但目前为止 HEIF 是流行程度更高、支持更广泛的。
    westoy
        20
    westoy  
       2021-07-09 18:31:36 +08:00
    佳能和索尼一些新机已经支持 HEIF 或者 HEIC 了
    fl2d
        21
    fl2d  
       2021-07-09 19:09:41 +08:00
    jpxl 才是未来?
    jim9606
        22
    jim9606  
       2021-07-09 19:10:46 +08:00   ❤️ 1
    我个人不看好 HEIF,AVIF 其实也一般,纯商业原因,不比 WebP 好。

    取决于你怎么定义普及。HEIF 因为用了 HEVC 所以被 Chromium 系浏览器嫌弃(准确说是所有浏览器)。至少 Web 这块暂时没戏。AVIF 则是 Chromium 系支持,但 Apple 不支持。Android 和 Windows 是啥都支持。

    有损压缩转换前想好你要什么质量,JPEG 调低 quality 也能削减很多体积,HEIF 、AVIF 、WebP 都用无损压缩可能体积更大。

    @FS1P7dJz HEIF 通常是用 ISO 容器格式的吧?
    jim9606
        23
    jim9606  
       2021-07-09 19:18:37 +08:00
    另外吐槽一句,好像没听说有非高性能计算领域用硬件解码图像的,不管是 APP 还是浏览器,不管是 jpeg 还是 webp,不知道是容易踩 bug 还是硬件加速那点内存 copy 不值得。
    dingwen07
        24
    dingwen07  
       2021-07-09 23:04:59 +08:00 via Android
    Android 已经支持了,Google Photos 对 HEIF 已经有较好的支持。Windows 现在会默认安装图像扩展。
    icyalala
        25
    icyalala  
       2021-07-09 23:06:33 +08:00   ❤️ 1
    @jim9606 至少 iOS 的 JPEG 就是硬件解码的,所有 iOS App 使用到的 JPEG 图片,最终都是走的 AppleJPEG.framework 的封装。
    cubecube
        26
    cubecube  
       2021-07-09 23:10:49 +08:00
    用了一阵子,改回 jpg 了,系统本身可能支持,但是很多软件不支持,预览啥的也默认不支持,遇上新设备就抓瞎。
    比如至少上个月,淘宝 app 还无法识别系统中的 heif 图片,无法上传到聊天中。类似的情况还不少
    NatsumeMio
        27
    NatsumeMio  
       2021-07-09 23:39:53 +08:00   ❤️ 1
    转 heif 不如直接 webp,支持程序非常多,而且可以丢到网页上,vp9 编码和 h265 实际上都是半斤八两没啥区别。压缩程序也非常多。
    shanwu
        28
    shanwu  
    OP
       2021-07-09 23:47:08 +08:00
    @cubecube iOS 上倒是一直没发现问题,从 iPhone 7 开始相机默认就是 HEIF 了,日常还没发现哪个应用不支持。安卓上如果淘宝不支持,那岂不是有很多小米和 OPPO 用户投诉?还是说在小米和 OPPO 上是需要手动设置才会使用 HEIF ?
    jim9606
        29
    jim9606  
       2021-07-10 01:02:10 +08:00   ❤️ 1
    一般用户不喜欢这些新图像格式是因为比起压缩率,通用性更重要,想让平台推动变革还是蛮有难度的。

    Android 11 强制 APP 走 MediaStorage 存取图片应该能为新图像格式推广提供便利,系统可以为不支持新格式的 APP 提供自动格式转换。也不知道这条路走不走得通。

    想想动图这玩意需求也挺旺盛的,WebP 算是既支持动图又推广比较成功的方案,但我就没见多少网站用这个做动图的,铺天盖地的还是 gif 。究竟是哪里的问题?
    tsui
        30
    tsui  
       2021-07-10 06:09:08 +08:00   ❤️ 1
    照片 视频来回转换不就是几行 command 的事情

    比如单反的 JPEG 转 HEIC:
    magick mogrify -format HEIC *.JPG
    JPG 调半天参数效果还差就是吃饱了撑的

    再比如单反的 MP4 转 h.265 的 MOV container:
    ffmpeg -i "$i" -c:v libx265 -preset medium -crf 28 -vtag hvc1 -movflags use_metadata_tags -map_metadata 0:g -c:a copy "${name}_temp.MOV"
    然后用 mp4edit 把 exif copy 去 MOV

    我现在所有相机拍的默认转成 HEIC 和 MOV,然后导入 iPhone 。没必要争论什么 WEBP 更好,BETAMAX 还更好呢。苹果生态现在就是 HEIC 和 h.265 MOV 体验好,没别的了
    wanguorui123
        31
    wanguorui123  
       2021-07-10 09:15:00 +08:00 via iPhone
    HEIF 兼容性确实不太行,单纯的存储还是可以接受的
    shanwu
        32
    shanwu  
    OP
       2021-07-10 17:09:22 +08:00
    @tsui 我是用 Mac 自带的转换工具,不过转成 H.265 耗时比 H.264 长很多,我拍视频不多一般就转成 H.264 了。好奇你的原视频还另作保存吗?
    NatsumeMio
        33
    NatsumeMio  
       2021-07-10 22:26:22 +08:00
    @jim9606 新方案和成熟方案并没有质变的问题,钱多的公司并不稀罕这一点存储费。但是像电报就已经完全不支持了 gif,上传 gif 会被自动转换。webp 方案其实也已经成功的推开了,b 站的照片和动图目前都基本上已经是 webp 了。像 wordpress 之类的博客也有相关插件一键转换所有到 webp 然后自动替换的插件了。
    tsui
        34
    tsui  
       2021-07-11 03:32:12 +08:00   ❤️ 1
    @shanwu quick time 我以前也用,但是我的 2019 i9 MacBook 性能太弱鸡还转风扇。。。

    相比 JPEG,现在视频的 flow 不是特别理想,因为能 edit video 的 exif 的似乎只有 mp4edit,而 mp4edit 在 ARM 机器上找不到能用的 binary,exiftool 不 work 。基本上是一堆 bash script 和手动操作,大部分工作 offload 到了 cloud 了:

    * 先 copy 到 Mac 上,同时 rclone 到 Google Drive 和复制到本地 NAS
    * 用 mp4extract moov/udta name.MP4 ${name}.txt ,存下 exif,然后 Mac 上就删除 MP4 原文件了
    * Oracle 的 ARM 小机器 rclone mount,然后跑 ffmpeg,转成 h.265 MOV,文件大小有时候能减少 100 倍
    * rclone MOV 文件回来,用 mp4edit --insert moov:"${name}.txt" "${name}_temp.MOV" "${name}.MOV" 把 exif 贴回去

    用的时候只看 h.265 的 MOV,4K MP4 太占体积了,动不动几个 G,哪怕是 NAS 有时候也卡
    shanwu
        35
    shanwu  
    OP
       2021-07-11 11:16:50 +08:00
    @tsui 我也挺烦转换视频的,没找到一个工具能在转换时就能保留 metadata,数据量大还需要考虑机器性能。不过 ExifTool (-tagsFromFile)在我这里倒是可以成功复制视频的 metadata,其他的倒无所谓,时间能在相册里正常显示我就觉得可以了。
    tsui
        36
    tsui  
       2021-07-11 12:56:45 +08:00
    @shanwu 是的,时间比较简单,只要 exiftool 写 MOV 的 QuickTime:CreationDate field 就可以了

    我主要想 MOV 有所有的原始信息
    calano
        37
    calano  
       2021-07-11 20:24:26 +08:00
    @dingwen07 但亲测 x3 的 heif 在 gp 上大多数图无法预览,猜测可能是因为这个 10bit,onedrive 也是一样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5652 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 06:03 · PVG 14:03 · LAX 22:03 · JFK 01:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.