gpt4 book ai didi

video - ffmpeg 中显示的 FPS 与总帧数/持续时间不匹配

转载 作者:行者123 更新时间:2023-12-04 22:48:01 48 4
gpt4 key购买 nike

FPS 定义为每秒的帧数。但是当我尝试使用总帧数/持续时间计算 FPS 时,我得到的数字与 ffmpeg 中显示的 FPS 略有不同:

对于这个视频http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4
使用 ffmpeg,我们可以得到它的 FPS、持续时间和总帧数:

ffprobe -select_streams v -show_streams ForBiggerFun.mp4 | grep nb_frames



nb_frames=1440

ffmpeg -i ForBiggerFun.mp4



23.98 帧/秒
持续时间:00:01:00.07

如果我们使用 nb_frames 计算每帧的持续时间,我们得到
fps = nb_frames/Duration = 1440/60.07 = 23.972032628599965,与23.98不同

哪个值更可靠?差异是否意味着帧的持续时间可能与其他帧不同(帧分布不均匀)?

最佳答案

请注意,持续时间和 fps 均四舍五入到小数点后两位。

要获得更精确的读数,请运行

ffprobe -v 0 -select_streams v -show_entries stream=duration_ts,time_base,nb_frames  ForBiggerFun.mp4

这将产生
[STREAM]
time_base=1/48000
duration_ts=2881920
nb_frames=1440
[/STREAM]

你的精确帧率是 nb_frames / (duration_ts / time_base) = 1440 / (2881920 / 48000) = 23.9840 .但是请注意,所有流都不会具有相同的持续时间。事实上,音频流长了 30 毫秒,播放器将延长视频的持续时间以匹配它,因此从算术上讲,有效帧速率略小。

关于video - ffmpeg 中显示的 FPS 与总帧数/持续时间不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62353384/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com