La duración es el tiempo que algo dura. En un archivo multimedia, la duración es el tiempo total de reproducción. La duración de video es cuánto tiempo se reproduce un video de principio a fin, y la duración de audio es lo mismo para una canción o una grabación.
Normalmente ves este número en tu reproductor multimedia como el tiempo total. En los metadatos, la misma información aparece en un campo llamado Duration.
Qué archivos lo llevan
La duración pertenece a archivos que se reproducen a lo largo del tiempo, es decir, archivos de audio y video. Las fotos fijas y los documentos de texto normalmente no tienen un campo de duración.
Las imágenes animadas son un caso especial. Un archivo GIF guarda un retardo para cada fotograma y no un tiempo total. ExifTool aun así informa una Duration para una pasada de la animación.
De dónde proviene el valor
Algunos formatos almacenan directamente la duración. Otros formatos guardan valores que el software usa para calcularla.
- MP4 y MOV: la cabecera de la película guarda una escala de tiempo y una duración. La escala de tiempo es el número de unidades de tiempo por segundo, y la duración cuenta esas unidades.
- MKV y WebM: la información del segmento puede contener un elemento opcional
Duration, contado en tics. De forma predeterminada, un tic equivale a un milisegundo. - MP3: la etiqueta ID3 puede contener un fotograma
TLENcon la duración en milisegundos. ExifTool calcula la duración a partir de otros valores, como el tamaño del archivo y la tasa de bits. - FLAC: el archivo guarda el número total de muestras y la frecuencia de muestreo. El software calcula la duración a partir de estos 2 valores, y un total de
0significa que se desconoce el número. - WAV: ExifTool calcula la duración a partir del promedio de bytes por segundo y el tamaño del archivo.
Cómo son los valores
La misma duración puede aparecer de distintas formas, según el programa que lea el archivo:
00:05:15: horas, minutos y segundos. Este archivo dura 5 minutos y 15 segundos.15.23 s: segundos, con la unidad mostrada.200.541000: un número sin unidad. El programa ffprobe del proyecto FFmpeg muestra así la duración, con 6 dígitos después del punto decimal. El número significa 200,541 segundos, alrededor de 3 minutos y 21 segundos.N/A: en su formato de salida predeterminado, ffprobe muestra esto cuando falta la duración. En los formatos de salida JSON y XML, la duración simplemente no aparece.
Un número sin unidad no siempre está en segundos. El fotograma TLEN cuenta milisegundos y el valor duration_ts en ffprobe cuenta unidades de la base de tiempo del flujo. Comprueba qué campo te dio el número.
Por qué los programas pueden mostrar duraciones diferentes
Programas diferentes pueden mostrar duraciones distintas para el mismo archivo, y ninguno tiene por qué estar equivocado. Aquí tienes 4 razones:
- Redondeo: un reproductor que solo muestra segundos enteros redondea
200.541hacia arriba o hacia abajo. - Pistas separadas: la imagen y el sonido tienen pistas separadas, y cada pista tiene su propia duración. En un archivo MOV, la duración de la película corresponde a la pista más larga.
- Tiempos de inicio: cada flujo puede tener su propio tiempo de inicio. FFmpeg puede medir desde el inicio más temprano hasta el final más tardío, así que un inicio tardío puede alargar el total.
- Estimaciones: un archivo puede tener una tasa de bits pero no una duración. FFmpeg entonces estima la duración a partir de la tasa de bits y el tamaño del archivo, y advierte que el resultado puede ser inexacto.
Por qué es importante
La duración te permite revisar un archivo sin reproducirlo. Si esperas un clip de 5 minutos y 15 segundos y ves 15.23 s, es posible que el archivo no sea el que esperabas.
La duración también se relaciona con otros valores. FFmpeg puede calcular la tasa de bits global a partir del tamaño del archivo y la duración.