Estou tentando usar o ffmpeg para gerar um vídeo com fundo colorido usando o seguinte comando.
ffmpeg.exe -t 5 -f lavfi -i color=c=0x1E3932:s=1094x863 -vcodec libx264 -pix_fmt yuv420p output_test.mp4
Mas o verde errado é gerado; Estou entendendo #1B3531
quando tiro uma captura de tela do vídeo e faço uma amostra da cor. Preciso que ele corresponda à cor de fundo de um site, e é por isso que preciso desse codec e formato de pixel específicos. Não consigo usar o webm ou um codec diferente com as plataformas/navegadores que devo oferecer suporte.
Existe alguma maneira de obter uma color
fonte para gerar o valor hexadecimal correto no espaço de cores que desejo? Existe alguma maneira de usar o filtro colorspace
ou colormatrix
para obter esse efeito (pelo que entendi, essa mudança de cor vem da conversão de RGB para YUV)?
Responder1
Você precisa converter para matriz usando -vf scale=out_color_matrix=bt709 e marcar a saída usando -colorspace 1. Eu também recomendo marcar -color_range tv (é o padrão da escala), marcar -color_trc iec61966_2_1 e marcar -color_primaries como bt709.