Translate

Convertir video a mp4

Introducción


El formato mp4 utiliza un contenedor del mismo nombre y admite diferentes codecs de audio y video. Por lo general se emplea el códec de video h264 o h265, estando más generalizado el uso el primero. Para el audio se utiliza un codec de Advanced Audio Coding

Ffmpeg cuenta con una implementación libre del codec h264, llamada libx264 y también una implementación de h265 llamada libx265 asimismo puede codificar audio usando LC-AAC. 

Configurar el convertidor 

 La forma más fácil es simplemente ingresar "mp4" como extensión de archivo de salida, pero los resultados son malos, así que lo mejor es configurar de forma mínima los codecs.

 
Para hacer esto, crea un perfil de formato. Ve al menú 'Herramientas - Editor de formatos'. 



Dentro del Editor ingresa mp4 en "Formato de contenedor" y en extensión de archivo ingresa mp4 también. En 'Codec de audio' selecciona aac.




El codec de video a utilizar sería libx264 sin embargo hay dos opciones extras en este codec muy interesantes que no están disponibles para configurar gráficamente en Libre AV Converter, ya que son específicas de este códec. Para ampliar la interfáz gráfica ve al menú 'Opciones - Cargar codec externo de video (ffmpeg)' y selecciona el codec h264.




A continuación debes configurar el procesamiento de audio, para esto ve a la categoría 'Salida - Audio' en la lista desplegable.

En este punto lo más importante es seleccionar el bitrate. Todos los codecs tienen un bitrate límite a partir del cual se alcanza la calidad máxima que pueden ofrecer, dependiendo del número de canales. Para el codec aac el límite es 160 kbps para sonido estéreo (2 canales). Aumentar el bitrate por encima de ese valor no tiene caso ya que la calidad no mejorará y solo aumentará el tamaño de archivo. El codec LC-AAC decae en calidad de forma abrupta por debajo de 69 kbps, por lo que no es recomentable usarlo para bitrates menores a ese valor si lo que se pretende es mantener la calidad. De cualquier manera estos valores se refieren a audios con sonido estéreo, varía para audios monofonicos (que permiten bajar más el bitrate) o para sonido envolvente que requiere mayor bitrate.

El Samplerate y el número de canales pueden ajustarse en base al bitrate:

  • 16 - 24 kbps: 16000 Hz, 1 canal
  • 24 - 32 kbps: 24000 Hz, 1 canal
  • 32 - 56 kbps: 32000 Hz, 1 canal
  • 56 kbps en adelante: 32000, 44100 o 48000 Hz, 2 canales
La calidad nunca podrá ser superior a la del archivo original, por más que se empleen bitrates o samplerate altos. Por ello es necesario elegir buenos valores que optimicen la relación tamaño/calidad.


A continuación configura el codec de video. Selecciona la categoría 'Salida - video'.

 

Para configurar la calidad tienes 2 opciones:

  • Ingresar un bitrate: debe ser ingresado en bits por segundo (no kilobits ni megabits), entre más alto sea este valor, mayor calidad se logra pero a costa de tener archivos más pesados, aunque depende mucho de los datos a procesar. El codec h264 soporta bitrates bastante bajos, utiliza valores de 256k o mayores.
  • Seleccionar un valor de la lista desplegable "Quality factor": la lista muestra valores del 0 (sin pérdida de calidad) al 51 (la peor calidad). El valor default es 23, por encima de ese valor la calidad decae significativamente por cada unidad que aumentemos, por debajo de ese valor puede que no se aprecien cambios de mejora a menos que se den saltos grandes de valor, es decir es necesario disminuirlo mucho para apreciar cambios. Con el valor de 18 prácticamente se logra un video sin pérdida de calidad gráfica. 

En cuanto a la opción "Tune", se tienen los siguientes perfiles internos:

  • film: utilízalo para codificar filmes o películas con alta calidad y alto bitrate
  • animation: utilízalo para codificar cartoons o anime
  • grain: utilízalo para codificar videos con ruido granulado
  • stillimage: utilízalo para imágenes estáticas, video presentaciones con fotografías por ejemplo.
  • psnr y ssim
  • fastdecode: utilízalo si el video será reproducido en dispositivos con pocos recursos
  • zerolatency: aumenta la velocidad de codificación y reduce la latencia para transmitir en línea sin entrecortar el streaming
Con la opción Preset se puede controlar la velocidad de codificación. Se tienen los siguientes valores para el parámetro (en orden de mayor a menor velocidad de codificacion): ultrafast,superfast, veryfast, faster, fast, medium, slow, slower, veryslow y placebo. El preset predeterminado es "medium". Lógicamente para tener mejores resultados el proceso debe demorar más.


A continuación regresa a la categoría 'Salida - General' e ingresa un valor para la opción 'Buffer size'. Este paso es necesario para lograr el bitrate deseado, si no se ingresa esto, puede que ffmpeg ignore los bitrates ingresados.

Para calcular el dato 
'Buffer size' es necesario tomar en cuenta el bitrate que queramos. Siempre  'Buffer size' debe ser mayor al bitrate final elegido. Para calcularlo suma el bitrate de audio y el de video y multiplícalo por 2 (o por 3).

Ejemplos:
  • Bitrate de video: 512kbps (512k)
  • Bitrate de audio: 128kbps (128k)
  • Bitrate total: 640 kbps (640k)
  • Buffer size: 1280 kbps (1280k)
  • Bitrate de video: 1Mbps (1000 kbps)
  • Bitrate de audio: 128kbps (128k)
  • Bitrate total: 1128kbps (1128k)
  • Buffer size: 2256kbps (2256k) 


Para finalizar guarda el perfil de formato desde el menú 'Archivo - Guardar'

 


Selecciónalo de la lista desplegable "Formato" y continúa con los pasos para convertir tus archivos.

 


Reduciendo el tiempo de codificación


Los resultados obtenidos con ffmpeg/libx264 son superiores a los del software comercial por el simple hecho de poder manipular una enorme cantidad de parámetros para encontrar una configuración óptima. Pero la gran desventaja es el alto tiempo de codificación, sin embargo puedes aumentar la velocidad a costa de empeorar el resultado final.

Para aumentar la velocidad puedes elegir un bitrate alto. Forzar a ffmpeg a conseguir un bitrate pequeño y constante lógicamente aumentará los tiempos de codificación ya que tiene que repetir una y otra vez el procedimiento hasta lograr el objetivo. Otra opción para aumentar la velocidad es elegir un perfil con la opción "Preset".


Se recomienda también copiar o mover el archivo original a un dispositivo de rápido acceso como una memoria USB. Convertir un archivo contenido en un disco DVD/CD demorará más tiempo.

Si bien ffmpeg/libx264 es lento, los recursos que consume son bastante reducidos en comparación con el software comercial, por lo que podrás utilizar el ordenador sin problema mientras el archivo es convertido, incluso puedes abrir múltiples instancias de "Libre AV Converter" y procesar varios archivo a la vez o segmentos de un mismo archivo para agilizar el proceso.