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

7

Antecedentes:

Estoy tratando de comprimir pistas bluray sin pérdidas a un tamaño más amigable para el almacenamiento 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 alrededor de la compresión involucraban velocidades 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 las partes más complejas de la pista requieren más bytes para ofrecer el mismo nivel de calidad visual. ¿Existe algo como esto?

Editar:

Estoy teniendo buena suerte con el argumento -qscale y libxvid. Si no recibo ninguna otra sugerencia, seguiré con eso.

Jacks_Gulch
fuente
1
¿Qué hay de malo con crf en x264?
Gyan
La documentación establece que crf sacrifica la velocidad de ejecución por calidad. Dado que potencialmente podría ejecutar estos videos en máquinas menores, no quería ponerles demasiada carga.
Jacks_Gulch
2
No se puede obtener calidad y eficiencia computacional. Hay una compensación.
Gyan
¿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, dado que no estoy seguro de cómo se comparan con h264. Tampoco estoy seguro sobre el soporte de Linux.
glenneroo
Es muy poco probable que su fuente de bluray no tenga pérdidas. Manera fácil de verificar: ffplay -vf showinfo. Si tiene cuadros B, no es h.264 sin pérdidas.
Peter Cordes

Respuestas:

6

Está en el camino correcto con -crfy x264 (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, -b:vse recomienda realizar una codificación de dos pasadas si está apuntando a 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. En general, obtendrá una mejor compresión a cambio de un mayor tiempo de codificación.

1. Elija un preset

Un preset es una colección de opciones que proporcionarán una cierta velocidad de codificación: relación de compresión . Un valor predeterminado 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 tienes paciencia. Preajustes actuales en orden descendente de la velocidad son los siguientes: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo. Ignorarlo, placeboya que es una broma y una pérdida de tiempo (ayuda como máximo ~ 1%) Si está codificando muy lentamente, use 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 el predeterminado y 51 es el peor posible. Un valor más bajo es una calidad más alta. Un rango subjetivamente sano es 18-28. Considere que ~ 18 es visualmente sin pérdidas: debería verse igual que la entrada, pero técnicamente no es sin 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 ofrezca una calidad aceptable. Es decir, si el resultado se ve bien, intente con un valor más alto y si se ve mal, elija un valor más bajo.

3. Codificar

Use esta configuración para el resto de sus 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

lema
fuente
3
-ssim 1 -psnren su cmfline ffmpeg medirá algunas métricas de calidad de video (que no siempre coinciden con la calidad visual percibida por el ser humano). Puede ser útil para tener una idea de cuánto se está destrozando su video.
Peter Cordes
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
@MarianD Corregido, gracias. Wow, esa respuesta tiene 7 años.
llogan
Sus respuestas siempre fueron superiores y útiles (también recuerdo su nombre anterior), gracias por ellas.
MarianD
-3

Tal vez esto sea útil. K-Lite Codec Pack Cuando instale hay un paquete de códecs para que pueda elegir el que mejor se adapte a usted. 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]

Mors Violenta
fuente
1
No veo cómo esto responde la pregunta.
llogan
descargue K-Lite Codec Pack, encuentre opciones en el codificador / decodificador 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. Buena respuesta por su parte, sin embargo
Mors Violenta
1
Su respuesta sería más útil si sugiriera cuál de los códecs satisfaría las necesidades del interlocutor.
stib