我想使用 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"
。