Con FFmpeg, esto debería ser bastante simple. Asegúrese de descargar una compilación estática de 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
Esto es lo que -map
hace:
- La primera parte antes de los dos puntos es el ID de entrada. Como solo tenemos una entrada, es
0
. - La segunda parte especifica el tipo de transmisión,
v
vídeo oa
audio 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 del flujo de entrada.
0
será el primero, y1
el segundo, es decir, el primer flujo de video y el segundo y primer flujo de audio. - La orden de los
-map
options 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.
Usando el -c copy
La opción garantiza que los flujos de bits se copien y no se vuelvan a codificar.
Algunos ejemplos de cómo usar el -map
La opción se puede encontrar en la wiki de FFmpeg.
Simplemente use mkvtool para evitar, volver a empaquetar, volver a codificar... perder el tiempo.
mkvpropedit -v movie.mkv -v --edit track:2 --set track-number=3 --edit track:3 --set track-number=2
esto debería ser suficiente para cambiar la transmisión.