Я пытаюсь использовать ffmpeg для создания видео с цветным фоном с помощью следующей команды.
ffmpeg.exe -t 5 -f lavfi -i color=c=0x1E3932:s=1094x863 -vcodec libx264 -pix_fmt yuv420p output_test.mp4
Но генерируется неправильный зеленый; я получаю, #1B3531
когда делаю скриншот видео и беру образец цвета. Мне нужно, чтобы он соответствовал фону цвета на веб-сайте, поэтому мне нужен этот конкретный кодек и формат пикселей. Я не могу использовать webm или другой кодек с платформами/браузерами, которые я должен поддерживать.
Есть ли способ получить color
источник для вывода правильного шестнадцатеричного значения в нужном мне цветовом пространстве? Есть ли способ использовать фильтр colorspace
или colormatrix
для достижения этого эффекта (насколько я понимаю, этот цветовой сдвиг происходит из-за преобразования из RGB в YUV)?
решение1
Вам необходимо преобразовать в матрицу, используя -vf scale=out_color_matrix=bt709, и пометить вывод с помощью -colorspace 1. Я также рекомендую пометить -color_range tv (это то, что масштабирует по умолчанию), пометить -color_trc iec61966_2_1 и пометить -color_primaries на bt709.