Diccionari

Què és la durada?

La durada és el temps total de reproducció d’un fitxer d’àudio o vídeo. Aquí t’expliquem com els fitxers emmagatzemen aquest valor i per què 2 programes poden mostrar xifres diferents.

duration

La durada és el temps que alguna cosa dura. En un fitxer multimèdia, la durada és el temps total de reproducció. La durada d’un vídeo indica quant de temps es reprodueix el vídeo des del principi fins al final, i la durada d’un àudio indica el mateix per a una cançó o un enregistrament.

Normalment veus aquest nombre al reproductor multimèdia com el temps total. A les metadades, la mateixa informació apareix en un camp anomenat Duration.

Quins fitxers ho porten

La durada correspon a fitxers que es reprodueixen al llarg del temps, és a dir, fitxers d’àudio i vídeo. Les fotografies fixes i els documents de text normalment no tenen cap camp de durada.

Les imatges animades són un cas especial. Un fitxer GIF desa un retard per a cada fotograma i cap temps total. Tot i així, ExifTool informa una Duration per a una passada de l’animació.

D'on ve el valor

Alguns formats desen la durada directament. Altres formats desen valors que el programari utilitza per calcular la durada.

  • MP4 i MOV: la capçalera de la pel·lícula desa una escala de temps i una durada. L’escala de temps és el nombre d’unitats de temps per segon, i la durada compta aquestes unitats.
  • MKV i WebM: la informació del segment pot contenir un element opcional Duration, comptat en ticks. Per defecte, un tick és un mil·lisegon.
  • MP3: l’etiqueta ID3 pot contenir un fotograma TLEN amb la durada en mil·lisegons. ExifTool calcula la durada a partir d’altres valors, com ara la mida del fitxer i la taxa de bits.
  • FLAC: el fitxer desa el nombre total de mostres i la freqüència de mostreig. El programari calcula la durada a partir d’aquests 2 valors, i un total de 0 vol dir que el nombre és desconegut.
  • WAV: ExifTool calcula la durada a partir de la mitjana de bytes per segon i de la mida del fitxer.

Com són els valors

La mateixa durada pot aparèixer en formats diferents, segons el programa que llegeix el fitxer:

  • 00:05:15: hores, minuts i segons. Aquest fitxer dura 5 minuts i 15 segons.
  • 15.23 s: segons, amb la unitat mostrada.
  • 200.541000: un nombre sense unitat. El programa ffprobe del projecte FFmpeg mostra la durada així, amb 6 dígits després del punt decimal. El nombre vol dir 200,541 segons, aproximadament 3 minuts i 21 segons.
  • N/A: en el seu format de sortida per defecte, ffprobe mostra això quan la durada falta. En canvi, els formats de sortida JSON i XML ometen la durada.

Un nombre sense unitat no és sempre en segons. El fotograma TLEN compta mil·lisegons, i el valor duration_ts a ffprobe compta unitats de la base de temps del flux. Comprova quin camp t’ha donat el nombre.

Per què els programes poden mostrar durades diferents

Diferents programes poden mostrar durades diferents per al mateix fitxer, i cap dels dos ha d’estar necessàriament equivocat. Aquí tens 4 motius:

  • Arrodoniment: un reproductor que només mostra segons sencers arrodoneix 200.541 cap amunt o cap avall.
  • Pistes separades: la imatge i el so tenen pistes separades, i cada pista té la seva pròpia durada. En un fitxer MOV, la durada de la pel·lícula correspon a la pista més llarga.
  • Hores d'inici: cada flux pot tenir la seva pròpia hora d'inici. FFmpeg pot mesurar des de l'inici més primerenc fins al final més tardà, de manera que un inici tardà pot fer que el total sigui més llarg.
  • Estimacions: un fitxer pot tenir una taxa de bits però cap durada. FFmpeg aleshores estima la durada a partir de la taxa de bits i la mida del fitxer, i adverteix que el resultat pot ser inexacte.

Per què és important

La durada et permet comprovar un fitxer sense reproduir-lo. Si esperes un clip de 5 minuts i 15 segons i veus 15.23 s, és possible que el fitxer no sigui el que esperaves.

La durada també es relaciona amb altres valors. FFmpeg pot calcular la taxa de bits global a partir de la mida del fitxer i la durada.