使用FFmpeg加快视频速度以获得正确的持续时间

时间:2015-09-01 03:58:42

标签: video ffmpeg

我按照instructions使用ffmpeg加快了视频速度。例如,要将视频加速4倍,请运行以下命令:

ffmpeg -i vid.MP4 -filter:v "setpts=0.25*PTS" vid_fast.MP4

当视频按指示的数量加速时,视频的持续时间(如其属性所示,以及我在VLC中播放视频时)保持与原始视频相同。例如,如果vid.MP4最初为4分钟,那么vid_fast.MP4也是4分钟,而不是预期的1分钟。 (额外的3分钟只包括在最后一帧冻结的视频。)

这有点麻烦,因为我需要删除我不感兴趣的额外3分钟。有什么方法可以避免这种情况吗?

以下是关于我正在使用的ffmpeg版本的更多信息:

ffmpeg version N-69060-gcd960c8 Copyright (c) 2000-2015 the FFmpeg developers
  built on Jan 14 2015 22:13:45 with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
 --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enab
le-zlib
  libavutil      54. 16.100 / 54. 16.100
  libavcodec     56. 20.100 / 56. 20.100
  libavformat    56. 18.101 / 56. 18.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5.  7.101 /  5.  7.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Hyper fast Audio and Video encoder

1 个答案:

答案 0 :(得分:1)

加快视频速度后,只需将输出视频(视频为vid_fast.mp4)修剪为持续时间即可。使用以下命令

ffmpeg -i vid_fast.MP4 -vcodec copy -t 60 out_fast.mp4

它将创建1分钟的输出视频。