¿Hay alguna forma de especificar una configuración de calidad para h.264 que no dependa del software?
Estoy tratando de ayudar a un colega a crear una especificación para contratistas externos cuando nos entregan videos para usarlos en nuestro sitio web como archivos mp4 comprimidos con h.264. Podemos especificar una tasa de bits, pero eso no funciona tan bien si queremos una compresión de tasa de bits variable/calidad constante (CRF).
Si supiera que usarían libx264 para hacer la compresión, podría darles un rango para la -crf
configuración, pero usarán todo tipo de software para hacer la compresión. Entonces, ¿cómo especifico la calidad, excepto diciendo algo vago como "visualmente sin pérdidas" o "buena calidad"?
Cualquier codificador decente puede alcanzar una tasa de bits objetivo (con 2 pases), pero aun así gastar los bits de manera inteligente para lograr una calidad similar en todo el archivo. x264 2pass determina qué CRF dará la tasa de bits deseada (pass1) y luego la usa (pass2). (fuente: Dark Shikari. cf. los enlaces que desenterré para mi respuesta a esta pregunta sobre la transmisión VBR ).
Solo obtiene CBR con x264 si vbv-maxrate
= bitrate
, e incluso entonces puede ser VBR dentro del tamaño del búfer. (h.264 nunca va a ser estrictamente CBR como mp3 o algo así, a menos que tus marcos I se vean HORRIBLES: P)
Sin embargo, probablemente quiso decir variable entre clips, en lugar del significado habitual dentro de un archivo, porque CFR como objetivo de calidad es claramente mucho mejor que establecer ciegamente una tasa de bits objetivo para muchas fuentes diferentes.
(¿Existe una palabra para esto? ¿tasa de bits flexible? Aparte de la calidad del objetivo, a diferencia de la tasa de bits del objetivo. CRF tiene como objetivo una heurística para la calidad, no estrictamente un objetivo de calidad).
De todos modos, en ese caso, no tengo idea de qué admiten otros codificadores. Lossless h.264 es probablemente el mejor formato para enviar archivos. Es significativamente más pequeño que huffyuv o utvideo y puede admitir hasta 10 bits. (En realidad, creo que FFmpeg puede decodificar profundidades de bits más altas, pero x264 solo puede producir archivos de hasta 10 bits). O supongo que podría hacer que le envíen archivos pro-res con poca pérdida, si eso es mucho más fácil para sus flujos de trabajo.
LordNeckBeard plantea la cuestión de si está entregando estos archivos directamente a los clientes. Si ese es el caso, probablemente debería requerir que codifiquen con x264 con al menos preset = más lento, por lo que puede darles un valor crf si ya necesita x264. La compensación entre la distorsión de la velocidad es importante para los archivos finales que va a transmitir muchas veces.
-vf codecview
.codecview
es para visualizar vectores de movimiento y showinfo
no imprime QP promedio por cuadro. Revisé toda la lista de filtros de video de ffmpeg, y ninguno de ellos imprimirá valores QP:/
jim mack
llogan
puntapié
puntapié
llogan
ffmpeg -f lavfi -i testsrc=s=hd720:d=5,format=yuv420p -c:v libx264 -level 3 output.mp4
)llogan
x264
elegir.pedro cordes
pedro cordes