Con FFmpeg , esto debería ser bastante simple. Asegúrese de descargar una compilación estática desde su página de descarga y no use la versión del repositorio de Ubuntu, que es bastante antigua.
Aquí está el comando:
ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:a:0 -c copy output.mkv
-map
Esto es lo que hace:
- La primera parte antes de los dos puntos es la ID de entrada. Como solo tenemos una entrada, es
0
.
- La segunda parte especifica el tipo de transmisión,
v
ideo o a
udio. Esto es opcional, pero siempre es una buena idea especificar el tipo también, en caso de que las transmisiones de video y audio no se multiplexen correctamente.
- La tercera parte es la ID de la secuencia de entrada.
0
será el primero y 1
el segundo, es decir, la primera transmisión de video y la segunda y primera transmisión de audio.
- El orden de las
-map
opciones determina el orden de las secuencias en el archivo de salida.
Esto significa que dejaremos el flujo de bits de video como el primer flujo, luego tomaremos el segundo flujo de audio y luego el primero, en esencia, estamos intercambiando los flujos de audio.
El uso de la -c copy
opción garantiza que los flujos de bits se copien y no se vuelvan a codificar.
Se pueden encontrar algunos ejemplos sobre cómo usar la -map
opción en el wiki de FFmpeg.
-map v:0 -map a:1 -map a:0
.