Nota: Esta información se basa en FFmpeg Wiki en la codificación VP9 . Consulte ese artículo para obtener más información: se mantendrá y ampliará continuamente. Para obtener los mejores resultados se debe utilizar la una versión reciente de ffmpeg
por descargarlo desde su página web (una acumulación estática será suficiente, ya que contiene el libvps-vp9
codificador).
Velocidad de bits variable
La codificación VBR le brinda la calidad general óptima, ya que el codificador puede elegir libremente cuántos bits asignar a un cuadro. Elija este modo a menos que esté preparando videos para transmisión de velocidad de bits constante.
Opción 1: codificación de calidad constante
Por lo general, si no desea apuntar a un tamaño de archivo específico, debe dejar que la tasa de bits varíe libremente, ya que eso conducirá a la mejor calidad. Puede hacerlo estableciendo la tasa de bits en 0 y el factor de tasa constante ( CRF ) en el nivel de calidad objetivo:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
El valor de CRF puede ser de 0 a 63. Valores más bajos significan mejor calidad. Los valores recomendados oscilan entre 15 y 35, con 31 recomendados para video HD de 1080p. Google tiene una guía con más información al respecto .
Opción 2: codificación de dos pasos con una tasa de bits objetivo
Si desea que su archivo tenga una tasa de bits o tamaño de archivo de destino específico, debe especificar la velocidad y utilizar la codificación de dos pasos (lo que garantizará una distribución de calidad óptima). Aquí estamos eligiendo 5 MBit / s, lo que debería ser suficiente para contenido de 1080p.
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 1 -f webm /dev/null && \
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 2 output.webm
Los usuarios de Windows deben usar en NUL
lugar de /dev/null
y a en ^
lugar de \
.
Velocidad de bits constante
En primer lugar, libvpx ofrece modos de codificación de velocidad de bits constante y variable . Se debe evitar una velocidad de bits constante siempre que sea posible (a menos que apunte a un tamaño de archivo específico o escenario de transmisión), ya que la calidad promedio por tamaño de archivo será peor. Aún así, podría intentar establecer una tasa de bits constante si nada más funciona para usted, por ejemplo, con 1 MBit / s:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -minrate 5M -maxrate 5M -b:v 5M output.webm
Mire la salida y aumente o disminuya la velocidad de bits a su gusto (o restricciones de tamaño de archivo). Por ejemplo, puede usar 500K
o 5M
, etcétera.
Tiene que especificar -minrate
, -maxrate
y la tasa de bits -b:v
para que el codificador pueda utilizar CBR. Todos tienen que tener el mismo valor; de lo contrario, elegirá una tasa de bits de destino diferente y codificará VBR, pero con mala calidad.
Audio
El códec de audio actual elegido para la codificación VP9 es Opus. FFmpeg elegirá el codificador necesario y sus opciones por defecto. Si desea establecer explícitamente -c:a libopus
, también puede hacerlo. Consulte la libopus
documentación para más opciones.