Пакетная команда ffmpeg для взятия входного стереофайла wav и создания выходного файла, состоящего из того же файла дважды параллельно

Пакетная команда ffmpeg для взятия входного стереофайла wav и создания выходного файла, состоящего из того же файла дважды параллельно

У меня есть куча стереофайлов wav, и я хочу создать из них новые файлы, где каждый выходной файл содержит входной стереофайл wav в качестве первого и — параллельно — также второго аудиопотока, таким образом создавая 2 стереофайла с идентичными параллельными стереопотоками:

входные файлы (1x стерео): stereo_1.wav, stereo_2.wav, stereo_3.wav, stereo_4.wav и т.д.

выходные файлы (2x стерео): stereo_1_x2.wav, stereo_2_x2.wav, stereo_3_x2.wav, stereo_4_x2.wav и т. д.

Я пробовал различные команды, такие как -i "%~1" -map 0:a -map 0:a -ac 4 "%~n1 x2.wav", -i "%~1" -filter_complex "[0:a][0:a]amerge=inputs=2[a]"(не уверен, [a]для чего это) или , -i "%~1" -i "%~1" -filter_complex "[0:a][1:a]amerge=inputs=2[a]"но ни одна из них не создала никакого выходного файла.

решение1

Основной синтаксис команды:

ffmpeg -i stereo_1.wav -af "asplit=2[a][b];[a][b]amerge=inputs=2" stereo_1_x2.wav

Это создаст 4-канальный поток.

%~1и %~n1являются пакетными переменными в Windows, используемыми в качестве заполнителей для подстановки. Командный процессор (он же shell) заменит их реальными именами во время каждой итерации цикла перед отправкой команды в ffmpeg.

Связанный контент