Videos de Google Takeout con la fecha incorrecta: corrige MP4 y MOV

Takeout da a cada video el día de la exportación como fecha de archivo, y algunos videos no llevan ninguna fecha interna. Suelta abajo tus ZIP de Takeout: cada video recibe la hora de captura de su archivo JSON en su propia cabecera y como fecha del archivo. No se recodifica ni se sube nada.

Suelta aquí todos tus archivos ZIP de Takeout

Todas las partes a la vez: takeout-…-001.zip, -002.zip… El JSON de una foto suele estar en otra parte. Los archivos no salen de tu equipo.

Por qué los videos de Takeout muestran la fecha incorrecta

Qué cambia la herramienta en un video

DóndeQuéCuándo
Cabecera de película (mvhd)fecha de creación y de modificación = la hora de captura del JSON, en UTCcuando 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 horajunto 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 textosolo si el video ya lo tiene: no se añade nada
Fecha del archivo en el ZIP corregidola hora de capturasiempre

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

  1. Suelta arriba todas las partes ZIP de tu Takeout. Un video y su archivo JSON suelen estar en partes distintas.
  2. 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.
  3. 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.