Comando por lotes ffmpeg para tomar un archivo de entrada wav estéreo y crear un archivo de salida que consta de ese mismo archivo dos veces en paralelo

Comando por lotes ffmpeg para tomar un archivo de entrada wav estéreo y crear un archivo de salida que consta de ese mismo archivo dos veces en paralelo

Tengo un montón de archivos wav estéreo y quiero crear nuevos archivos a partir de ellos, donde cada archivo de salida contenga el archivo wav estéreo de entrada como el primero y, en paralelo, también como el segundo flujo de audio, creando así archivos de ondas estéreo 2x con idénticos. , transmisiones estéreo paralelas:

archivos de entrada (1x estéreo): estéreo_1.wav, estéreo_2.wav, estéreo_3.wav, estéreo_4.wav, etc.

archivos de salida (2x estéreo): estéreo_1_x2.wav, estéreo_2_x2.wav, estéreo_3_x2.wav, estéreo_4_x2.wav, etc.

Probé varios comandos como -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]"no estoy seguro de para qué [a]sirve) o -i "%~1" -i "%~1" -filter_complex "[0:a][1:a]amerge=inputs=2[a]"pero ninguno de ellos creó ningún archivo de salida.

Respuesta1

La sintaxis básica del comando es

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

Esto creará una transmisión de 4 canales.

%~1y %~n1son variables por lotes en Windows que se utilizan como marcadores de posición para la sustitución. El procesador de comandos (también conocido como shell) lo reemplazará con nombres reales durante cada iteración del ciclo antes de enviar el comando a ffmpeg.

información relacionada