一、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