
Tengo algunos archivos de video que se convirtieron a MP4, pero no del todo correctamente. Cuando examino uno con exiftool, veo estos valores de metadatos:
Duration : 0:11:23
Track Duration : 0:11:23
Media Duration : 0:04:13
Esto último es incorrecto. En el reproductor multimedia VLC, los videos se reproducen bien, pero la herramienta que estoy usando para reproducirlos en una aplicación web (Flowplayer) toma en serio el valor de "Duración de los medios" y trunca el video.
Para arreglar los metadatos lo intenté.
exiftool -"Media Duration"="0:11:23" video_1.mp4
pero tengo
Warning: Sorry, Media is not writable
Nothing to do.
Sudo no ayudó. Según su página de manual ysitio web, herramienta exifpoderlee y escribe metadatos en archivos MP4, pero "ExifTool no reescribirá un archivo si detecta un problema importante con el formato del archivo".
¿Cómo puedo arreglar esos archivos?
EDITAR: no he tenido suerte con ffmpeg o mediainfo.
Respuesta1
Encontré una solución. En lugar de editar los metadatos, volví a codificar los archivos usando ffmpeg, de tal manera que el contenido de video y audio simplemente se copió y envolvió en un nuevo contenedor MP4 sin errores. Aquí está el comando:
ffmpeg -i video_1.mp4 -vcodec copy -acodec copy video_1_fixed.mp4
Respuesta2
Hay dos razones por las que el comando exiftool enumerado no funcionó.
Primero, "Duración del medio" no es el nombre de una etiqueta, es la descripción. DePreguntas frecuentes n.º 2 de ExifTool
…de forma predeterminada, imprime descripciones, no nombres de etiquetas, de la información que extrae. … Tenga en cuenta que las descripciones suelen contener espacios entre palabras, pero los nombres de las etiquetas nunca los contienen. Además, los nombres de las etiquetas son siempre en inglés, independientemente del
-lang
configuración. Para imprimir los nombres de las etiquetas en lugar de las descripciones, utilice el-s
opciónal extraer información
El segundo problema es que la MediaDuration
etiqueta no es una etiqueta grabable (consulte laEtiquetas de encabezado multimedia de QuickTime).