Soy nuevo en FFmpeg (Windows) y necesito ayuda.
Quiero convertir mis MKV a MP4 con la menor pérdida de calidad posible. Los MKV están hechos con MakeMKV y contienen, entre otros, la banda sonora de DTS. No tienen pérdidas. La razón por la que quiero convertir es que planeo transmitirlo a iPads y Apple TV. Los iPads no son compatibles con DTS y MKV. Los MKV son DVD y Blu-Ray. Los MKV contienen video, bandas sonoras y subtítulos.
He intentado esto, pero no recibo sonido debido a la banda sonora de DTS:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Alguien puede ayudarme?
¿Qué códecs debo usar? ¿MP4 es el mejor para Apple?
ffmpeg -i input.mkv
será suficiente.Respuestas:
MP4 es de hecho el mejor formato para dispositivos y software de Apple. DTS tampoco es compatible, muchos archivos de video MP4 contienen dos pistas de audio, una DTS y una AAC.
Hay múltiples codificadores disponibles, todos ellos documentados en la wiki de ffmpeg . El códec disponible depende de cómo se compiló ffmpeg. libfdk_aac le dará los mejores resultados, pero debido a que este códec no es libre, no siempre está disponible.
Cosas que puedes probar (las pongo en el orden de mi calidad percibida, mejor primero)
Si también desea conservar la pista DTS, use la
-map
bandera.No se usa directamente para OP, pero el subprograma del programa OS X hace que este proceso sea muy fácil.
EDITAR: Comentarios tl; dr? OP solucionó el problema con el siguiente comando
CONSEJO: si los
-c:s copy
subtítulos no funcionan, inténtalo-c:s mov_text
.Me salvó en múltiples ocasiones.
fuente
libfdk
ylibfaac
)-c:a aac -q:a 6
configuración y comparé el resultado con-c:a libfaac -b:a 192k
, en mi opinión, el códec aac da mejores resultados que libfaac , pero dado que los códecs están en desarrollo, esto puede cambiar. libfdk_aac probablemente dará resultados aún mejores, pero no lo tengo disponible en este momento.Sé que esta es una vieja pregunta, y ya tiene una respuesta, pero quería compartir algunos comandos que estoy usando con FFmpeg en macOS.
Un video x264 MP4 codificado con audio AAC desde un MKV
Conversión básica de un MKV con un MP4 pero convirtiendo el audio a AAC a 128k. Tenga en cuenta las asignaciones:
-map 0:0
significa la primera0
pista ( ) de la entrada de origen (0
) y-map 0:1
significa la segunda1
pista ( ) de la misma entrada de origen (0
). Me gusta hacer esto en los casos en que hay varias pistas de audio, por lo que podría hacer algo como seleccionar-map 0:3
para obtener la tercera pista.Un video MP4 codificado HEVC / x265 con audio AAC desde un MKV
Esto es similar al comando x264 anterior, pero en su lugar utiliza HEVC / x265 para obtener un tamaño de archivo más pequeño con el mismo video, si no de mejor calidad, del MKV de origen. Tenga en cuenta que prefiero escalar videos de iOS a 720 cuando uso HEVC / x265; La calidad de reproducción sin demasiado ruido es sólida en mi MacBook, iPad y iPhone. Solo asegúrese de que su hardware y sistema operativo sean compatibles con la reproducción HEVC / x265. Y tenga cuidado: HEVC / x265 consume mucha CPU, por lo que si su máquina no tiene mucha potencia de CPU, puede llevar hasta un día codificar 90 minutos de video.
Aquí hay un desglose de cada uno de los parámetros principales distintos de los archivos de entrada y salida.
-vf scale=-1:720
: Escala el video a 720 de altura y calcula automáticamente el ancho. Tenga en cuenta que FFmpeg puede parar hasta algunos MKVs por razones no estoy 100% claro en lo que tendría que establecer explícitamente el ancho con algo como esto:-vf scale=1280:720
. Experimente y vea lo que funciona para usted.-c:v libx265 -crf 20
: Ellibx265
es el códec de codificación de video. El-crf 20
es el CRF (factor de tasa constante) . El CRF predeterminado si no lo especifica es 28, pero, a partir de ahora, considera que la calidad es bastante ... Meh. Prefiero 20 ya que es un muy buen equilibrio entre calidad y tamaño de archivo.-threads 4
: Me gusta especificar el número de hilos. 4 es lo que mi sistema puede manejar ahora, pero a veces lo reduzco a 2 o 3. Un número mayor es más rápido si tiene suficientes CPU para manejarlo.-tag:v hvc1
: La configuración mágica de metadatos para que los dispositivos iOS puedan reproducir correctamente los videos HEVC / x265.¡Y eso es todo!
fuente