2010-07-07 7 views
111

Sto usando ffmpeg per dirmi informazioni sul video. In particolare:Significato dell'uscita ffmpeg (tbc, tbn, tbr)

ffmpeg -i video.ext 

ottengo l'output:

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

Qualcuno sa cosa TBR, TBN e da confermare sono esattamente? Ho visto la speculazione in rete ma niente di definitivo?

Grazie in anticipo.

+5

Questo dovrebbe essere trasferito al video.se se possibile – v010dya

risposta

144

Beh, è ​​tutto tempo. FFMpeg utilizza infatti tre diversi timestamp in diverse basi per funzionare.

  • tbn = base tempi in AVStream che è venuto dal contenitore
  • confermare = la base temporale nel AVCodecContext per il codec usato per un particolare flusso
  • tbr = TBR è indovinato dal flusso video e sono gli utenti di valore vogliono vedere quando cercano il video frame rate

Questo è stato chiesto anche sulle mailing list FFmpeg: What does the output of ffmpeg mean? tbr tbn tbc etc?

+3

Grazie per questo - il modo in cui 'penso' è stata utilizzata in questi posti - non ero sicuro se era "fatto" o "opinione". In che modo TBR si riferisce al frame al secondo esattamente e in quali condizioni differiscono e perché? – user7289

+1

tbr è il framerate che il demuxer dovrebbe usare. nelle versioni più recenti, ffmepg/avlib lo chiamerà addirittura 'fps'. ecco una versione più recente dell'output: 'Stream # 0.0 [0x1011]: Video: h264 (Alto), yuv420p, 1920x1080 [PAR 1: 1 DAR 16: 9], 23.98 fps, 90k tbn, 47.95 tbc' – gcb

+1

Vedi anche [questo answer] (https://stackoverflow.com/a/9400527/4720018) e ffmpeg [source] (https://github.com/FFmpeg/FFmpeg/blob/e5c11ab9cef60a6c9141d7a60145ea833dd88485/libavformat/dump.c#L509) – Dennis