Estoy intentando usar ffmpeg para generar un video con un fondo de color usando el siguiente comando.
ffmpeg.exe -t 5 -f lavfi -i color=c=0x1E3932:s=1094x863 -vcodec libx264 -pix_fmt yuv420p output_test.mp4
Pero se genera el verde equivocado; Lo que obtengo #1B3531
cuando tomo una captura de pantalla del video y pruebo el color. Lo necesito para que coincida con el color de fondo de un sitio web, por eso necesito ese códec y formato de píxeles específicos. No puedo usar webm ni un códec diferente con las plataformas/navegadores que debo admitir.
¿Existe alguna forma de conseguir que una color
fuente genere el valor hexadecimal correcto en el espacio de color que quiero? ¿Hay alguna forma de utilizar el filtro colorspace
o colormatrix
para lograr este efecto (según tengo entendido, este cambio de color proviene de la conversión de RGB a YUV)?
Respuesta1
Debe convertir a matriz usando -vf scale=out_color_matrix=bt709 y etiquetar la salida usando -colorspace 1. También recomiendo etiquetar -color_range tv (que es el valor predeterminado de la escala), etiquetar -color_trc iec61966_2_1 y etiquetar -color_primaries a bt709.