Por que os vídeos do Takeout mostram a data errada
- A data do arquivo é a data da exportação. Gerenciadores de arquivos e apps que ordenam pela data do arquivo colocam todos os vídeos no dia em que o ZIP foi gerado.
- Alguns vídeos não têm data interna. Gravações de tela, vídeos salvos de apps de mensagens e muitos vídeos editados ou exportados deixam a data de criação zerada, o que alguns apps exibem como 1904 ou 1970.
- Alguns têm uma data interna errada. Um vídeo que um app converteu ou salvou de novo pode trazer a hora dessa conversão em vez da hora em que foi gravado.
- Fusos horários: os cabeçalhos MP4 e MOV guardam UTC. Ferramentas que gravam ali o horário local deslocam os vídeos em algumas horas.
O que a ferramenta altera em um vídeo
| Onde | O quê | Quando |
|---|---|---|
Cabeçalho do vídeo (mvhd) | data de criação e de modificação = a data de captura do JSON, em UTC | quando a data gravada está vazia, é anterior a 1970 ou é igual ou posterior ao envio de um vídeo gravado antes — ou sempre, com Substituir datas… marcada |
Cada cabeçalho de faixa e de mídia (tkhd, mdhd) | a mesma data e hora | junto com o cabeçalho do vídeo |
Texto de data nos metadados (com.apple.quicktime.creationdate, ©day) | o mesmo momento, no mesmo formato de texto | só quando o vídeo já tem esse texto — nada é adicionado |
| Data do arquivo no ZIP corrigido | a data de captura | sempre |
Esses campos têm tamanho fixo, então são sobrescritos no próprio arquivo: o vídeo mantém exatamente o mesmo tamanho, nenhum box muda de lugar (assim os deslocamentos das amostras continuam válidos, esteja o índice antes ou depois dos dados de mídia) e os bytes de imagem e som são copiados sem alterações. Os testes automatizados decodificam vídeos criados com o ffmpeg antes e depois da alteração e comparam cada quadro.
Formatos: MP4, MOV, M4V, 3GP e 3G2, além dos arquivos .MP de fotos com movimento do Pixel. AVI, MKV, WebM e outros contêineres recebem apenas a data do arquivo.
Como corrigir as datas dos vídeos do Takeout
- Solte todas as partes ZIP do seu Takeout acima. Muitas vezes, um vídeo e o arquivo JSON dele estão em partes diferentes.
- Deixe Substituir datas e locais já gravados pela câmera desmarcada: um vídeo que já tem uma data de gravação plausível a mantém. Marque essa opção apenas se você corrigiu datas no Google Photos.
- Clique em Corrigir e salvar e extraia o ZIP corrigido. Para conferir um vídeo, veja Propriedades → Detalhes → Mídia criada no Windows ou execute
ffprobe -show_entries format_tags=creation_time video.mp4.
Live Photos e fotos com movimento
Uma Live Photo sai do Takeout como um HEIC ou JPEG mais um MOV ou MP4 curto, sem arquivo JSON próprio. A ferramenta dá ao vídeo a data da foto (a menos que você desmarque essa opção) e trata o cabeçalho dele pelas mesmas regras.
Vídeos sem arquivo JSON
Nomes como VID_20190101_101010.mp4 ou PXL_20190809_203449253.mp4 (Pixel, UTC) indicam uma data. Ela define a data do arquivo e preenche um cabeçalho de vídeo vazio; um cabeçalho que já tem data nunca é substituído pela data do nome.
Vídeos grandes
Para um vídeo armazenado sem compactação no ZIP, apenas o cabeçalho é lido; assim, um vídeo de 10 GB exige a leitura de poucos kilobytes. Um vídeo armazenado compactado precisa ser descompactado na memória para ser editado; acima de 256 MB, ele recebe apenas a data do arquivo, e o relatório informa isso.
Perguntas frequentes
O vídeo é recodificado ou recompactado?
Não. Somente os campos de data nos cabeçalhos são sobrescritos. O arquivo mantém o tamanho, e a imagem e o som continuam sendo exatamente os mesmos bytes de antes.
Qual data o vídeo recebe?
O photoTakenTime do respectivo arquivo JSON — a data que o Google Photos mostra. Se o JSON tiver apenas a data de envio (creationTime), o vídeo recebe essa data como data do arquivo, e o cabeçalho não é alterado.
A ferramenta vai sobrescrever as datas que a minha câmera gravou?
Por padrão, não. Se um JPEG ou HEIC já tiver uma “data de captura” (DateTimeOriginal) ou uma posição de GPS, ela é mantida. Um vídeo mantém a data de gravação do cabeçalho quando ela é plausível; uma data de vídeo vazia, anterior a 1970 ou que seja apenas a hora de envio ou de processamento (igual ou posterior ao envio de um vídeo gravado antes) é substituída. Ative Substituir datas e locais já gravados pela câmera se você alterou datas no Google Photos e quer usar essas.
Quais apps leem a data dentro de um vídeo?
A data de criação do cabeçalho do vídeo é o lugar padrão: o ExifTool a mostra como CreateDate, o ffprobe como creation_time, o Explorador de Arquivos do Windows como Mídia criada, e o Immich a lê ao importar um vídeo. Apps que ordenam pela data do arquivo usam a data do arquivo, que o ZIP corrigido também restaura.
Em qual fuso horário ficam as datas?
O Google armazena o momento em que a foto foi tirada em UTC. A ferramenta converte esse horário para o fuso que você escolher — por padrão, o do seu computador — e também grava a diferença em relação ao UTC (OffsetTimeOriginal) para que os apps possam mostrar o momento exato. Os cabeçalhos de vídeo armazenam UTC por definição, então os vídeos recebem o momento exato e os apps o exibem no próprio fuso. Fotos tiradas em viagem vão mostrar o horário no fuso que você escolheu, não o horário local da viagem.
Minhas fotos são enviadas?
Não. Os arquivos ZIP são lidos pelo navegador no seu próprio computador, e o arquivo corrigido também é gravado nele. Nada é enviado a um servidor — você pode se desconectar da internet depois que a página carregar, e ela continua funcionando.