如何使用 ffmpeg 从视频中提取关键帧时间戳

如何使用 ffmpeg 从视频中提取关键帧时间戳

我想使用 ffmpeg 从视频中提取关键帧的时间戳。我发现线程详细解释了如何做到这一点。

但是,我的视频似乎没有该pkt_pts_time参数。相反,它有一个pkt_dts_time参数,我想知道这是否是同一个东西,还是我遗漏了什么?我需要改用吗pts_time

作为参考,以下是完整的帧元数据:

[FRAME]
media_type=video
stream_index=0
key_frame=1
pts=131683050
pts_time=1463.145000
pkt_dts=N/A
pkt_dts_time=N/A
best_effort_timestamp=131683050
best_effort_timestamp_time=1463.145000
pkt_duration=3600
pkt_duration_time=0.040000
duration=3600
duration_time=0.040000
pkt_pos=215576461
pkt_size=18186
width=720
height=576
crop_top=0
crop_bottom=0
crop_left=0
crop_right=0
pix_fmt=yuv420p
sample_aspect_ratio=16:15
pict_type=I
coded_picture_number=431
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=tv
color_space=bt470bg
color_primaries=bt470bg
color_transfer=bt470bg
chroma_location=left
[/FRAME]

这是我正在使用的命令:ffprobe -i input.mp4 -select_streams v -skip_frame nokey -show_frames -show_entries "frame=pkt_pts_time"

相关内容