在关键帧处分割FFmpeg输出

在关键帧处分割FFmpeg输出,ffmpeg,Ffmpeg,我尝试在关键帧处分割视频文件: 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 \ -segmen

我尝试在关键帧处分割视频文件:

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
每一帧都是一个关键帧,所以片段应该在每一帧分割,但它不是。分割的文件包含多个关键帧,无法正常播放


我做错了什么?

分段复用器仅在关键帧处剪切(正常情况下),但不会在每个关键帧处自动剪切。您还没有设置或更准确地说,覆盖了段持续时间选项

所以

当keyint=1(相当于最大KF间隔)时,您不需要最小keyint或scenecut或force_key_帧

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