设置关键帧信息 ffmpeg -i 15s.mp4 -g 10 gop10_15s.mp4查看关键帧信息ffprobe -show_frames gop10_15s.mp4ffprobe -show_frames -select_streams v gop10_15s.mp4
一.转码和转封装:
ffmpeg
-i ingput.rmvb -vcodec mpeg4 -b:v 200k -r 15 -s 640x480 -an -f mp4 -movflags faststart -y output.mp4
-vcodec : 强制指定视频编码格式,-acodec 强制指定音频编码格式 (
ffmpeg
-codecs可以查看支持的codecs, 如果指定copy则就...
ffmpeg
是一款强大的音视频处理工具,提取
关键帧
是其中的一项重要功能。所谓
关键帧
,即视频编码过程中的关键数据点,包含完整的图像信息。提取
关键帧
可以用于视频剪辑、抽取静态画面等应用场景。
在
ffmpeg
中,使用
命令
行的方式提取
关键帧
。具体操作步骤如下:
1. 打开
命令
行工具,进入到
ffmpeg
安装目录下的bin文件夹中。
2. 输入
命令
ffplay -i input.mp4,其中input.mp4指的是要提取
关键帧
的视频文件名称。这样可以查看视频的基本信息和帧率等参数。
3. 确定要提取
关键帧
的位置。在视频播放过程中,当按下空格键时,当前帧即为
关键帧
。
4. 输入
命令
ffprobe -select_streams v -show_frames -show_entries frame=pkt_pts_time,pict_type input.mp4 > output.txt,其中output.txt是保存提取的
关键帧
信息的文本文件。该
命令
会输出视频的所有帧信息,包括
关键帧
和非
关键帧
。可以根据帧的pict_type属性来判断帧是否为
关键帧
。
5. 根据输出的文本信息,确定
关键帧
的位置。可以用文本编辑器来查看输出文件中的帧信息。
6. 提取
关键帧
。使用
命令
ffmpeg
-i input.mp4 -vf "select='eq(pict_type,PICT_TYPE_I)' , setpts=N/FRAME_RATE/TB" -vsync vfr keyframe_%03d.jpg,其中-vf "select='eq(pict_type,PICT_TYPE_I)',表示只输出
关键帧
;-setpts N/FRAME_RATE/TB,表示用与原视频相同的帧率输出;-vsync vfr,表示根据输入视频的帧率输出
关键帧
。本
命令
将提取的
关键帧
保存为jpg图片格式,文件名为keyframe_001.jpg、keyframe_002.jpg等。
通过上述步骤,就可以使用
ffmpeg
提取视频的
关键帧
。注意在使用过程中需要根据具体情况进行参数调整和路径设置。