FFmpeg | Обрезка по времени

от
FFmpeg    cut, обрезка по времени

Одной из распространённых задач является обрезка части видео.


Обрезка по времени делается при помощи ключей:
  -ss — для указания начальной позиции, откуда будет вырезана часть
  -to — для указания конечной позиции, до которой будет вырезана часть
  -t — для указания длительности полученного результата
  -sseof — для указания позиции с конца

Значение указывается в секундах (поддерживается десятичная точка и математические выражения) или в формате HH:​mm:ss.
Параметры -ss и -sseof следует указывать до входного файла, тогда ffmpeg сможет быстро перейти к нужной позиции. Если указать после входного файла, поиск позиции будет заметно медленнее, но в некоторых случаях точнее.

Получить первые 40 секунд видео:
  1. ffmpeg -i input.mkv -t 40 result.mp4
Пропустить первые 15 секунд, а остальное сохранить в result.mp4:
  1. ffmpeg -ss 15 -i input.mp4 -c copy result.mp4
Не забывайте использовать -c copy для подходящих случаев. С его помощью обрезка будет очень быстрой!
Вырезать видео, начиная с 3 часов 22 минут 28 секунд:
  1. ffmpeg -ss 03:22:28 -i input.mp4 -c copy result.mp4
Вырезать 10 минут аудио, начиная с 42 минуты:
  1. ffmpeg -ss 00:42:00 -i input.mp3 -t 10*60 result.mp3
Вырезать видео с 14 по 28 минуты:
  1. ffmpeg -ss 00:14:00 -i input.mp4 -to 00:28:00 result.mp4


-sseof позволяет указать сколько секунд отступить назад от конца видео.
Получить последние 30 секунд видео:
  1. ffmpeg -sseof 30 -i input.mp4 result.mp4
Получить предпоследние 30 секунд видео (отступить на 1 минуту назад и взять 30 секунд):
  1. ffmpeg -sseof 60 -i input.mp4 -t 30 result.mp4
  • +1
  • views 10766