Как перенести фото на новый Android-телефон и сохранить даты
На новом телефоне фото показывают сегодняшнюю дату, если ее нет внутри файла. Запишите дату в EXIF каждого фото, и любой способ копирования сохранит порядок.
Чтобы при переносе фото на новый Android-телефон даты не потерялись, у каждого снимка до копирования должна быть дата съемки внутри файла, в данных EXIF. Галерея телефона читает эту дату в первую очередь. Только если ее нет, галерея берет дату файла, а при копировании дата файла обычно становится сегодняшней. Поэтому сначала исправьте EXIF на компьютере, а потом копируйте любым способом.
Вы скопировали фото за десять лет на новый Android-телефон. Открываете галерею, а они все стоят наверху, как будто сняты сегодня. Google Фото на телефоне показывает то же самое или показывает правильную дату у одних фото и сегодняшнюю у других. Здесь объясняется, почему так происходит и как сохранить даты.
Как Android определяет дату фото
Android ведет базу медиафайлов под названием MediaStore. Когда в папке DCIM или Pictures появляется новый файл, сканер читает его и записывает дату. Сначала он пробует поле EXIF DateTimeOriginal. Если его нет, он берет дату изменения файла. Приложения-галереи сортируют снимки по тому, что записал MediaStore.
Значит, фото с правильным EXIF встает на свое место, как бы оно ни попало на телефон. Фото без даты в EXIF или с неверной датой сортируется по дате файла, а после переноса дата файла почти всегда совпадает со временем переноса.
Google Фото на телефоне ведет себя с локальными файлами так же. Фото без EXIF показывает дату файла, пока вы не исправите ее вручную.
Почему после переноса у фото сегодняшняя дата
Когда вы подключаете Android-телефон к компьютеру и выбираете «Передача файлов», работает MTP. MTP — это не диск. Это протокол, который отправляет файлы по одному в память телефона, а телефон их записывает.
MTP не умеет передавать дату создания. Сохранится ли дата изменения, зависит от телефона, компьютера и программы. Проводник Windows иногда ее сохраняет. macOS через Android File Transfer обычно нет. В Linux через GVFS все зависит от версии. Полагаться на это нельзя.
Поэтому так много людей после переноса видят везде сегодняшнюю дату. Дело не в галерее. Даты файлов потерялись при копировании. Короткое объяснение — в статье почему галерея телефона показывает неправильные даты (на английском).
Какие фото теряют даты
У фото, снятых камерой телефона, дата в EXIF обычно есть, поэтому они переживают любое копирование. Ошибки бывают у файлов, внутри которых даты нет:
- Фото из WhatsApp и других мессенджеров. См. фото из WhatsApp с неправильной датой (на английском).
- Фото из экспорта Google Фото. См. у фото из Google Takeout неправильная дата.
- Скриншоты, сканы и скачанные картинки.
- Фото, отредактированные в приложении, которое удалило метаданные.
Исправляйте EXIF, а не способ копирования
Искать способ копирования, который сохранит даты файлов, бесполезно. Запишите дату внутрь каждого фото, и тогда подойдет любой способ.
Сначала проверьте несколько снимков. На компьютере команда exiftool -DateTimeOriginal photo.jpg показывает, есть ли дата в файле. В Windows нажмите на файл правой кнопкой, откройте «Свойства» и найдите поле «Дата съемки». Если у большинства фото она есть, исправить нужно только исключения.
Если дата файла верна, а EXIF нет, скопируйте дату файла в EXIF до переноса:
exiftool "-DateTimeOriginal<FileModifyDate" -if 'not $DateTimeOriginal' -r .
Делайте это на компьютере, до копирования, пока даты файлов еще правильные. Разница между двумя датами объясняется в статье дата съемки EXIF и дата изменения файла (на английском).
Какой способ переноса сохраняет даты?
Надежно — ни один, и поэтому дата в EXIF так важна. Но одни способы лучше других:
- USB-кабель, «Передача файлов» (MTP): дата изменения может сохраниться, а может и нет.
- SD-карта: на SD-карте настоящая файловая система, поэтому даты изменения при копировании сохраняются. Телефон все равно сначала читает EXIF.
- Приложения для передачи по Wi-Fi и облачные диски: обычно дают каждому файлу новую дату.
- Приложение синхронизации, например Syncthing: обычно сохраняет даты изменения лучше, чем MTP.
Фото с датой в EXIF после любого из этих способов стоят на своих местах.
А что с видео?
У видео нет EXIF. Их дата хранится внутри контейнера MP4 или MOV, и сканер Android читает ее оттуда. Видео без этой даты сортируется по дате файла, как и фото. Как ее выставить, показывает статья видео из Takeout с неправильной датой (на английском).
Куда класть файлы на телефоне
В папку DCIM/Camera пишет камера самого телефона, и галереи считают ее основной. Файлы оттуда видны в главном разделе. Другие папки внутри DCIM или Pictures в большинстве галерей показываются как альбомы.
Делайте дерево папок неглубоким, а имена простыми. Некоторые галереи не видят папки, вложенные глубже двух-трех уровней. Имена файлов с датой тоже помогают: они сохраняют правильный порядок в файловых менеджерах и потом на телевизоре. Схема имен описана в статье переименовать фото по дате съемки (на английском).
После копирования галерее может понадобиться время, чтобы заново просканировать файлы. Перезагрузка телефона запускает сканирование сразу.
Загрузит ли Google Фото их еще раз?
Если в Google Фото включена автозагрузка для папки камеры, все, что вы скопируете в DCIM/Camera, снова загрузится в ваш аккаунт Google. Если вы уходите из Google, выключите автозагрузку до копирования. Если вы переносите медиатеку в новый аккаунт Google, это как раз может быть нужно. Весь путь от экспорта Takeout до нового телефона описан в статье экспорт Google Фото на новый Android-телефон (на английском).
Переходите на iPhone?
Правило то же: дата должна быть внутри файла. Путь другой: через Apple Фото или iCloud на компьютере. См. как перенести Google Фото на новый iPhone (на английском).
Как это сделать в программе
Takeout JSON Metadata Fixer экспортирует фото прямо на Android-телефон, который подключен к компьютеру и виден в файловом менеджере.
Выберите телефон как место назначения. Программа сначала записывает настоящую дату в EXIF каждого фото: из JSON-файла Takeout, из имеющегося EXIF или из даты файла, именно в таком порядке. Поэтому MediaStore читает правильную дату, что бы MTP ни сделал с датами файлов. GPS записывается так же, и телефон может группировать снимки по местам. Файлы попадают в DCIM с датой в начале имени, а HEIC можно перевести в JPG для телефонов, которые не показывают HEIC.
Старые видео можно перевести в MP4, чтобы они воспроизводились в галерее. Live Photo остаются парами или объединяются в один файл Motion Photo в формате Google и Samsung, и телефон воспроизводит его как один элемент.
В Windows и Linux программа работает с телефоном так, как его подключает файловый менеджер. В macOS так же работает телефон, подключенный через Android File Transfer или похожую программу. Экспорт на телефон — функция Premium. Программа бесплатна для 1000 фото, а без ограничений стоит 19,99 $ один раз, на macOS, Windows и Linux.
Частые вопросы
После копирования галерея все равно показывает неправильный порядок. Что делать?
Запустите повторное сканирование. Перезагрузите телефон или очистите кэш приложения-галереи. Если фото все еще стоит не на месте, проверьте его EXIF на компьютере. Если EXIF нет, телефону не на что было опереться.
Почему Google Фото на телефоне показывает правильную дату, а галерея нет?
Google Фото сам читает EXIF и может знать дату из вашего аккаунта. Галерея читает MediaStore. Если MediaStore просканировал файл до того, как EXIF был исправлен, он помнит старую дату до следующего сканирования.
Можно ли исправить даты прямо на телефоне?
Для нескольких фото — да: Google Фото позволяет изменить дату вручную. Для тысяч — нет. Исправьте их на компьютере до копирования.
Лучше скопировать фото на SD-карту и вставить ее в телефон?
Часто да. Даты изменения при копировании сохраняются. Но телефон сканирует карту так же, поэтому для фото без даты в EXIF она все равно важна.
Я объединяю фото с двух старых телефонов. Здесь то же самое?
Да. Сначала исправьте даты, потом объединяйте папки. О совпадающих именах файлов — в статье объединить фото с двух телефонов (на английском).
Можно ли так перенести фото с iPhone на Android?
Да. Экспортируйте фото с iPhone или из Apple Фото вместе с метаданными, переведите HEIC в JPG и скопируйте. Программа выполняет перевод формата и сохраняет даты и GPS.