FFmpeg — мощный мультимедийный редактор командной строки для Linux. Он позволяет записывать и манипулировать звуком, создавать скринкасты и даже редактировать и кодировать видеофайлы с высоким битрейтом. Здесь мы покажем вам, как быстро обрезать видеофайлы с помощью FFmpeg.
Совет. Узнайте больше о видеокодеках и битрейте до оптимизация размера видеофайла с помощью 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 для управления вашим видео .
Вырезание короткого фрагмента внутри видеофайла
FFmpeg также может выборочно вырезать сегменты внутри видеофайла. В графических редакторах для этого обычно требуется создать два отдельных фрагмента и вручную соединить их на временной шкале видео.
Начните с создания резервной копии исходного видеофайла:
cp ~/my-video.mp4 ~/my-video-backup.mp4
Откройте видео на медиаплеере и определите точные временные метки для точек обрезки. В моем случае я хочу создать видеофайл, используя только кадры с 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 .
Разрез видеофайла на одинаковые сегменты
Помимо вырезания и объединения клипов, вы также можете использовать 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-минутные сегменты.
Примечание. Эта команда попытается разделить видеофайл на основе ключевого кадра, ближайшего к времени целевого сегмента. Таким образом, эта команда не всегда может привести к созданию идеально однородных сегментов.
Научиться выполнять базовые манипуляции с видео в FFmpeg — это лишь одна из замечательных вещей, которые вы можете делать в Linux. Узнайте больше о разнообразной экосистеме этой операционной системы, просмотрев некоторые из лучшее программное обеспечение для Linux .
Изображение предоставлено: Санджив Нагарадж через Unsplash и Викисклад . Все изменения и скриншоты Рамсеса Реда.