如何利用又拍云玩转 live photo,没有 6S 也能玩

  • UPYUN

2016 年 3 月 25 日

话题:CDN语言 & 开发

Live Photo?

Live Photo 是在 iPhone 6s 及更新的设备上用相机拍摄的一张照片,其特点是包含了照片拍摄时刻之前和之后共 3 秒钟的视频。简单的说,Live Photo 由一张照片和一段 3 秒的视频组成,照片是 JPG 格式,视频是 MOV 格式(注: MOV  是苹果开发的一种视频格式)。浏览时,先显示图片,长按图片,播放视频。

Live Photo 的拍摄需要 iPhone 6s 及更新的手机,刚发布的 iPhone se 也是支持的。播放需要 iOS 9.1 及以上系统版本 iPhone。

本质上,Live Photo 不是一种新文件格式,只是一种特别的 PHAsset ( PHAsset  可以理解为一种 iPhone 相册资源对象)。

如何上云存储?

既然 Live Photo 不是一种文件格式,只是一种资源对象,可以像处理普通的图片 Asset 和视频 Asset 一样,从 Live Photo Asset 中提取视频和图像文件的路径,再把视频和图片上传至云存储。

显示时,从云存储上下载图片和视频,合成为 Live Photo 。 对于 iPhone 6s 以下设备,虽然不能在相机拍摄 Live Photo,但可以通过这种方式合成 Live Photo,也算创建 Live Photo 了。

基于这个逻辑,又拍云 iOS SDK 实现了 Live Photo 图片视频 路径获取、上传、处理、下载、合成。下面上基于又拍云 iOS SDK 的 demo 演示:

第一步:Live Photo 图片视频获取。获取选中 Live Photo 的图片和视频的保存地址。

第二步:图片视频上传及预处理。预处理是指上传时附加处理参数,上传完成后系统自动开始处理。

第三步:图片视频下载,合成 Live Photo。从云存储上下载的图片和视频合成 Live Photo。

如何在 Android 和 PC 端显示?

如果能把任意图片、视频合成 Live Photo,便可以拓展 Live Photo 的使用范围。经过一些测试,用非原生的图片和视频合成 Live Photo 是可行的。

既然 Live Photo 能在 iPhone 上显示(低版操作系统需要升级至 iOS9.1 以上),在 Android 和 PC 终端上可以显示吗?

答案是可以的,不过需要略做处理。

在把图片和视频上传至云储存时,附加上图片处理和视频处理参数,把图片处理成 Android 和 PC 端需要的大小,把视频转码成 Android 和 PC 端支持的视频格式。显示时,可以类似 iPhone 的显示方式,先展示静态图片,Android 触屏再播放视频,PC 点击再播放视频。这里仅举例描述一种典型的显示方式,具体的显示方式可以自由发挥。建议,视频格式使用 MP4,这样通用 Android、PC 终端。

Live Photo 可以在 MAC OS 上原生显示吗?

通过照片和 Safari 是可以查看的。另外,新的 Beta 版 MAC OS X 10.11.4 将增加信息应用查看支持。

CDN语言 & 开发