我正在尝试在其关键帧上分割视频文件:
ffmpeg -f x11grab -framerate 30 -i:0.0 -vcodec libx264 -x264-params keyint = 1:min-keyint = 2:no-scenecut -force_key_frames“expr:gte(1,0)” -t 5 -pix_fmt yuv420p -f ssegment -segment_format mp4 -segment_format_options movflags = + frag_keyframe + empty_moov + default_base_moof out%03d.mp4
每一帧都是一个关键帧,因此片段应该在每一帧都分开,但事实并非如此。拆分文件包含多个关键帧,无法正常播放。
我做错了什么?
答案 0 :(得分:2)
片段复用器仅在关键帧(通常)处剪切,但不会在每个关键帧处自动剪切。您尚未设置或更准确地覆盖细分持续时间选项。
所以,
ffmpeg -f x11grab -framerate 30 -i :0.0 \
-vcodec libx264 -x264-params keyint=1 -t 5 -pix_fmt yuv420p \
-f ssegment -segment_time 0.001 -segment_format mp4 \
-segment_format_options movflags=+frag_keyframe+empty_moov+default_base_moof \
out%03d.mp4
使用keyint = 1(相当于最大KF间隔),您不需要min-keyint或scenecut或force_key_frames。