2010-07-07 9 views
111

J'utilise ffmpeg pour me donner des informations vidéo. Plus précisément:Signification de la sortie ffmpeg (tbc, tbn, tbr)

ffmpeg -i video.ext 

Je reçois 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 TBR, TBN et tbc sont exactement? J'ai vu des spéculations sur le net mais rien de définitif?

Merci d'avance.

+5

Cela devrait être transféré à video.se si possible – v010dya

Répondre

144

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

  • TBN = la base de temps en AVStream qui est venu du récipient
  • tbc = la base de temps en AVCodecContext pour le codec utilisé pour un flux particulier
  • TBR = TBR est deviné à partir du flux vidéo et est la valeur utilisateurs voulez voir quand ils recherchent le taux de trame vidéo

Cela a également été demandé sur les listes de diffusion FFmpeg: What does the output of ffmpeg mean? tbr tbn tbc etc?

+3

Merci pour cela - comme « je pense » a été utilisé dans ces postes - je ne suis pas sûr que ce était 'fait' ou 'opinion'. Comment TBR se rapporte-t-il exactement à la trame par seconde et dans quelles conditions diffèrent-elles et pourquoi? – user7289

+1

tbr est le framerate que le démultiplexeur doit utiliser. dans les versions plus récentes, ffmepg/avlib l'appellera même «fps». voici une version plus récente sortie: 'Stream # 0.0 [0x1011]: Vidéo: h264 (haut), yuv420p, 1920x1080 [PAR 1: 1 DAR 16: 9], 23,98 fps, 90k tbn, 47,95 tbc' – gcb

+1

Voir aussi réponse] (https://stackoverflow.com/a/9400527/4720018) et le ffmpeg [source] (https://github.com/FFmpeg/FFmpeg/blob/e5c11ab9cef60a6c9141d7a60145ea833dd88485/libavformat/dump.c#L509) – Dennis