7 votos

ffmpeg: Cómo manejar las conversiones de la gama de colores

Es difícil encontrar documentación completa sobre la manipulación de la gama de colores con ffmpeg. Me gustaría saber la forma recomendada para tratar los siguientes casos:

  1. La entrada es de rango limitado, quiero que la salida sea de rango completo
  2. La entrada es de rango completo 4:2:2, quiero que la salida sea de rango completo 4:2:0
  3. La entrada está marcada erróneamente como de rango completo, quiero remuxar o recodificar en rango limitado

Por ejemplo, para resolver el caso nº 2, sólo tengo que añadir el -pix_fmt yuvj420p opción. Funciona pero tengo una advertencia que me dice que el formato de píxeles está obsoleto. Intento encontrar una solución con -pix_fmt yuv420p -color_range 2 pero la salida está lavada (rango limitado reproducido como completo)

7voto

Mulvya Puntos 156

La entrada es de rango limitado, quiero que la salida sea de rango completo

Utiliza el filtro de escala, -vf scale=in_range=limited:out_range=full

y establecer la gama de colores para el codificador y el contenedor*, -color_range 2 ,

*si se escribe en MP4, añadir también -movflags +write_colr


La entrada es de rango completo 4:2:2, quiero que la salida sea de rango completo 4:2:0

-pix_fmt yuvj420p y las mismas medidas que las anteriores para el codificador + contenedor.


La entrada está marcada erróneamente como de rango completo, quiero remuxar o recodificar en rango limitado

La recodificación es igual que la 1, pero establece el rango de entrada y el rango de salida correctos.

Para remezclar H264, añada -bsf:v h264_metadata=video_full_range_flag=0 (con -c:v copy ).

Para remezclar H265, añada -bsf:v hevc_metadata=video_full_range_flag=0 (con -c:v copy ).

-color_range 1 para un alcance limitado.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: