支持拍摄实况照片的机型有:iPhone 6s及以上,iPad第5代,iPad Air第3代,iPad mini第5代及以上等。
苹果官方对实况照片的介绍如下:
https://support.apple.com/zh-cn/104966
拍摄实况照片时,iPhone 会录下拍照前后各 1.5 秒所发生的一切。然后,你可以选择不同的封面照片、添加有趣的效果、编辑实况照片,并与你的家人和朋友分享。
大家用iPhone手机拍摄一张实况照片,目前基本上只能在自己手机相册里面浏览观看,因为目前大多数应用软件不支持这种“照片”的分享。
如果想下载或导出你拍摄的实况照片,可以登录自己的iCloud进行下载。下载的一张live photo照片,对应着一张文件后缀为.HEIC的图片和一段使用H.265编码的MOV封装格式视频,且这个图片的名字和视频名字相同。如下图所示:
这里图片文件名后缀是.HEIC,但实际的图片编码格式不一定是HEIC,虽然苹果公司一直在不遗余力的推HEIC图片格式,HEIF静态图像压缩之它是什么?比如我的这个图片实际是一张JPEG格式的。
正如我们不要以貌取人一样,对于音视频文件,也不要根据后缀名去判断编码类型。
再来看看live photo对应的MOV视频,我使用mediainfo软件进行查看,如下图所示:
可以看到,这个视频使用了苹果自己的quick time(MOV)封装格式,且视频流编码格式是HEVC/H.265,视频的时长不到2秒,应该是按下快门前后的各1秒。
对iOS系统上视频编码熟悉的朋友可能注意到了,上图可以看到好几个苹果公司自己的技术,比如这里codec ID的hvc1,比如color primaries是Dispaly P3色域。
然后再使用FFmpeg工具从这个MOV视频中抽取H.265裸码流:
ffmpeg -i IMG_0105.MOV -c:v copy IMG_0105.h265
使用Elecard码流分析软件打开这个H.265裸码流,如下图所示:
可以看到,这段H265码流使用YUV420 8bit编码的SDR视频,码流一共58帧,其中同时有P帧和B帧,且连续B frames个数是3,编码使用的QP值比较低,整个视频平均码率比较高。
使用之前推荐的工具分享一个免费的H.265码流解析工具,分析一下码流高层语法。
我们知道,H.265视频编码标准是在2013年发布的,而iPhone 6s是2015年9月发布,在当时来说这个Live Photo功能在技术上确实挺领先的,不过到了2023年再来看这个功能,貌似除了装X之外也没啥别的意义,还很占内存。
所以,iPhone拍摄的live photo照片,其实是一张后缀名为HEIC实际是JPEG的图片,加上一段使用H265编码和MOV封装的SDR视频的组合,实况照片它不是一张像GIF和WebP动图那样的照片,但在显示效果上和动图差不多。
iOS系统出了这种live photo,我觉得安卓系统上可以搞一个WebP图片和AV1视频的组合实现类似的效果。WebP图片的压缩率完胜JPEG,AV1视频的压缩率优于H265,这样不就可以“遥遥领先”苹果了吗?
作者:手撕编解码原文:https://mp.weixin.qq.com/s/06RyJOjk88OPu53Dyj9lsw
版权