Cómo agregar una pista de sonido adicional a un video existente

16

Tengo un archivo de video MP4 y MKV que también tiene su propia pista de audio. Quiero agregarle una pista adicional para cubrir otro idioma, qué modo de Terminal o GUI está disponible para insertar y sincronizar un archivo MP3 al video ya existente para que:

  • El video muestra 2 pistas de audio (la existente y la nueva estoy insertando)
  • Opcionalmente, el video muestra el nombre de las pistas.
  • Puedo sincronizar el nuevo audio con el video
  • No reemplazo el audio existente con el nuevo
  • Mantenga la misma calidad de video que antes
    (es un video de 1080p con detalles muy altos. No quiera meterse con esto ya que lleva demasiado tiempo hacerlo bien)

Esto ayudaría, por ejemplo, a agregar pistas de sonido de idioma adicionales a un video existente.

Luis Alvarado
fuente

Respuestas:

6

SOLO MKV

mkvmerge GUI de mkvtoolnix-GUI paquete.

ingrese la descripción de la imagen aquí

  • Haga clic en Agregar para seleccionar los archivos de video y audio que desea fusionar.
  • En el cuadro Pistas, capítulos y etiquetas: seleccione la nueva pista de audio (del archivo de audio que agregó), luego podrá configurar su idioma (en la pestaña Opciones generales de pista ) y el retraso (en la pestaña Opciones específicas de formato ).
  • Establezca el Nombre de archivo de salida , luego haga clic en Iniciar muxing para guardar el archivo de video.

También puede eliminar pistas y establecer la pista de audio predeterminada.

Eric Carvalho
fuente
Sabes que tenía la herramienta pero no la usé hasta este punto. Gracias Eric
Luis Alvarado
@LuisAlvarado A veces uso avidemux, pero no pude guardar archivos con más de una pista de audio. No es tan poderoso como VirtualDub pero es muy útil.
Eric Carvalho
Funciona como un encanto con archivos MKV!
Yanick Rochon
10

Por ahora esto es lo que he encontrado (Todavía estoy buscando la forma MKV de hacerlo):

MP4 SOLAMENTE

Debería instalar primero el gpacpaquete:

sudo apt-get install gpac

Ahora proceda con el siguiente comando:

MP4Box -new -add OriginalMovie.mp4 -add Track2.mp3#audio:delay=300 Output.mp4

Dónde

  • MP4Box es el comando para hacer esto y sí, está en mayúscula
  • El primero -newle dirá a MP4Box que se creará un nuevo archivo. Podrías poner esto al final como "-new Output.mp4" pero quería ponerlo al principio.
  • El primero -addes agregar el archivo de video original.
  • El segundo -addes agregar la nueva pista que llamé Track2.mp3. Puede tener cualquier otro nombre.
  • La parte que tiene #audio:delay=300es decirle a MP4Box que esta nueva pista específica que estoy agregando es una pista de audio y necesito agregar un retraso de 300 ms.

De esta manera puedo agregar el video original, insertar una nueva pista e incluso controlar la sincronización. La mejor parte es que, dado que MP4Box no toca la calidad del video, solo toma un par de segundos agregar la pista, por lo que puedo probar muy rápidamente si el retraso de audio es perfecto o no.

Por si acaso, extraje el sonido del otro idioma como este:

avconv -i "AnotherSoundFile.mp4" Language.mp3

Esto me daría la pista de sonido mp3 de ese archivo y luego lo inserto en otro archivo como mencioné anteriormente.

Luis Alvarado
fuente
¡Trabajos! Simplemente funciona!
ademin
Para extraer también puede usar MP4Box -raw 2 inputFile.mp4cual extraerá la segunda pista (generalmente pista de audio) de inputFile.mp4. Para verificar qué pista es cuál, use MP4Box -info inputFile.mp4y para obtener más información sobre el uso preciso de la pistaMP4Box -info 2 inputFile.mp4
Sr. P
1

puedes usar Yamb para editar mp4, que es como mkvmerge GUI pero luego para mp4box

o puede usar MACHETE para editar archivos MP4 usando una GUI para agregar / reemplazar audio, también puede editar el video con él y editar otros formatos como MKV con él, pero no es gratis, cuesta $ 19.00

Jack
fuente
1

AMBOS MKV y MP4

Solo intente usar avconv (igual que ffmpeg)

avconv -i FIRST_INPUT_FILE -i SECOND_INPUT_FILE -c copy -map 0:v:1 -map 1:a:12 OUTPUT_FILE

-i archivo de entrada INPUT_FILE : puede ser casi cualquier archivo (video y audio)

-c copia las pistas a la salida sin volver a codificarlas (la más rápida)

-mapa 0: v: 1 -mapa 1: a: 12 copias 2da pista de video del 1er archivo Y 13ra pista de audio del 2do archivo

( 0 (archivo de entrada) : v (pistas de video) : 1 (segunda pista))

Ejemplo:

avconv -i MY_MOVIE_3D.mp4 -i MY_MOVIE_WITH_DUBBING.avi -c copy -map 0 -map 1:a:0 OUTPUT_MOVIE.mp4

Este comando copia TODAS las pistas de MY_MOVIE_3D.mp4 Y la primera pista de audio del segundo archivo de entrada - MY_MOVIE_WITH_DUBBING.avi - en OUTPUT_MOVIE.mp4

Señor P
fuente