我已经找到了许多使用 ffprobe 查找视频中关键帧位置的解决方案,但它们都很慢,例如 8k 视频的实际时间大约是 0.1 倍。
虽然这对于在视频开头附近找到关键帧来说很好,但我不想等待 10 个小时来找到 1 小时标记附近关键帧的位置。
有谁知道如何快速获取时间戳之前或之后关键帧的位置?
慢速回答示例:
如何使用 FFmpeg 获取给定时间戳之前最近关键帧的时间戳?
使用 FFmpeg 获取给定时间戳之前关键帧的时间戳
在 FFMPEG / Python 中获取视频中的 I 帧列表
基本命令的形式如下
在我的测试文件中,这将打印
这将显示 2990 秒到 3010 秒时间范围内标记为关键帧的所有数据包。它从 2988 秒开始,因为这是 2990 秒的搜索点。
这耗时 160 毫秒。