FFmpeg coincide exactamente con el color hexadecimal

FFmpeg coincide exactamente con el color hexadecimal

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 #1B3531cuando 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 colorfuente genere el valor hexadecimal correcto en el espacio de color que quiero? ¿Hay alguna forma de utilizar el filtro colorspaceo colormatrixpara 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.

información relacionada