¿Cómo cambio la primera y la segunda transmisión de audio en un MKV en un sistema basado en Linux?

10

Estoy usando plex. Plex parece ignorar la secuencia de audio predeterminada (en Roku) y en su lugar solo usa la primera secuencia de audio. Esto es por mi prueba usando mkvpropedit.

Dado que Plex actualmente no admite el cambio de fuentes de audio en clientes fuera de la LAN, me gustaría cambiar algunos de mis archivos para que la segunda fuente de audio actual sea la primera.

¿Cuál es la mejor manera de intercambiar transmisiones de audio en un MKV en un sistema basado en Linux como Ubuntu?

usuario191723
fuente

Respuestas:

13

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

-mapEsto 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, video o 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 de la secuencia de entrada. 0será el primero y 1el segundo, es decir, la primera transmisión de video y la segunda y primera transmisión de audio.
  • El orden de las -mapopciones 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 copyopció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 -mapopción en el wiki de FFmpeg.

slhck
fuente
Si sólo hay una entrada que en realidad se puede dejar de lado el ID de entrada: -map v:0 -map a:1 -map a:0.
postre
7

Simplemente use mkvtool para evitar, reempaquetar, 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 intercambiar stream.

Whoo
fuente