Популярная библиотека для работы с мультимедиа FFmpeg позволяет не только конвертировать видео из одного формата в другой, но и делать с ним другие операции. Мы уже рассказывали, как повернуть видео с использованием данной библиотеки.
В настоящей статье будет показано, как обрезать видео, или наоборот, склеить несколько частей в одну с сохранением исходного качества.
Читайте также о других способах обрезки и склеивания видео в статьях:
- Разбиение и склеивание MKV видео. Обрезка фильма;
- Как разрезать и склеить видеофайл AVI;
- Как объединить несколько видео.
Подготовка
О том, как скачать и распаковать FFmpeg, читайте в разделах "Скачивание FFmpeg" и "Распаковка FFmpeg" статьи – Обнуление тега ориентации в MP4-видео.
Исполняемый файл-программа FFmpeg и видеофайлы могут находиться где угодно на компьютере, но удобнее всего собрать их вместе в одной папке, тогда в командах FFmpeg можно указывать только имена видеофайлов без указания полных путей.
Обрезка видео
Чтобы обрезать видео, нужно знать время начала и окончания нужного фрагмента. Для этого воспользуйтесь любым видеоплеером, чтобы посмотреть исходное видео, и запишите тайм коды начала и конца желаемого участка в формате ЧЧ:ММ:СС.
Откройте Командную стоку в папке с видеофайлами и исполняемым файлом FFmpeg. Для этого кликните по области навигации Проводника Windows, чтобы появился курсор, наберите "cmd" и нажмите клавишу Enter.
В открывшемся окне Командной строки наберите следующую команду:
ffmpeg -ss 00:00:00 -i source.mp4 -to 00:00:30 -c copy output.mp4
где:
- -ss 00:00:00 – время начала видео (укажите своё время начала);
- -i source.mp4 – имя исходного видеофайла;
- -to 00:00:30 – время окончания видео (укажите своё время окончания);
- -c copy – параметр, означающий копирование видеопотока с сохранением исходного качества;
- output.mp4 – имя конечного видеофайла (укажите желаемое имя).
Конечный видеофайл "output.mp4" будет обрезан в соответствии с указанными временными метками.
Необязательно, чтобы видео было в формате MP4, FFmpeg поддерживает много других форматов.
Склеивание видео
Для склеивания фрагментов видео понадобится дополнительный текстовый файл, содержащий имена файлов-фрагментов, которые нужно объединить. Склеивать можно больше двух видео, единственное условие, чтобы оны были одного формата. В таком случае склейка видео будет произведена без конвертирования с сохранением исходного качества. FFmpeg также умеет склеивать видео разных форматов, но это уже тема для отдельной статьи. Перечислите их имена в текстовом файле (имя каждого нового файла с новой строки с обязательным ключевым словом "file" в начале, отделенного пробелом от имени) и сохраните под любым названием (например "concat.txt") в папке вместе с исполняемым файлом FFmpeg и исходными видеофайлами. Образец содержимого текстового файла:
file Video-01.mp4 file Video-02.mp4 file Video-03.mp4
На этот раз в окне Командной строки наберите следующую команду:
ffmpeg -f concat -i concat.txt -c copy output.mp4
где:
- -f concat – параметр, указывающий на операцию склеивания видео;
- -i concat.txt – имя текстового файла, содержащего имена видеофрагментов, которые нужно склеить;
- -c copy – параметр, означающий копирование видеопотока с сохранением исходного качества;
- output.mp4 – имя склеенного видео (укажите желаемое имя).
Так как склеивание файлов одного формата происходит без конвертирования, процесс будет протекать достаточно быстро, практически со скоростью копирования файлов на компьютере.
Добавить комментарий