Tengo un montón de películas que están todas en audio 5.1, necesito que haya una pista de audio que solo esté en estéreo. He encontrado algunas sugerencias sobre cómo hacer esto, pero algunas no me funcionan y otras son demasiado lentas.

El que encontré que funciona más rápido es este:

ffmpeg -y -i "input" -map 0:v -c:v copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 aac -ac 2 -metadata:s:a:1 title="Eng 2.0 Stereo" -map 0:a:1? -c:a:2 copy -map 0:a:2? -c:a:3 copy -map 0:a:3? -c:a:4 copy -map 0:a:4? -c:a:5 copy -map 0:a:5? -c:a:6 copy -map 0:a:6? -c:a:7 copy -map 0:s? -c:s copy "output"   

Lamentablemente no recuerdo de dónde vino.

El problema con esto es que crea una pista de audio separada, y para mis propósitos esto no funciona.

Hacer solo el estándar -ac 2 funciona, pero es demasiado lento, calculé que tardaría más de 40 horas en ver todas mis películas.

Editar: un poco de información adicional para incluir aquí

  • todas las peliculas son mp4
  • todas excepto 2 películas son de audio 5.1 (hay 1 7.1 y 1 mono. Aunque realmente no me importan)
  • el comando que publiqué se ejecuta a una velocidad de aproximadamente 40x, mientras que solo hace -ac 4 se ejecuta a una velocidad de 2x
-1
alex hansen 22 oct. 2020 a las 02:59

1 respuesta

La mejor respuesta

El cuello de botella es la codificación de audio.

El comando puede ser simplemente:

ffmpeg -i input.mp4 -c:v copy -c:a aac -ac 2 output.mp4
  • Asegúrese de que su ffmpeg versión 4.0 o más reciente o de lo contrario la codificación será más lenta.

Usar -c:a libfdk_aac -afterburner 0 puede ser 2 veces más rápido:

ffmpeg -i input.mp4 -c:v copy -c:a libfdk_aac -ac 2 output.mp4
  • Debido a la licencia de libfdk_aac, necesitas compilar ffmpeg para usar este codificador.

No hay mucho que puedas hacer.

1
llogan 22 oct. 2020 a las 01:15