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

2021-07-09 10:52:05 +08:00
 shanwu
问这个问题的背景是:我的照片比较多,仅 JPG 就几百 GB,存在手机自带云存储里 (RAW 另作本地存储备份)。最近考虑把 JPG 的照片转成 HEIF 格式来保存,能大大节省云存储空间。3000 万像素的单反拍出来的 JPG 照片,大小大概在 7 、8 MB 不等,有损转成 HEIF 后仅不到 2 MB 的画质就已经看不出明显差异。

目前电脑和手机都是用的苹果,未来应该会一直支持 HEIF,但为了做好不被苹果永远绑架的准备,不知道未来 HEIF 在 Windows 、Android 等主流平台或设备上支持度如何呢?现在拍照设备的像素越来越高,小米、OPPO 的部分新机型也开始使用 HEIF,未来会有更多设备跟进吗?
3350 次点击
所在节点    问与答
37 条回复
fl2d
2021-07-09 19:09:41 +08:00
jpxl 才是未来?
jim9606
2021-07-09 19:10:46 +08:00
我个人不看好 HEIF,AVIF 其实也一般,纯商业原因,不比 WebP 好。

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

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

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

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

想想动图这玩意需求也挺旺盛的,WebP 算是既支持动图又推广比较成功的方案,但我就没见多少网站用这个做动图的,铺天盖地的还是 gif 。究竟是哪里的问题?
tsui
2021-07-10 06:09:08 +08:00
照片 视频来回转换不就是几行 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
2021-07-10 09:15:00 +08:00
HEIF 兼容性确实不太行,单纯的存储还是可以接受的
shanwu
2021-07-10 17:09:22 +08:00
@tsui 我是用 Mac 自带的转换工具,不过转成 H.265 耗时比 H.264 长很多,我拍视频不多一般就转成 H.264 了。好奇你的原视频还另作保存吗?
NatsumeMio
2021-07-10 22:26:22 +08:00
@jim9606 新方案和成熟方案并没有质变的问题,钱多的公司并不稀罕这一点存储费。但是像电报就已经完全不支持了 gif,上传 gif 会被自动转换。webp 方案其实也已经成功的推开了,b 站的照片和动图目前都基本上已经是 webp 了。像 wordpress 之类的博客也有相关插件一键转换所有到 webp 然后自动替换的插件了。
tsui
2021-07-11 03:32:12 +08:00
@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
2021-07-11 11:16:50 +08:00
@tsui 我也挺烦转换视频的,没找到一个工具能在转换时就能保留 metadata,数据量大还需要考虑机器性能。不过 ExifTool (-tagsFromFile)在我这里倒是可以成功复制视频的 metadata,其他的倒无所谓,时间能在相册里正常显示我就觉得可以了。
tsui
2021-07-11 12:56:45 +08:00
@shanwu 是的,时间比较简单,只要 exiftool 写 MOV 的 QuickTime:CreationDate field 就可以了

我主要想 MOV 有所有的原始信息
calano
2021-07-11 20:24:26 +08:00
@dingwen07 但亲测 x3 的 heif 在 gp 上大多数图无法预览,猜测可能是因为这个 10bit,onedrive 也是一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX