我想提取每个帧及其显示时间。目的是稍后比较两个视频(参考/原始视频和传输的视频)之间的输出,并查看缺少哪些帧。我计划使用 Big Buck Bunny (http://download.blender.org/peach/bigbuckbunny_movies/) 作为我的样本视频。
FFMPEG 似乎是用于此目的的工具,但我还没有找到适合我的用例的正确选项组合。
我期望我的输出类似于以下内容:
frame = 1, time = 0
frame = 2, time = 2
frame = 3, time = 3
...
frame 14315, time = 596
我希望质量下降的视频能够通过其输出显示出质量下降的迹象,如缺少帧和时间不同步。
答案1
尝试过滤显示信息。看来这就是你所需要的。例如:
ffmpeg -i 1.ts -vf "showinfo" -f null /dev/null
答案2
为什么不探测视频?ffprobe
是用于此目的的绝佳工具,与 捆绑在一起ffmpeg
。
ffprobe -select_streams v:0 FILE_PATH -show_frames