Signification de la sortie ffmpeg (tbc, tbn, tbr) [Closed]

167

J'utilise ffmpeg pour me dire des informations vidéo. Plus précisément:

ffmpeg -i video.ext

J'obtiens la sortie:

Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 704x576 [PAR 12:11 DAR 4:3], 9578 kb/s, 25 tbr, 90k tbn, 50 tbc

Est-ce que quelqu'un sait ce que sont exactement tbr, tbn et tbc? J'ai vu des spéculations sur le net mais rien de définitif?

user7289
la source
7
Cela devrait être transféré sur video.se si possible
v010dya

Réponses:

193

Eh bien, il est temps. FFMpeg utilise en fait trois horodatages différents dans des bases différentes pour fonctionner.

  • tbn = la base de temps dans AVStream provenant du conteneur
  • tbc = la base de temps dans AVCodecContext pour le codec utilisé pour un flux particulier
  • tbr = tbr est deviné à partir du flux vidéo et correspond à la valeur que les utilisateurs veulent voir lorsqu'ils recherchent la fréquence d'images vidéo

Cela a également été demandé sur les listes de diffusion FFmpeg: Que signifie la sortie de ffmpeg? tbr tbn tbc etc?

Oléiade
la source
5
Merci pour cela - la façon dont «je pense» a été utilisé dans ces messages - je ne savais pas si c'était «fait» ou «opinion». Comment le TBR se rapporte-t-il exactement à l'image par seconde et dans quelles conditions diffèrent-ils et pourquoi?
user7289
2
tbr est le framerate que le démultiplexeur doit utiliser. dans les versions plus récentes, ffmepg / avlib l'appellera même carrément fps. voici une sortie de version plus récente:Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 23.98 fps, 90k tbn, 47.95 tbc
gcb
5
Voir aussi cette réponse et la source
djvg
5
"la base de temps dans AVStream qui provient du conteneur" est une phrase dénuée de sens.
Chloe
7
@Gyan Qu'est-ce qu'une "base de temps"? Qu'est-ce qu'un "AVStream"? Qu'est-ce qu'un "conteneur"? Pourquoi une valeur temps proviendrait-elle d'un conteneur? Le temps n'est-il pas objectif? Idem pour tous les 3. Cette réponse a besoin de plus de mots. Essayez de le reformuler d'abord avec le plus petit nombre de mots anglais de base, puis ajoutez une version plus longue avec beaucoup plus de mots décrivant chaque terme du jargon dans un langage clair et comment ils se sont liés les uns aux autres, avec des exemples.
Chloe le