ffmpeg:获取仅包含每 30 帧且以原始速度 30 倍播放的视频

ffmpeg:获取仅包含每 30 帧且以原始速度 30 倍播放的视频

我正在尝试使用 ffmpeg 从视频流中提取每 30 帧。为此,我咨询了所有https://superuser.com/questions/573747/drop-every-even-or-odd-frames-using-ffmpeg 如何从视频中提取每 10 帧? https://superuser.com/questions/1274661/selecting-one-every-n-frames-from-a-video-using-ffmpeg但这两种选择都不起作用。

就我而言最接近的是

$ ffmpeg -i DSCF0001.AVI -vf "select='not(mod(n-1,30))',setpts=N/(30*TB)" output.mkv

这将创建一个视频,该视频一开始完全符合我的要求,但随后只是在某个时刻冻结并且不再继续。在编码过程中,我在命令行上收到以下消息:

[matroska @ 0x559dfb975d40] Starting new cluster due to timestampte= 356.7kbits/s speed=8.09x    
    Last message repeated 3 times
[matroska @ 0x559dfb975d40] Starting new cluster due to timestampte= 358.5kbits/s speed=8.09x    
    Last message repeated 3 times
[matroska @ 0x559dfb975d40] Starting new cluster due to timestampte= 354.1kbits/s speed=8.09x    
    Last message repeated 3 times

这可能与该问题相关,也可能无关。

实现我的目标的正确命令行是什么?

相关内容