Encontré este hilo: Configuración del freno de mano para convertir MKV a MP4 conservando la calidad original
Y puedo "convertir" .MKV a .MP4 con el siguiente código:
for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -c:v copy -c:a copy "%%~na .mp4"
pause
El único problema es que hay 2 líneas de audio. El alemán y el inglés. Con el código anterior, solo copia el idioma alemán (primer). Pero no el segundo idioma de audio. ¿Cómo puedo hacer eso?
Por el momento solo convierto de .MKV a .MP4 solo con idioma alemán. Pero quiero poder cambiar el idioma con mi reproductor VLC de alemán a inglés.
¡Gracias por tu ayuda!
EDITAR: Encontré ese hilo aquí: http://ffmpeg.gusari.org/viewtopic.php?f=25&t=611
Y probé con esa información. Cambié mi código anterior a este código:
for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -map 0:0 -map 0:1 -map 0:2 -c:v copy -c:a:0 copy -c:a:1 copy "%%~na.mp4"
pause
¿Hice algo mal aquí? ¿Cómo podría agregarle los subtítulos en alemán/inglés? SI agregara un mapa de subtítulos allí y mi .MKV no tuviera ningún subtítulo, ¿sería esto un problema? Sólo quiero crear un archivo .bat que convierta un .MKV con 2 bandas sonoras y 2 subtítulos. Para poder "remux" (o convertir no sé) todos mis archivos .MKV a .MP4 sin perder ninguna información.
Por el momento, mis .MKV no tienen subtítulos, así que no es importante. Pero es mejor prepararse para el futuro, ¿verdad?
Entonces, dígame si lo hice bien y quizás también cómo agregar los subtítulos. Es la primera vez que uso FFmpeg. Lo acabo de descargar, nunca había oído hablar de él. Realmente nunca usé el CMD para eso.
Respuesta1
ffmpeg no mapea automáticamente todas las pistas; por defectoselección de flujosolo asignará una pista de audio, un video y una pista de subtítulos a la salida. Si quieresmapatodas las transmisiones, use -map 0
. Si quieres poder seleccionarquépara mapear, primero deberá analizar el archivo de entrada ( ffmpeg -i input.mkv
) y usar algunas secuencias de comandos para construir el comando de conversión final. ffprobe puede ser útil para eso. VerWiki FFmpeg: Consejos de FFprobepor ejemplo.
Puedes especificar -c copy
acopia de flujotodas las transmisiones, sin importar el tipo que sean. También puedes indexar secuencias de vídeo y audio por separado, por lo que tu comando se puede acortar a:
ffmpeg -i input.mkv -c copy -map 0 output.mp4
Respuesta2
Existe un programa de código abierto llamado VCT: https://sourceforge.net/projects/videoconvertertranscoder/?source=directory
Es una GUI para ffmpeg. También puede editar el comando ffmpeg manualmente. Tiene una pestaña llamadaTranscodificardonde puedes volver a empaquetar MKV a MP4, pero esta pestaña no tiene opciones para agregar subtítulos.
Si desea volver a empaquetar MKV a MP4 y agregar subtítulos al mismo tiempo, este es el procedimiento:
- Ir aConvertirpestaña y seleccione su archivo de entrada
- EnContenedor de vídeoseleccionarCopiary enCódec de audioseleccione tambiénCopiar
- Hacer clicañadir subtítuloy seleccione su archivo SRT externo
- En el cuadro de texto del comando ffmpeg, reemplace la parte del subtítulo-c:s srt ""con-c:s texto_mov ""
- hacer clicAgregar a la lista de lotesy luego haga clicComenzar La codificación se realizará en uno o dos minutos.
Por supuesto, si no te importa codificar dos veces y no te gusta escribir comandos, también puedes hacerlo así:
- seleccionar pestañaTranscodificary arrastra tu archivo aFichero de entrada.., haga clicComenzar, estará listo en un minuto.
- Luego, seleccione MP4 recién codificado y enContenedor de vídeoseleccionarCopiary enCódec de audiohacer clicCopiar.
- Hacer clicAgregar a la lista de lotesy luego haga clicComenzar. La codificación se realizará en un minuto.
captura de pantalla de cómo realizar la codificación solicitada de MKV a MP4
Respuesta3
Bueno, estoy usando un archivo .bat como este:
for %%a in ("*.mkv") do D:\Programme\Converter\ffmpeg\bin\ffmpeg.exe -i "%%a" -c:v copy -c:a copy "%%~na.mp4"
Pero recibo un mensaje de error, pero el .MP4 todavía funciona bien. Aquí un archivo de registro: pastie.org/private/9lqyvhyotnh1o4gp6rg5g
El problema es que mi viejo televisor Sony a veces se congela mientras veo el archivo .MP4. No puedo decirte si es sólo el "reproductor" del televisor o el archivo convertido en sí. La GUI parece buena. Pero si desea convertir como 20 archivos seguidos, necesitará muchos clics. El archivo .bat simplemente lo hace automáticamente con todos esos archivos en una carpeta.
Quizás alguien sepa por qué recibo un mensaje de error y si este script es incorrecto o no :)