mkvtomp4
Parece que mkvtomp4
es lo que quieres?
Utiliza mpeg4ip o MP4Box, mkvtoolnix y ffmpeg de GPAC para convertir archivos mkv problemáticos a mp4 . La conversión no vuelve a codificar el video y solo vuelve a codificar el audio si no usa el códec AAC (se puede anular este comportamiento usando --audio-codec).
Puede descargar versiones de Windows y Linux en la página de Google Code. Sin embargo, necesitará software adicional.
Verifique los sitios para descargas para Windows o Linux. En OS X, solo necesita hacerlo brew install mkvtoolnix mp4box
si tiene Homebrew .
Sin embargo, esto no copiará tus subtítulos. Necesitarás un paso adicional.
FFmpeg batch
Si mkvtomp4 no funciona para usted, también podría funcionar un simple archivo por lotes de FFmpeg . Para Windows, puede descargar las compilaciones de Zeranoe . En Linux, verifique FFmpeg desde las fuentes del paquete. En OS X, use brew install ffmpeg
.
Entonces, solo llame:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Esto creará un contenedor MP4 válido sin volver a codificar. Recorra los archivos según sea necesario y esté disponible por su sistema operativo. Sin embargo, este lote no copiará subtítulos.
En * nix, puede hacer lo siguiente. Solo crea un archivo convert.sh
:
#!/bin/bash
find /path/to/input/folder -iname '*.mkv' -print0 | while read -d '' -r file; do
ffmpeg -i "$file" -c:v copy -c:a copy ${file%%.mkv}.mp4
done
Reemplace la ruta a su carpeta de video aquí. Hazlo ejecutable con chmod +x convert.sh
, luego ejecútalo con ./convert.sh
.
En Windows, probablemente necesite dos archivos Batch (un complemento descarado desde aquí ), uno de ellos es startconvert.bat
:
for %%i IN (*.mkv) DO (convert-to-mp4.bat "%%i")
pause
Y uno que realiza la conversión:
IF EXIST "%1.mp4" GOTO exit
@echo Conversion for %1 started on %DATE% %TIME%
ffmpeg -i %1 -c:v copy -c:a copy %1.mp4
:exit
@echo %1.mp4 already exists
Guarde ambos en la carpeta de video. Simplemente ejecute startconvert.bat
desde la carpeta desde la que desea iniciar la conversión.
Subtítulos
Si desea agregar los subtítulos, es posible que necesite un procedimiento manual si lo siguiente no funciona para usted:
ffmpeg -i input.mkv -c:a copy -c:v copy -map 0 output.mp4
Para extraer subtítulos, use:
mkvextract tracks input.mkv 3:subtitles.srt
Esto supone que su archivo realmente contiene los subtítulos en el número de identificación de la pista 3 y se pueden exportar al formato SRT. Para verificar si un archivo realmente contiene subtítulos en la pista 3, use mkvmerge -i input.mkv
.
Luego, use MP4Box para volver a agregar los subtítulos al archivo MP4.
mp4box -add input.mp4 -add subtitles.srt -new output.mp4