Как обрезать и вырезать видео с помощью FFmpeg в Linux

FFmpeg – это мощный мультимедийный редактор командной строки для Linux. Он позволяет записывать и обрабатывать аудио, создавать скринкасты и даже редактировать и кодировать видеофайлы с высоким битрейтом. Здесь мы покажем вам, как быстро обрезать видеофайлы с помощью FFmpeg

Обрезка начала и конца видеофайла

Одной из самых мощных функций FFmpeg является возможность быстрой обрезки сегментов аудио- и видеофайлов. Это позволяет удалять ненужные фрагменты из видео и даже автоматизировать процесс с помощью скриптов.

Перед тем как приступить к обрезке, убедитесь, что у вас есть резервная копия исходного видеофайла. В отличие от графических редакторов, FFmpeg не предоставляет возможности отмены ни одной из своих функций:

cp ~/my-video.mp4 ~/my-video-backup.mp4

Чтобы обрезать первые 30 секунд 5-минутного видеофайла, выполните следующую команду:

ffmpeg -ss 00:00:30 -to 00:05:00 -i my-video.mp4 -c copy my-video-trim.mp4

Вы также можете использовать этот синтаксис для обрезки в конце, а не в начале видеофайла. Используя тот же видеофайл, выполните следующую команду, чтобы удалить последние 30 секунд:

ffmpeg -ss 00:00:00 -to 00:04:30 -i my-video.mp4 -c copy my-video-trim.mp4

Помимо этого, данный синтаксис также поддерживает обрезку на обоих концах видео. Например, удаление первых и последних 30 секунд из 5-минутного видео будет выглядеть так:

ffmpeg -ss 00:00:30 -to 00:04:30 -i my-video.mp4 -c copy my-video-trim.mp4

После этого проверьте, правильно ли FFmpeg обрезал ваше видео, сравнив его с исходным файлом.

Вырезание короткого сегмента внутри видеофайла

FFmpeg также может выборочно вырезать сегменты внутри видеофайла. В графических редакторах для этого обычно требуется создать две отдельные вырезки и вручную соединить их на временной шкале видео.

Откройте видео в медиаплеере и определите точные временные метки для точек обрезания. В моем случае я хочу создать видеофайл, используя только кадры с 2:30 до 4:00 и с 7:45 до 8:30 оригинала.

Переведите временные метки из минут в секунды:

echo "00:02:30" | awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 }'

Перейдите в каталог с видеофайлом и вставьте следующую команду:

ffmpeg -i my-video.mp4 \
-vf "select='between(t,FIRST-START-VALUE,FIRST-END-VALUE)+between(t,SECOND-START-VALUE,SECOND-END-VALUE)', setpts=N/FRAME_RATE/TB" \
-af "aselect='between(t,FIRST-START-VALUE,FIRST-END-VALUE)+between(t,SECOND-START-VALUE,SECOND-END-VALUE)', asetpts=N/SR/TB" \
my-video-cut.mp4

Замените значения «FIRST-START-VALUE» и «FIRST-END-VALUE» для флагов -vf и -af на значения для первой вырезки. В моем видео первая нарезка начинается на 150 секунде и заканчивается на 240.

Замените значения «SECOND-START-VALUE» и «SECOND-END-VALUE» на значение для второй нарезки, затем нажмите Enter, чтобы выполнить команду.

Примечание: Вы можете добавить дополнительные нарезки, скопировав функцию between() на оба флага -vf и -af вместе со списком новых нарезок, разделенных запятыми.

Убедитесь, что ваше новое видео правильно нарезано, сравнив его с исходным файлом.

Разрезание видеофайла на однородные сегменты

Помимо разрезания и соединения клипов, вы можете использовать FFmpeg для разрезания и обрезки всего видео на короткие сегменты. Это может быть полезно, если у вас есть длинное видео, которое вы разбиваете на более мелкие клипы.

Перейдите в каталог с вашим длинным видео и выполните команду.

ffmpeg -i my-video.mp4 -c copy -map 0 -segment_time 00:10:00 -f segment -reset_timestamps 1 my-video-%03d.mp4

Замените значение «segment_time» на длину клипов. Например, вы можете установить значение «00:05:00», чтобы разделить длинное видео на 5-минутные сегменты.

Примечание: Эта команда попытается разделить видеофайл на основе ближайшего ключевого кадра к целевому времени сегмента. Поэтому в результате выполнения этой команды не всегда получаются идеально равномерные сегменты.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.maketecheasier.com

Похожие статьи

Комментарии (0)