如何通过点击 ffmpeg 中的右箭头键来模拟观众跳过视频?

如何通过点击 ffmpeg 中的右箭头键来模拟观众跳过视频?

我希望这一点显而易见。要么考虑在每 M 帧后跳过 N 帧,要么像某些视频编辑器中的抖动效果一样调节帧速率。

我尝试过类似的方法,但仍然会在跳过的帧的位置暂停:

 ffmpeg -i input.avi -filter:v select='lt(mod(n\,30)\,10)' -y edit/output.avi

答案1

使用

ffmpeg -i input.avi -filter:v select='lt(mod(n\,30)\,10)',setpts=N/FRAME_RATE_TB -y edit/output.avi

select 过滤器不会改变保留帧的时间戳,因此在“间隙”期间,大多数玩家会认为前一个保留段的最后一帧处于冻结状态。setpts 过滤器表达式使保留段相邻,从而消除间隙。

音频未经处理,因此如果存在,您将需要音频过滤器。

相关内容