Necesito convertir un archivo de video del contenedor Matroska al contenedor mp4. El archivo Matroska contiene una pista de video h.264 y una pista de sonido AC3. Debería ser posible hacer esto sin pérdidas, pero ¿cómo hacerlo con herramientas nativas de Ubuntu?
La transcodificación no es una opción.

ChromecastsoporteH.264conAACoMP3en unMP4contenedor. Es muy fácil transmitir videos desde su computadora aChromecastsi tiene Chrome con la extensión Google Cast. Simplemente arrastre y suelte unaMP4codificación de transmisión correcta a una ventana del navegador y comience a transmitir.Respuestas:
Quizás la herramienta más fácil para eso es
ffmpeg, oavconvdellibav-toolspaquete. Libav es una bifurcación de FFmpeg, que Ubuntu cambió durante unos años hasta Ubuntu 15.04. Es uno de los backends para muchas de las herramientas GUI mencionadas en otras respuestas.Cambiar el contenedor sin volver a encontrar contenido no podría ser más simple:
Detecta automáticamente una conversión de contenedor Matroska a MP4 basada en nombres de archivo de entrada / salida.
-codec copycopias de flujo, o "re-muxes", los flujos de la entrada a la salida sin volver a codificar. Piense en ello como copiar y pegar.El comportamiento de selección de flujo predeterminado es seleccionar solo un flujo por tipo de flujo. Por ejemplo, si su entrada tiene dos transmisiones de video y una transmisión de audio, entonces solo se seleccionará la transmisión de video con el tamaño de cuadro más grande. Agregue
-map 0si desea seleccionar todas las transmisiones desde la entrada.Es posible que algunos contenedores no admitan algunos formatos. Por lo tanto, verifique si su formato de contenedor elegido , ya sea
mkv,mp4o inclusoavitiene soporte para todo el contenido en sus archivos (video, audio, subtítulos, datos, etc.). Por ejemplo,mp4no admite subtítulos (.srtarchivos) SubRip .fuente
avconv -i input.mkv -c:v copy -c:a libfaac output.mp4(usé ffmpeg, supongo que avconv tiene los mismos argumentos de línea de comando aquí)-map 0obtener ambas transmisiones de audio? Como dije en la respuesta: "El comportamiento de selección de flujo predeterminado es seleccionar solo un flujo por tipo de flujo"-c:s mov_textopción si necesita mantener, por ejemplo.srtpista de subtítulosObtenga el software necesario
Extraer video y audio del archivo matroska
Primero debe verificar qué pistas contiene el archivo matroska con
mkvmerge --identify video.mkvLuego extraiga video y audio de acuerdo con sus pistas con:
mkvextract tracks video.mkv 1:video.h264 2:audio.ac3Mux audio y video en contactor mp4
MP4Box -fps 24 -add video.h264 -add audio.ac3 video.mp4Tuve que agregar la
-fps 24opción porqueMP4Boxno detectó fps de video correctamente. Dependiendo del uso,AC3la pista de audio debe volver a codificarse en otra cosa antes de la muxing.Ahora tiene transmisiones remuxed del contenedor matroska al contenedor mp4 sin perder calidad.
EDITAR: MP4 no admite oficialmente el audio AC3, por lo que la pista de audio debe convertirse a un formato compatible (por ejemplo, AAC, MP3) si desea que el archivo se pueda reproducir con algo más que VLC.
fuente
Puedes usar Avidemux
Tiene buena interfaz GUI.
Al convertir de mkv a mp4, no se vuelve a codificar.
La conversión se realiza en un minuto (para un video de 60 minutos).
sudo apt-get install avidemuxAbra el archivo mkv en avidemux.
Seleccione el modo seguro si se le solicita.
Deja el video como copia.
Elija Archivo-> Propiedades. Compruebe si el códec de audio es
aac.aac(faac).copy. (A veces, usando esta opción, el audio puede estar fuera de sincronización o distorsionado, en ese caso, seleccione en suaac(faac)lugar).Seleccione
mp4para el formato.Seleccione guardar, elija ubicación y escriba un nombre de archivo con
.mp4la extensión.Nota: A veces (~ 10% de probabilidad) puede fallar. Entonces usar
handbrake(re-encode).Nota 2: hay dos enlaces que te ayudan:
http://www.ubuntugeek.com/avidemux-free-video-editor-designed-for-simple-cutting-filtering-and-encoding-tasks.html
http://www.ubuntugeek.com/how-to-convert-mkv-file-into-mp4-file-using-avidemux.html
fuente
Puedes usar mi aplicación, dmMediaConverter . Simplemente deje " copiar " para ambas secuencias marcadas (sin transcodificación) y coloque .mp4 en el nombre del archivo de salida. Eso es. Muy simple. http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html
fuente
Como MPEG Parte 14 admite h.264 y AC3 de forma nativa sin transcodificación, simplemente puede cambiar el nombre del archivo para que tenga una
.mp4extensión en lugar de una.mkvextensión.fuente
Puede probar HANDBRAKE agregando su PPA escribiendo este código en la terminal:
fuente