当前位置: 首页 > 知识库问答 >
问题:

提取关键帧信息和字节偏移从视频ffmpeg/ff探针

漆雕彦
2023-03-14

如何使用ffmpeg/ffprobe从视频中检索每个关键帧信息。

我已经阅读了很多与此相关的问题和答案,但该命令仅返回关键帧持续时间。

我已使用此命令提取关键帧持续时间

ffprobe -loglevel error -skip_frame nokey -select_streams v:0 -show_entries frame=pkt_pts_time -of csv "/var/www/html/YoutubeTesting/1080p.mp4"

但是我需要从每个关键帧中得到的信息是

1-视频字节大小的字节偏移量

2-关键帧的持续时间

谢谢!

共有3个答案

张唯
2023-03-14

您可以使用下面的命令获取关键帧偏移字节和帧号。

ffprobe -skip_frame nokey -select_streams v:0 -count_frames -show_entries frame=pkt_pos,best_effort_timestamp_time -of csv INPUT
单凯捷
2023-03-14

我刚发现自己提取了所有关于钥匙的信息。这将对某人有用。

例如,只需将skip_framenokey添加到命令中

ffprobe -select_streams v -skip_frame nokey -show_frames -v quiet video.mp4

它将显示关键帧的信息,信息将包含时间,持续时间,偏移字节等。

丰岳
2023-03-14

使用

ffprobe -loglevel error -skip_frame nokey -select_streams v:0 -show_entries frame=pkt_duration_time,pkt_pos -of csv "video.mp4"
 类似资料:
  • 我想提取原始Yuv帧从mp4剪辑使用FFMPEG。我输入。mp4告诉我视频格式是YUV420P10LE。我使用以下命令来提取帧: 以下是FFMPEG的日志:

  • 这将从到获取所有i帧。 但是我想做的是给出一个帧号列表,并让ffmpeg提取出与每个帧号最接近的关键帧。有没有一种方法可以用ffmpeg来实现这一点,或者我必须在libavcodec上编写自己的程序来实现这一点?

  • 我想在背景图像上覆盖透明视频。我有一个视频,其中上半部分是RGB对象,下半部分是阿尔法掩码。 现在,为了制作这个,我执行以下步骤:

  • 我有一堆从Youtube下载的视频,我想从他们中提取帧。我使用的当前命令是: 但是我还想设置-r和-t选项。我想要的fps是每个视频的fps,持续时间是他们的持续时间。我知道如果我不设置-r选项,默认值是25 fps。

  • 我正在尝试提取几个视频上的所有帧。这些视频是在以可变帧速率保存输出的摄像机上拍摄的,因此,一些帧在时间上比其他帧更接近(根据mediainfo,每秒27到30帧) 这些帧将与一些元数据同步,因此我不仅需要提取它们,还需要保留视频每帧拍摄的[相对]时间信息。 我一直在使用ffmpeg来提取视频帧,当视频帧速率不再恒定时,挑战就来了。任何其他不同于ffmpeg的方法或程序都可以完成任务。