かんたんな答え
Live Photos は2つのファイルです。静止画(HEIC または JPEG)と、音声付きの短い QuickTime ムービーです。両方に同じコンテンツ識別子が入り、写真はそれを使って1つの項目として保ちます。2つが分かれると、たとえばメールが静止画だけを送ると、残るのは普通の写真です。
Live Photos は、写真が1つの項目として表示する2つのファイルです。静止画(HEIC または JPEG)と、音声付きの短い QuickTime ムービーです。両方に同じコンテンツ識別子が入り、動画には静止画と一致するフレームのマーカーがあります。写真がペアにするのは、その識別子であって、ファイル名ではありません。
以下は、各ファイルが持つもの、ペアの仕組み、2つが分かれたときに起きることです。動画から自分のものを作るなら、Beavery が両方を作ります。
2つのファイル、1つの項目
Appleの撮影の文書は、直接書いています。写真は Live Photos を1つの項目として表示しますが、別々のファイルからできています。主となる静止画と、直前と直後の動きと音を持つ動画ファイルです。アプリは両方を、1つの項目として一緒に写真へ保存します。
写真フレームワークは、ライブラリ側から同じことを説明しています。Live Photos のアセットは、静止画のリソースと動画のリソースを持ちます。動画は、paired video というリソースタイプとして戻ってきます。iPhoneのカメラで撮るとき、Appleは動画が撮影の前後約1.5秒を覆う、と書いています。Beavery のようなアプリで動画から作った Live Photos は、選んだ区間を覆います。
1件の中身
Beaveryから iPhone シミュレータの写真ライブラリへ Live Photos を1件保存し(手順はこちら)、写真が保存した2つのファイルを読みました。同じ名前で並んでいました。IMG_0082.HEIC と IMG_0082.MOV です。
| ファイル | 中身 | もう一方と結ぶもの |
|---|---|---|
IMG_0082.HEIC |
静止画。1080 × 1920 の HEIC | Appleのメーカーノートのメタデータ(ImageIO の MakerApple 辞書)の中の識別子 |
IMG_0082.MOV |
3.6秒の H.264 動画、AAC の音声、メタデータのトラック | 同じ識別子。QuickTime の content.identifier。加えて、静止画と一致するフレームのための、時間付きの still-image-time マーカー |
両方のファイルに、同じ UUID が入っていました。動画側は文書になっています。AVFoundation は、そのキーを quickTimeMetadataContentIdentifier と呼びます。画像側では、Appleは MakerApple 辞書を文書にしていますが、識別子を持つ個別のキーは文書にしていないので、このファイルで見えたことだけを書きます。
写真が、同じものだと知る方法
ペアにするのは、一致する識別子です。ファイルから Live Photos を読み込む Apple の文書は、写真が作れるのは、以前にキャプチャした Live Photos のアセットから書き出された同じ一組のファイルからだけで、先にファイルとそのメタデータを確認する、と書いています。確認に失敗すると、Live Photos はなく、静止画だけです。
つまりファイル名は関係なく、2つのファイルを同じフォルダに置くことも関係ありません。大事なのは、両方のファイルがまだ識別子を持ち、動画がメタデータを落とすような再エンコードをされていないことです。
分解して、戻す
Macでは、写真は**「ファイル」>「書き出す」>「未編集のオリジナルを書き出す」**で Live Photos を書き出せます。Appleは、静止画と動画の2つの別ファイルになる、と書いています。1つの Live Photos として写真へ戻すには、アプリが1つのリクエストで両方のファイルを追加する必要があります(Appleの PHAssetCreationRequest)。2つのファイルを1つずつ写真へドロップするのは、文書にされた方法ではありません。
Beaveryが写真へ保存するときは、その1回のリクエストを使います。代わりに Live Photos をフォルダへ書き出すと、静止画、動画(motion.mov)、小さなマニフェストを入れた .beaverylive パッケージを1つ書くので、ペアは一緒のままで、あとから Beavery が再び開けます。
送ったときに起きること
Appleが文書にしているのは、この一部だけです。
- メールは、Live Photos を静止画として送ります。
- iPhone または iPad のメッセージは、動きを残します。相手はそれをタップし、長押しして再生します。Macのメッセージは、開くと1回再生します。
- 静止画だけを共有するのは、共有シートの選択です。送り先を選ぶ前に、写真の左上の「LIVE」をタップします。
ほかのアプリ(チャットアプリ、ソーシャルネットワーク、クラウドドライブ)については、Appleの文書は答えを出せません。受け取るアプリによります。両方のファイルとそのメタデータを残すアプリは動きを表示でき、絵だけを残すか再圧縮するアプリは静止画を表示します。経路ごとの助言は、送ったあと Live Photos が動かなくなる理由にあります。
2つのファイルが分かれるとき
- メールのように、静止画だけを送る経路を通った。
- 受け取るアプリが絵を残し、動画を落とした。
- Live がオフになった。写真では、Live Photos を「オフ」に切り替えられ、静止画になります。
- ほかの場所で編集された。Appleは、別のアプリで Live Photos を編集すると、Live Photos のエフェクトが失われることがある、と記しています。
- 2つのファイルが分かれ、変えられたので、識別子やメタデータがもう一致しない。
自分の動画から Live Photos を作っているなら、写真へ保存し、写真から送ってください。経路が許す限り、両方は一緒のままです。直し方は送ったあと Live Photos が動かないを、動画が画質と HDR で何を残すかは動画から作る Live Photos の画質を見てください。Mac版 Beaveryも、同じ方法で Live Photos を保存します。
よくある質問
Live Photos は、短い動画そのものですか?
違います。フルの静止画に、別の短い動画が付いたものです。写真は静止画を表示し、長押しすると動画を再生します。静止画は、見るときに動画から切り出したフレームではなく、自分のファイルです。
Live Photos をメールできますか?
Appleは、メールで共有した Live Photos は静止画として送られる、と書いています。Appleのデバイス同士のメッセージは動きを残します。ほかのアプリは、受け取るアプリによります。
Live Photos に音声はありますか?
たいていあります。動画の部分は QuickTime ムービーで、Appleはカメラが撮影の前後に起きたこと、音声を含めて記録する、と書いています。無音の動画や静止画から作った Live Photos には、音声がありません。
2つのファイルをペアにする識別子は、どこにありますか?
動画の中では、QuickTime のコンテンツ識別子で、Appleが文書にしています。静止画の中では、Appleのメーカーノートのメタデータにあります。Appleはその辞書を文書にしていますが、正確なキーは文書にしていません。
写真と動画が2つのファイルとしてあります。なぜ1つにならないのですか?
写真がペアにするのは、同じ識別子と、期待されるメタデータを持つ静止画と動画だけです。ペアとして作られていない2ファイル、または途中で再エンコードされた2ファイルは、名前が一致するだけでは1つになりません。
このガイドの確認方法
- 確認の根拠
- iPhone 17 Pro Max シミュレータ、iOS 27.0:Beavery が保存した Live Photos 1件について、シミュレータの写真ライブラリから2つのファイルを読み戻した(1.0 (1)、デバッグビルド da0d377)
- 実機での検証
- このガイドの手順は、まだ実機で一つずつ試していません。
- 確認日
出典: Apple Developer: Capturing and saving Live Photos; Apple Developer: PHAssetResource; Apple Developer: PHAssetResourceType.pairedVideo; Apple Developer: PHLivePhoto; Apple Developer: PHLivePhoto.request(withResourceFileURLs:…); Apple Developer: quickTimeMetadataContentIdentifier; Apple Developer: kCGImagePropertyMakerAppleDictionary; Apple サポート:Live Photosを撮影・編集する; Apple サポート:Macで写真、ビデオ、スライドショー、およびメモリーを書き出す
Beaveryの開発者が執筆しました。この記事で紹介しているアプリは当社が販売しています。上に書いた制限は、実際に使うときにも同じように当てはまります。