如何加速视频以缩短其长度并嵌入时间戳以表示录制时间?
How to speed up a video in order to shorten its length and embed a timestamp to represent time as it was recorded?
我有一个以 5 fps 录制的视频,我想加快到 30 fps 以缩短它。这很简单:
ffmpeg -i input.mp4 -r 30 -vf "setpts=(1/6)*PTS" output.mp4
但是当我尝试使用以下方法为其添加时间戳时:
ffmpeg -i input.mp4 -r 30 -vf "setpts=(1/6)*PTS, drawtext=text='%{pts\:localtime\:1610043985\:%Y\-%m\-%d %H\\\:%M\\\:%S.}%{eif\:mod(n,30)\:d}'" output.mp4
时间戳不再代表记录的时间(现在应该 运行 更快)
一次完成此操作的最简单方法是什么?
先放drawtext
滤镜,再放setpts
滤镜:
ffmpeg -i input.mp4 -r 30 -vf "drawtext=..., setpts=..." output.mp4
我有一个以 5 fps 录制的视频,我想加快到 30 fps 以缩短它。这很简单:
ffmpeg -i input.mp4 -r 30 -vf "setpts=(1/6)*PTS" output.mp4
但是当我尝试使用以下方法为其添加时间戳时:
ffmpeg -i input.mp4 -r 30 -vf "setpts=(1/6)*PTS, drawtext=text='%{pts\:localtime\:1610043985\:%Y\-%m\-%d %H\\\:%M\\\:%S.}%{eif\:mod(n,30)\:d}'" output.mp4
时间戳不再代表记录的时间(现在应该 运行 更快)
一次完成此操作的最简单方法是什么?
先放drawtext
滤镜,再放setpts
滤镜:
ffmpeg -i input.mp4 -r 30 -vf "drawtext=..., setpts=..." output.mp4