LINE で保存した写真の日付がおかしい・撮影日順に並ばない理由と、直せる範囲・直せない範囲
LINE で受け取って保存した写真は、撮影日時が消えていて 1970 年や保存日に並びます。何が消えて何が残るのか、取り戻せるものと戻せないもの、フォルダー単位で日付と場所をまとめて設定する方法を説明します。Android と iPhone のどちらでも同じです。
家族から LINE で送られてきた何年分もの写真を保存した。あるいはスマートフォンが LINE の保存フォルダーを Google フォトにバックアップしていて、ライブラリに混ざっている。どれも日付がおかしく、位置情報はなく、ギャラリーでは保存した日か、ひどいときは 1970 年 1 月 1 日に並ぶ。
LINE は写真に何をするか
LINE は、写真として送るときに画像を再エンコードします。縮小し、再圧縮し、メタデータの領域を捨てます。EXIF の撮影日時、カメラ機種、GPS 座標、すべてなくなります。通信量を減らし、写真を送っただけで居場所が漏れるのを防ぐための仕様です。
受け取った側のスマートフォンに届くのは、DateTimeOriginal(撮影日時)のない新しい JPEG です。持っている日付は、ファイル自体の更新日時、つまり保存した瞬間だけです。
ですから、2015 年に撮られて 2019 年に転送された写真には、2019 年の保存日しかありません。2015 年という情報はファイルのどこにもなく、ファイルからは取り戻せません。最初から書かれていないからです。
1970 年と表示される理由
ギャラリーアプリの中には、撮影日時が見つからないときに日付を「0」として扱うものがあります。コンピューターの日付の数え方では 0 は 1970 年 1 月 1 日なので、その日に表示されます。ファイルが壊れているわけではなく、「日付がない」の別の見え方です。
取り戻せるもの
保存した日です。ファイルの更新日時や、Android で LINE_ から始まるファイル名に含まれる数字が、それにあたります。撮った日ではありませんが、撮った日に送られてきた写真、つまり大半の写真では、実用上は十分近い日付です。
LINE の写真が Google フォトを経由して Takeout で戻ってきた場合は、横の .json に photoTakenTime があり、Google がアップロード日時を入れています。LINE の自動保存では、これも保存日にほぼ一致します。完璧ではありませんが一貫しています。仕組みは Google Takeout の JSON ファイルとは何か にあります。
取り戻せないもの
送り主が撮ってからずっと後に送った場合の、本当の撮影日。位置情報は常に。カメラ機種も常に。何人かを経由して転送された写真なら、ファイル名や更新日時の日付は最後の転送の日です。
本当の日付の唯一の出どころは、送り主の元のファイルです。大事な写真なら、写真としてではなくファイルとして送ってもらってください。ファイルとして送られたものは、元のまま届きます。
フォルダー全体に 1 つの日付を設定する
LINE の写真はひとまとまりであることが多いです。誰かが送ってくれた結婚式、両親が共有した旅行、親戚から転送された古いプリントのスキャン。いつ頃のことかは分かっていて、全部が正しい月に入ればいい。正確な時刻はどうでもいい。
exiftool なら、1 つのフォルダーに対して次のとおりです。
exiftool -DateTimeOriginal="2015:06:20 14:00:00" -overwrite_original .
フォルダー内のすべての JPEG にこの日付が入ります。場所も分かっていれば -GPSLatitude と -GPSLongitude を足します。
注意点があります。LINE の保存フォルダーはたいてい混ざっています。自分が撮って送った写真の横に、受け取った写真があります。フォルダー全体に 1 つの日付を設定して正しいのは、そのフォルダーが 1 つの出来事のときだけです。先に出来事ごとのフォルダーに分けてください。
LINE の写真をメインのライブラリから分けておく
そもそもライブラリに入れたくない、という人も多いです。スマートフォンがスタンプや転送画像まで自動保存し、Google フォトがそれを全部バックアップしていた。Takeout のエクスポートでは見分けがつきます。Android なら LINE_ で始まる名前、EXIF にカメラ機種がない、という特徴です。
すべてを日付順に並べ替える代わりに、既存のフォルダー構成を保つテンプレートを使えば、LINE のフォルダーはそのまま独立して残り、あとで判断できます。整理の前に別フォルダーへ移しておくのが、いちばん簡単な分け方です。
アプリでやる場合
Takeout JSON Metadata Fixer は、LINE が消した日付を作り出すことはできませんし、できるふりもしません。できるのは、正直な 2 つの選択肢を簡単にすることです。あるものを使うか、自分で決めるか。
LINE の写真のフォルダーに対して、アプリは Takeout のサイドカーがあればそれを、次に EXIF を、次にファイル自身の日時を読みます。LINE の写真には最初の 2 つがないので、ファイルの日時、たいていのスマートフォンでは保存日が使われます。それが間違っているか、コピーを繰り返して今日の日付にリセットされているなら、フォルダーの日付設定を使います。フォルダー内のすべての写真に 1 つの日付と 1 つの場所を、市町村名か座標で指定します。アプリはそれを EXIF に書き込むので、日付と場所は Apple の「写真」でも Immich でも、写真と一緒に移動します。
ファイル名も直せます。LINE_ALBUM_2019..._1.jpg のような名前が 2019-07-14-1200.jpg などになります。ライブラリの他の写真と一緒に年/月フォルダーに入れることも、別にしておくこともできます。
Windows、Mac、Linux でオフラインで動き、画面は日本語です。1000 枚まで無料、無制限は 19.99 米ドルの買い切りです。
よくある質問
LINE の写真から元の撮影日を取り戻せるツールはありますか?
ありません。メタデータはファイルが届く前に取り除かれています。読むものが何もないのです。できると言うツールは、ファイル名かファイルの日時、つまり保存日を読んでいるだけです。
保存日の日付は信用できますか?
写真を保存したスマートフォンに届いた日です。撮った日に送られた写真なら、日単位では正しい。転送された写真や、誰かが掘り出した古い写真なら、間違っています。
ファイルとして送れば EXIF は残りますか?
はい。LINE がメタデータを消すのは写真として送るときです。ファイルとして送られた JPEG はそのまま届き、EXIF も GPS も付いています。大事なときは、その形で元のファイルを頼んでください。
日付を推測で設定していいのですか?
代わりが今日の日付なら、そのほうがいいです。正しい年の推測日なら、写真は前後の写真の近くに並びます。今日の日付では、他のすべての下に埋もれます。月しか分からないなら 1 日を選んでください。