FFmpeg | Ускорить или замедлить аудио/видео

Первоисточник

Для ускорения или замедления видео используется фильтр setpts:
-vf setpts=коэффициент_скорости*PTS
Если коэффициент скорости больше единицы, то видео замедлится, если меньше — ускорится.

Замедлить видео в 5 раз:

  1. ffmpeg -i input.mp4 -an -vf setpts=5*PTS result.mp4

Ускорить видео в 4 раза:

  1. ffmpeg -i input.mp4 -an -vf setpts=0.25*PTS result.mp4

Для ускорения можно использовать такой формат:
-vf setpts=PTS/коэффициент_ускорения
Где коэффициент_ускорения должен быть больше единицы.

Ускорить видео в 4 раза:

  1. ffmpeg -i input.mp4 -an -vf setpts=PTS/4 result.mp4

Ускорить видео в 20 раз:

  1. ffmpeg -i input.mp4 -an -vf setpts=PTS/20 result.mp4

Ускорить/замедлить аудио темпДля изменения темпа используется аудиофильтр atempo:
-af atempo=темп
Темп должен быть в пределах 0.5...100

Ускорить аудио в 5 раз:

  1. ffmpeg -i input.wav -af atempo=5 result.mp3

Замедлить аудио в 2 раза:

  1. ffmpeg -i input.wav -af atempo=0.5 result.mp3
  1. ffmpeg -i input.wav -af atempo=1/2 result.mp3

Для замедления аудио в 4 раза, нужно последовательно применить фильтр два раза:

  1. ffmpeg -i input.wav -af atempo=0.5,atempo=0.5 result.mp3

ℹ️ Для более качественного и удобного изменения скорости аудио, можно воспользоваться утилитой sox:

  1. sox in.mp3 result.mp3 speed 0.25

Ускорить аудио и видео в 2 раза

  1. ffmpeg -i input.mp4 -vf setpts=PTS/2 -af atempo=2 result.mp4

Замедлить аудио и видео в 2 раза

  1. ffmpeg -i input.mp4 -vf setpts=PTS*2 -af atempo=0.5 result.mp4