Пакетное извлечение первых 10 секунд нескольких mp3-файлов с использованием ffmpeg - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть папка с песнями.Я хотел бы сделать ОДИН mp3-файл, содержащий коллаж из 10 секунд каждой песни.

Я обнаружил, что FFMPEG - это простое программное обеспечение для этого.

Я нашел каквырезать один файл: ffmpeg -ss 0 -t 10 -i file.mp3 file.wav

и как написать цикл для нескольких шагов: for i in *.mp3; do ...

Но я не уверен, как смешатьдва в один файл.Если это невозможно, я думаю, что я также могу сделать отдельный 10-секундный файл для каждого, а затем перегруппировать.

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Вы можете избежать промежуточных файлов, используя демультиплексор concat ffmpeg

# 1 Создать текстовый файл concat

FOR /F "tokens=*" %G IN ('dir /b *.mp3') DO (echo file '%G' >> list.txt & echo inpoint X >> list.txt & echo outpoint Y >> list.txt)

X и Y - начало и конецраз, в секундах.

# 2 Объединить выбранные части

ffmpeg -f concat -i list.txt -c copy -vn out.mp3
0 голосов
/ 26 декабря 2018

В Windows

Шаг 1: перейдите в папку с песнями

Шаг 2: Вставьте следующую строку

FOR /F "tokens=*" %G IN ('dir /b *.mp3') DO ffmpeg -ss 15 -t 10 -i "%G" -acodec mp3 "%~nG_10s.mp3"

Шаг3: Поместите песни 10-х в другую папку (или измените регулярное выражение) и вставьте

copy /b *.mp3 E:\combined.mp3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...