¿Cómo puedo usar ffmpeg
? reducir el tamaño de un video bajando la calidad (lo mínimo posible, naturalmente, porque necesito que se ejecute en un dispositivo móvil que no tiene mucho espacio disponible)?
Olvidé mencionar que cuando el video puede usar subtítulos (*.srt o *.sub), también me gustaría convertirlos para que se ajusten a los parámetros del archivo de video convertido.
Respuesta aceptada:
Esta respuesta se escribió en 2009. Desde 2013, un formato de video mucho mejor que H.264 está ampliamente disponible, a saber, H.265 (mejor porque comprime más para la misma calidad o brinda una calidad superior para el mismo tamaño). Para usarlo, reemplace el códec libx264 con libx265 y empuje aún más la palanca de compresión aumentando el valor de CRF; agregue, digamos, 4 o 6, ya que un rango razonable para H.265 puede ser de 24 a 30. Tenga en cuenta que inferior Los valores de CRF corresponden a más altos tasas de bits y, por lo tanto, producen mayores vídeos de calidad.
ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4
Para ver esta técnica aplicada con el formato H.264 anterior, consulte esta respuesta, que se cita a continuación para mayor comodidad:
Calcule la tasa de bits que necesita dividiendo el tamaño objetivo (en bits) por la duración del video (en segundos). Por ejemplo, para un tamaño objetivo de 1 GB (un gigabyte , que es de 8 gigabits ) y 10000 segundos de video (2h46min 40s), use una tasa de bits de 800000 bit/s (800kbit/s):
ffmpeg -i input.mp4 -b 800k output.mp4
Las opciones adicionales que podría valer la pena considerar son establecer el factor de tasa constante, que reduce la tasa de bits promedio, pero conserva una mejor calidad. Varíe el CRF entre alrededor de 18 y 24:cuanto menor, mayor será la tasa de bits.
ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4