我发现了许多商业应用程序,它们可以将 120fps 的“慢动作”视频转换为 30 fps,方法是将每 n 帧写入一个新的视频文件。我希望 VLC、handbrake 或 ffmpeg 等常用免费软件工具可以为我做到这一点,但我承认无法找到执行此操作的命令。我找到了许多方法将每 n 帧导出到图像文件集合,但我肯定不想这样做,而是将数百或数千张 jpg 合并到一个新的视频文件中。
我确实找到了这个延时摄影答案使用 setpts 所以如果这就是我需要做的全部,请告诉我(带或不带“你很蠢”的部分:-))。
答案1
如果你想保持实时性,即1秒的实况动作在1秒的视频中播放,那么
ffmpeg -i input.mp4 -r 30 output.mp4
这将导致每 4 帧中丢弃 3 帧。
如果你想保留所有帧但缓慢循环播放它们,那么
ffmpeg -i input.mp4 -vf setpts=4*PTS -r 30 output.mp4