我需要一个视频编辑器来减慢一些视频的速度,并将时间刻度(毫秒)与视频重叠。你能推荐我任何具有这些功能的软件吗?减慢视频速度并不像时间字幕那么重要。我使用 GoPro Hero4 相机以最佳设置(大约 60fps?)录制了所有剪辑。
为了进行一些学校项目实验,我正在尝试测量波前行进已知距离所需的时间。
答案1
为了完成我们想在这里做的所有事情,我们必须按顺序做两件事。
1.在视频上叠加准确的时间戳
2.减慢视频速度,同时保留原始时间戳
ffmpeg 可以通过以下方式提供时间叠加:绘图文本过滤器
步骤1
ffmpeg -i input.mp4 -s 1920x1080 -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:expansion=normal: text='frame %{n}\\: pts=%{pts \\: hms}': fontcolor=white:fontsize=48: x=7: y=7" -vcodec libx264 -vb 2000k -strict -2 -preset ultrafast -f mp4 output.mp4
x=
您可以通过调整 fontsize 参数后的和参数来调整时间码的位置y=
。ffmpeg 是一个非常强大的视频处理程序,我不会假装知道所有不同的选项,但我还没有发现我需要处理媒体文件而无法用它完成的很多事情,而且它包含的ffplay
媒体播放器可能这
可以找到 FFMpeg 预构建的二进制文件和文档这里我使用的是ffmpeg版本2.8.10-0ubuntu0.16.04.1
第2步
可以使用 setpts filter 视频过滤器来减慢视频速度。此过滤器通过更改每帧的显示时间戳来工作,因此您需要执行此操作,以便保留上面讨论的时间叠加的准确 pts。我们将首先使用以下命令将原始输出文件复制到新输入文件cp output.mp4 i2.mp4
我们需要使用大于 1 的系数来减慢视频速度。请注意,此过滤器不会影响音频,因此我在以下命令中添加了 -an 开关来删除它:
ffmpeg -i i2.mp4 -an -vf "setpts=2.0*PTS" output.mp4
这会导致视频播放速度只有原先的 1/2(播放时间是原先的两倍)。
如果对此答案有任何不清楚的地方,请给我留言,我会尽力澄清。