如何使用ffmpeg获取给定时间戳之前最近关键帧的时间戳

如何使用ffmpeg获取给定时间戳之前最近关键帧的时间戳,ffmpeg,keyframe,ffprobe,Ffmpeg,Keyframe,Ffprobe,要定位并获得我使用的最接近的帧 ffprobe -i /path/to.mp3 -show_frames -show_entries frame=pkt_pos -of default=noprint_wrappers=1:nokey=1 -hide_banner -loglevel panic -read_intervals $seconds%+#1 其中,我将起始位置指定为: '-read_intervals', seconds + '%+#1', //Read only 1 packet

要定位并获得我使用的最接近的帧

ffprobe -i /path/to.mp3 -show_frames -show_entries frame=pkt_pos -of default=noprint_wrappers=1:nokey=1 -hide_banner -loglevel panic -read_intervals $seconds%+#1
其中,我将起始位置指定为:

'-read_intervals', seconds + '%+#1', //Read only 1 packet after seeking to position 01:23
使用最新的
ffprobe
版本

$ ffprobe --version
ffprobe version 4.4 Copyright (c) 2007-2021 the FFmpeg developers
它不再起作用了,而我

N/A
因此是“第一个”,而如果我删除
$seconds%+#1
我会得到所有

ffprobe -i /path/to.mp3 -show_frames -show_entries frame=pkt_pos -of default=noprint_wrappers=1:nokey=1 -hide_banner -loglevel panic -read_intervals 20
N/A
1029888
1030306
1030724
1031142
1031560
1031978
1032396
1032814
1033232
1033650
1034068
1034486
1034904
...
如何检索最近的帧,然后不使用
read_interval$seconds%+#1
而仅使用
read_interval$seconds