Por qué los videos de Takeout muestran la fecha incorrecta
- La fecha del archivo es la de la exportación. Los exploradores de archivos y las apps que ordenan por fecha de archivo ponen todos los videos en el día en que se generó la exportación.
- Algunos videos no tienen fecha interna. Las grabaciones de pantalla, los clips guardados desde apps de mensajería y muchos videos editados o exportados dejan la fecha de creación a cero, y algunas apps la muestran como 1904 o 1970.
- Otros llevan una fecha interna incorrecta. Un video que una app convirtió o volvió a guardar puede llevar la hora de esa conversión en lugar de la hora en que se grabó.
- Zonas horarias: las cabeceras MP4 y MOV guardan la hora en UTC. Las herramientas que escriben ahí la hora local desplazan los videos unas horas.
Qué cambia la herramienta en un video
| Dónde | Qué | Cuándo |
|---|---|---|
Cabecera de película (mvhd) | fecha de creación y de modificación = la hora de captura del JSON, en UTC | cuando la fecha guardada está vacía, es anterior a 1970 o es igual o posterior a la subida de un video grabado antes; o siempre, si marcas Reemplazar las fechas… |
Cada cabecera de pista y de medios (tkhd, mdhd) | la misma hora | junto con la cabecera de película |
Texto de fecha en los metadatos (com.apple.quicktime.creationdate, ©day) | el mismo momento, en el mismo formato de texto | solo si el video ya lo tiene: no se añade nada |
| Fecha del archivo en el ZIP corregido | la hora de captura | siempre |
Estos campos tienen un tamaño fijo, así que se sobrescriben en su sitio: el video conserva exactamente su tamaño, ninguna caja se mueve (por lo que los desplazamientos de las muestras siguen siendo válidos tanto si el índice está antes como después de los datos multimedia) y los bytes de imagen y sonido se copian sin cambios. Las pruebas automatizadas decodifican videos creados con ffmpeg antes y después del cambio y comparan cada fotograma.
Formatos: MP4, MOV, M4V, 3GP y 3G2, y los archivos .MP de fotos en movimiento de Pixel. AVI, MKV, WebM y otros contenedores solo reciben la fecha del archivo.
Cómo corregir las fechas de los videos de Takeout
- Suelta arriba todas las partes ZIP de tu Takeout. Un video y su archivo JSON suelen estar en partes distintas.
- Deja desactivada la opción Reemplazar las fechas y ubicaciones que ya escribió la cámara: un video que ya tiene una fecha de grabación plausible la conserva. Márcala solo si corregiste fechas en Google Photos.
- Haz clic en Corregir y guardar y extrae el ZIP corregido. Para comprobar un video, mira Propiedades → Detalles → Medio creado en Windows o ejecuta
ffprobe -show_entries format_tags=creation_time video.mp4.
Live Photos y fotos en movimiento
Una Live Photo sale de Takeout como un HEIC o JPEG más un MOV o MP4 corto sin archivo JSON propio. La herramienta da al video la fecha de la foto (salvo que desmarques esa opción) y trata su cabecera con las mismas reglas.
Videos sin archivo JSON
Nombres como VID_20190101_101010.mp4 o PXL_20190809_203449253.mp4 (Pixel, UTC) aportan una fecha. Esta establece la fecha del archivo y rellena una cabecera de video vacía; una cabecera que ya tiene fecha nunca se reemplaza por la de un nombre.
Videos grandes
En un video guardado sin comprimir dentro del ZIP solo se lee su cabecera, así que un video de 10 GB supone leer apenas unos kilobytes. Un video guardado comprimido tiene que descomprimirse en memoria para editarlo; por encima de 256 MB solo recibe la fecha del archivo, y el informe lo indica.
Preguntas frecuentes
¿Se vuelve a codificar o comprimir el video?
No. Solo se sobrescriben los campos de fecha de las cabeceras. El archivo conserva su tamaño, y la imagen y el sonido son los mismos bytes que antes.
¿Qué fecha recibe un video?
El photoTakenTime de su archivo JSON, es decir, la fecha que muestra Google Photos. Si el JSON solo tiene la hora de subida (creationTime), el video la recibe como fecha del archivo y su cabecera no se modifica.
¿Sobrescribirá las fechas que escribió mi cámara?
De forma predeterminada, no. Si un JPEG o HEIC ya tiene una «fecha de captura» (DateTimeOriginal) o una posición GPS, se conserva. Un video conserva la fecha de grabación de su cabecera si es plausible; se reemplaza si está vacía, es anterior a 1970 o es solo la hora de subida o de procesamiento (igual o posterior a la subida de un video grabado antes). Activa Reemplazar las fechas y ubicaciones que ya escribió la cámara si cambiaste fechas en Google Photos y prefieres usar esas.
¿Qué apps leen la fecha interna de un video?
La fecha de creación de la cabecera de película es el lugar estándar: ExifTool la muestra como CreateDate, ffprobe como creation_time, el Explorador de Windows como Medio creado, e Immich la lee al importar un video. Las apps que ordenan por fecha de archivo usan la fecha del archivo, que el ZIP corregido también restaura.
¿En qué zona horaria están las fechas?
Google guarda en UTC el momento en que se tomó una foto. La herramienta lo convierte a la zona horaria que elijas (de forma predeterminada, la de tu equipo) y también escribe el desfase respecto a UTC (OffsetTimeOriginal) para que las apps puedan mostrar el momento exacto. Las cabeceras de video guardan UTC por definición, así que los videos reciben el momento exacto y las apps lo muestran en su propia zona. Las fotos tomadas durante un viaje mostrarán la hora en la zona que elegiste, no la hora local del viaje.
¿Se suben mis fotos?
No. Tu navegador lee los archivos ZIP en tu propio equipo y el ZIP corregido también se escribe allí. No se envía nada a ningún servidor: puedes desconectarte de internet después de cargar la página y seguirá funcionando.