Я использую FFMPEG напрямую для декодирования одного видеокадра, закодированного в H.264, из тестового видео, которое я запускаю, используя следующую команду:
ffmpeg -i test.mp4 -ss 00:00:00 -vframes 1 -pix_fmt yuv420 output.yuv
По какой-то причине, когда я открываю файл в программе просмотра YUV, я могу отчетливо сказать, что цвета немного отличаются по сравнению с исходным вводом. Я пытался поиграть с параметрами цветового пространства и цветовой матрицы, но, похоже, ничто из того, что я делаю, точно не повторяет исходные цвета.
Например, я также попробовал следующие команды:
ffmpeg -i test.mp4 -ss 00:00:00 -vframes 1 -pix_fmt yuv420p -vf colormatrix=bt470:bt709 output.yuv
и
ffmpeg -i test.mp4 -ss 00:00:00 -vframes 1 -pix_fmt yuv420p -color_primaries bt709 -color_trc linear -colorspace bt709 output.yuv