Вырезать и собрать аудиоклипы в ffmpeg

Подскажите, возможно ли сделать скрипт для моей задачи?

Или подскажите правильную последовательность шагов.

Есть аудиофайл example.mp3 длительностью 60 секунд.

Я хочу реализовать следующую последовательность действий:

  • Вырезать первый аудиофрагмент из example.mp3 с 5 по 15 секунду и вырезать второй аудиофрагмент с 50 по 60 секунду.

  • Затем эти два аудиофрагмента нужно объединить в один аудиофайл и сохранить в новой папке с именем example.mp3.

То есть, полученный новый example.mp3 должен иметь длину 20 секунд и состоять из первого и второго аудиофрагмента.


Ответы (1 шт):

Автор решения: Vadik

Вырезаем из example.mp3 две дорожки 1.mp3 и 2.mp3 длительностью по 10 секунд:

ffmpeg -i example.mp3 -c copy -ss 5 -t 10 1.mp3 -c copy -ss 50 -t 10 2.mp3

Создаем файл parts.txt с именами этих дорожек:

echo "file '1.mp3'" > parts.txt
echo "file '2.mp3'" >> parts.txt

Объединяем дорожки и сохраняем в output.mp3:

ffmpeg -f concat -i parts.txt -c copy output.mp3

На выходе получили output.mp3 длительностью 20 секунд. При необходимости вы можете указать другое название и местоположение для выходного файла.

→ Ссылка