¿Qué códecs de video pueden proporcionar "calidad adaptativa"?

Antecedentes:

Estoy tratando de comprimir pistas de Bluray sin pérdida a un tamaño más fácil de almacenar sin una gran pérdida de calidad.

Lo que he estado haciendo hasta ahora:

Explorando las opciones de compresión con ffmpeg. Principalmente alrededor de h264 con el argumento -crf.

Restricciones:

Linux y herramientas de código abierto. No sugiera nada específico de Apple/Microsoft.

Pregunta:

La mayoría de las opciones que veo en torno a la compresión involucran tasas de bits o tamaños de salida fijos. Estoy buscando un códec de video que tenga más de un "umbral de calidad". No me importa si partes más complejas de la pista requieren más bytes para ofrecer el mismo nivel de calidad visual. ¿Existe algo así?

Editar:

Estoy teniendo buena suerte con el argumento -qscale y libxvid. Si no recibo ninguna otra sugerencia, me quedo con esa.

¿Qué pasa con crf en x264?
La documentación indica que crf sacrifica la velocidad del tiempo de ejecución por la calidad. Dado que potencialmente podría ejecutar estos videos en máquinas menores, no quería ponerles demasiada carga.
No se puede obtener calidad y eficiencia computacional a la vez. Hay una compensación.
¿Has mirado a Lagarith o HuffYUV? Generalmente los uso para almacenar imágenes. Ambos son sin pérdidas, sin embargo, la compresión puede ser bastante buena, aunque no estoy seguro de cómo se comparan con h264. Tampoco estoy seguro sobre el soporte de Linux.
Es muy poco probable que su fuente de Bluray no tenga pérdidas. Manera fácil de verificar: ffplay -vf showinfo. Si tiene marcos B, no es h.264 sin pérdidas.

Respuestas (2)

Está en el camino correcto con -crfx264 (el mejor codificador H.264), y debería proporcionar el "umbral de calidad" que está buscando. Se recomienda CRF si desea una determinada calidad de salida y el tamaño del archivo de salida es de menor importancia. Por el contrario, se recomienda realizar una codificación de dos pasos -b:vsi tiene como objetivo un tamaño de archivo de salida específico y la calidad es de menor importancia.

La codificación de HEVC/H.265 con x265 debe seguir las mismas pautas básicas. Por lo general, obtendrá una mejor compresión a cambio de un tiempo de codificación más prolongado.

1. Elija un ajuste preestablecido

Un ajuste preestablecido es una colección de opciones que proporcionarán una determinada velocidad de codificación: relación de compresión . Un preajuste más lento proporcionará una mejor compresión (la compresión es calidad por tamaño de archivo). El uso general es usar el preajuste más lento para el que tenga paciencia. Los preajustes actuales en orden descendente de velocidad son: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo. Ignóralo placeboya que es una broma y una pérdida de tiempo (ayuda como mucho ~1%). Si la codificación es demasiado lenta, utilice un preajuste más rápido.

2. Elija un valor CRF

El rango para x264 es 0-51, donde 0 es sin pérdidas, 23 es predeterminado y 51 es lo peor posible. Un valor más bajo es una calidad más alta. Un rango subjetivamente sano es 18-28. Considere que ~18 no tiene pérdidas visuales: debe tener el mismo aspecto que la entrada, pero técnicamente no tiene pérdidas. Aumentar el valor de CRF +6 es aproximadamente la mitad de la tasa de bits, mientras que -6 es aproximadamente el doble de la tasa de bits.

El uso general es elegir el -crfvalor más alto que aún proporcione una calidad aceptable. Es decir, si la salida se ve bien, intente con un valor más alto y si se ve mal, elija un valor más bajo.

3. Codificar

Usa esta configuración para el resto de tus videos. Todos deberían terminar con la misma calidad.

Ejemplo

ffmpeg -i input -c:v libx264 -preset slow -crf 22 -c:a copy output.mkv

Ver también

-ssim 1 -psnren su ffmpeg cmdline medirá algunas métricas de calidad de video (que no siempre coinciden con la calidad visual percibida por humanos). Puede ser útil para tener una idea de cuánto se está destruyendo su video.
Al final de 2.: "El uso general es elegir la calidad más alta" - probablemente debería ser la más baja en lugar de la más alta .
@MarianD Corregido, gracias. Wow, esa respuesta tiene 7 años.
Sus respuestas siempre fueron superiores y útiles (también recuerdo su nombre anterior), gracias por ellas.

Tal vez esto va a ser útil Paquete de códecs K-Lite Cuando instala, hay un paquete de códecs para que pueda elegir el que mejor se adapte a sus necesidades. Esta es la lista de códecs: • Filtros de decodificación de video DirectShow: - ffdshow [versión 1.2.4475] - LAV Video [versión 0.51.3] (- Decodificación de: H264, VC1 (solo progresivo), MPEG2, MPEG4-ASP, MS -MPEG4, MJPEG, VP8, RV40, WMV1/2/3) - On2 VP7 [versión 7.0.10.0] - Decodificador DScaler5 MPEG-2 [versión 0.0.6.0 IVTC mod]

No veo cómo esto responde a la pregunta.
descargue K-Lite Codec Pack, busque opciones en codificador/descodificador y listo. Existe la opción de elegir la calidad y el tamaño del video comprimido. La respuesta está aquí, pero acorto en particular la razón. aunque buena respuesta tuya
Su respuesta sería más útil si sugiriera cuál de los códecs se adaptaría a las necesidades del interrogador.