通过子采样帧将高速视频转换为普通视频

Car*_*oft 7 video vlc-media-player ffmpeg framerate

我发现许多商业应用程序可以通过将每个第 n 帧写入一个新的视频文件来将例如 120 fps 的“慢动作”视频转换为 30 fps。我希望通常的免费软件工具,如 VLC 或手刹或 ffmpeg 可以为我做到这一点,但我承认无法追踪这样做的命令。我找到了多种方法将每个第 n 帧导出到一组图像文件中,但我肯定不必这样做,然后将数百或数千个 jpg 合并到一个新的视频文件中。

我确实找到了这个使用 setpts的延时答案,所以如果这就是我需要做的,请告诉我(有或没有“you dope”部分:-))。

Gya*_*yan 10

如果你想保持实时,即 1 秒的实况在 1 秒的视频中播放,那么

ffmpeg -i input.mp4 -r 30 output.mp4
Run Code Online (Sandbox Code Playgroud)

这将每 4 帧丢失 3 帧。

如果您想保留所有帧但缓慢地循环遍历它们,那么

ffmpeg -i input.mp4 -vf setpts=4*PTS -r 30 output.mp4
Run Code Online (Sandbox Code Playgroud)