2010-07-07 388 views
111

我使用ffmpeg來告訴我視頻信息。具體做法是:ffmpeg輸出的含義(tbc,tbn,tbr)

ffmpeg -i video.ext 

我得到的輸出:

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

有誰知道什麼TBR,TBN和TBC是什麼呢?我在網絡上看到了猜測,但沒有確定性?

在此先感謝。

+5

這應該被轉移到video.se如果可能的話 – v010dya 2014-11-09 09:07:02

回答

144

好吧,這是所有關於時間。 FFMpeg實際上在不同的基地使用三種不同的時間戳來工作。

  • TBN =在AV流的時間基準的是已經從容器
  • TBC =對於用於特定流
  • TBR = TBR是編解碼器在AVCodecContext時基從視頻流中猜出,並且是用戶 希望看到 當他們尋找視頻幀速率時

這也要求對FFmpeg的郵件列表:What does the output of ffmpeg mean? tbr tbn tbc etc?

+3

感謝這個 - 順便「我認爲」在這些帖子中使用 - 我不知道它是否是'事實'還是'意見'。 TBR如何準確地與幀每秒相關,並且它們在什麼條件下有所不同?爲什麼? – user7289 2010-07-07 23:05:54

+1

tbr是分流器應該使用的幀率。在更新的版本中,ffmepg/avlib甚至會將其稱爲「fps」。這裏是一個較新的版本輸出:'Stream#0.0 [0x1011]:Video:h264(High),yuv420p,1920x1080 [PAR 1:1 DAR 16:9],23.98 fps,90k tbn,47.95 tbc' – gcb 2016-03-25 22:52:58

+1

另見[this (https://stackoverflow.com/a/9400527/4720018)和ffmpeg [source](https://github.com/FFmpeg/FFmpeg/blob/e5c11ab9cef60a6c9141d7a60145ea833dd88485/libavformat/dump.c#L509) – Dennis 2017-09-25 08:31:26