Para qué se utiliza -crf en ffmpeg


20

Al convertir una matriz de archivos JPEG a un archivo de video (formato ogg), he estado usando la opción -crf. ¿Cuáles son los rangos válidos para -crf? Actualmente estoy usando 23.

No puedo encontrar el marcador que leí para saber qué hace esta bandera y he pasado algún tiempo buscando en Google.

Estos son los argumentos que estoy usando en este momento:

-f image2 -r 10 -i " + _sourcePath + @"\img%05d.jpg -crf 18  -y -r 10 " + _destPath + "\\" + _filename + ".ogg"

1
No sé nada sobre este comando, pero está muy bien documentado aquí: ffmpeg.org/ffmpeg.html .
Ben Plont

1
¿Está utilizando libx264 (para video H.264) o libvpx (para video VP8)? Muestre su comando ffmpeg y la salida completa de la consola.
llogan

Hola, lo siento por el retraso. Tuve que pasear al perro. Enmendaré mi pregunta. Gracias
Andrew Simpson

1
Entonces, la pregunta es si desea mantener esta pregunta bastante general para CRF, o si tiene un problema específico con el que necesita ayuda. En el último caso, tendríamos que obtener la salida completa de la línea de comandos (es decir, todo, desde "versión ffmpeg ..." hasta el último bit) y el comando real que está utilizando, pero desafortunadamente dejaría inútiles las respuestas existentes. Es posible que desee hacer una nueva pregunta si se enfrenta a un problema concreto.
slhck

@slhck Hola, tienes toda la razón. Necesito aprender a ser más específico e integral en el futuro. Como era su respuesta, mis necesidades se ajustaban más a las de todos los demás, pero las de los demás también fueron informativas. Voy a pisar con más cuidado en el futuro :) Gracias por su tiempo. Muy apreciado.
Andrew Simpson

Respuestas:


19

Eso se refiere al Factor de tasa constante ( crf).

Como otros han señalado (Gracias a todos), los valores dependerán del codificador que esté utilizando.

Para x264 su rango válido es 0-51:

El rango de la escala del cuantificador es 0-51: donde 0 es sin pérdidas, 23 es el predeterminado y 51 es el peor posible. Un valor más bajo es una calidad más alta y un rango subjetivamente sensato es de 18-28. Considere que 18 es visualmente sin pérdidas o casi: debería verse igual o casi igual que la entrada, pero técnicamente no es sin pérdidas.

Para vpx el rango es 4-63(como respondió @ sebastian-hoffner ):

Por defecto, el valor CRF puede ser de 4 a 63, y 10 es un buen punto de partida. Valores más bajos significan mejor calidad.

En ambos casos, más bajo es mejor . En mi experiencia, veo x264 con mucha más frecuencia.

Parece que el enlace del enchufe desvergonzado de Slhck (un mod SU) tiene buena información.


El rango para VPX es de 0-63 no 4-63, la tasa recomendada es 15-30
Suhayb

3

El indicador crf garantiza una tasa de bits variable para una calidad constante, si entiendo la página vinculada a continuación correctamente. El rango predeterminado es de 4 a 63, pero se puede ajustar aún más.

Eche un vistazo a https://trac.ffmpeg.org/wiki/vpxEncodingGuide para obtener más información.


Estoy un poco confundido por esto, ambos enlazamos al mismo sitio y cada página dice algo ligeramente diferente (rangos, eso es). En cualquier caso, ambos me parecen legítimos, así que estoy un poco aturdido por esto.
nerdwaller

hola gracias por eso Estoy buscando mejorar la calidad de la transmisión de video para que un crf bajo lo haga.
Andrew Simpson
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.