查看视频文件关键帧间隔

一、Elecard StreamEye Tools拖放视频文件查看。

红的是I帧;蓝的是P帧;绿的是B帧。

二、ffprobe -show_streams统计。

1、统计视频关键帧、非关键帧

ffprobe.exe -i 1.mp4 -show_streams v -show_packets -print_format json > d:\1.json

再统计1.json文件中flags字段,如果为K_表示关键帧,否则非关键帧。找第一个K_与下一个K_间隔多少帧,就是GOP间隔。

ffprobe其他常用options解析

-show_packets:[PACKET]标签的多媒体信息

-show_data: packets多媒体数据

-show_format:多媒体封装格式

-show_frames: 视频帧信息v、a分别表示只显示视频、音频

-print_format: 信息输出格式,支持xml、csv、json、flat、ini

-select_streams: 参数可以是a、v、s分别表示只查看音频、视频、字幕

2、通过执行以下命令将FFprobe信息重定位到ffprobe_help.txt文件中便于查看,FFprobe使用方法为:ffprobe.exe [options] [input_file]。

ffprobe.exe --help > ffprobe_help.txt

3、查看视频文件信息,则执行以下命令,

ffprobe.exe 1.mp4

三、设置关键帧间隔

利用ffmpeg的参数 -g 帧间隔

-g 标志设置GOP大小(如您所述), -bf 2 表示2 B-帧应插入每组P帧之间,而 sgop 严格执行GOP大小。

ffmpeg -i input.mp4  -g 12 -bf 2 sgop output.mp4

ffmpeg -i input.mp4  -g 12 output.mp4