
У меня есть куча стереофайлов 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.