視訊檔案的恆定和可變位元率的媒體訊息

視訊檔案的恆定和可變位元率的媒體訊息

這是什麼最大比特率對於.mp4比特率模式為的格式文件持續的

顯示 MP4 的媒體資訊(使用 MediaInfo 工具)

ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Bit rate mode : Constant
Bit rate : 1 500 Kbps
Maximum bit rate : 3 961 Kbps
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.163


在這種情況下,比特率模式設定為多變的,位元率欄位中的值顯示為其309平均位元率嗎?

M4V 顯示的媒體資訊(使用 MediaInfo 工具)

ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Bit rate mode : Variable
Bit rate : 309 Kbps
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 23.976 fps
Minimum frame rate : 23.810 fps
Maximum frame rate : 24.390 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.229
Writing library : x264 core 120

答案1

當 MediaInfo 報告時Bit rate,它將報告實際媒體串流指定的位元率。因此,如果它顯示 1,500 並且使用恆定位元速率,那麼這就是編碼器設定的速率。

另一方面,當使用可變位元率模式進行編碼時,編碼器無法為您提供預先定義的平均值。因此,MediaInfo 將報告測量的平均值。它透過File__Analyze_Streams_Finish.cpp以非常通用的方式分析流大小和持續時間(請參閱其原始程式碼)來實現這一點。

當它給你一個Maximum bit rateVBR 時,含義就很明顯了。它也報告Maximum bit rateCBR 流的情況。不幸的是,我無法弄清楚它的確切含義——原始程式碼有點複雜——但這取決於所使用的特定媒體編解碼器或容器。

可能是以下其中之一:

  • 計算的結果,尋找峰值位元率(不太可能,沒有檢查完整的原始程式碼)
  • 從其中提取的一條訊息MOOV原子MP4 容器的
  • MPEG-2描述符定義在ISO/IEC 13818-1第 2.6.26 節:

    該值指示在此節目元素或節目中將遇到的比特率上限,包括傳輸開銷

  • 某個容器支援的最大位元率,例如 MXF
  • 特定編解碼器設定檔/等級組合支援的最大位元率

順便一提:據我所知,MP4(MPEG-4 Part 14)容器對所使用的編解碼器的位元率沒有限制。MP4 不是視訊編解碼器。如果您談論的是 MPEG-4 Part 10 AVC 視訊 (h.264) 中的“MP4”,則 5.2 級的 High 10 設定檔指定的最大位元率為 720,000 kBit/s(參考)。

相關內容