每個 GOP 視訊位元率的命令列探測

每個 GOP 視訊位元率的命令列探測

有沒有辦法使用 ffprobe 或類似的命令列工具來探測每個 GOP 的視訊位元率?

ffprobe 似乎只輸出整個影片的整體位元率,而不是封包。

ffprobe -i video.mp4 -show_entries packets

我猜這是一組圖片。

[PACKET]
codec_type=video
stream_index=0
pts=126976
pts_time=9.920000
dts=126464
dts_time=9.880000
duration=512
duration_time=0.040000
convergence_duration=N/A
convergence_duration_time=N/A
size=6229
pos=5648590
flags=__
[/PACKET]

答案1

資料包不是一組圖片 - 根據容器的不同,資料包只是一個幀,也可以僅包含幀的一部分。

您應該查看是否有包含關鍵影格的資料包。檢查flags屬性。如果你得到了K,這就是共和黨的開始。記住資料包 DTS 並對屬性求和,size直到到達下一個關鍵幀,將該總和除以時間戳中的增量,或除以 的總和duration_time

這將為您提供每個 GOP 的位元率,包括打包開銷。

相關內容