My meta point is that the eq filters by FFMPEG yield very different results from the corresponding CSS filters. Does anyone know why this might be happening
Não existe um consenso entre todos os provedores de software sobre como o brilho, o contraste e a saturação devem funcionar.
Os filtros CSS terão definições matemáticas precisas, determinadas pelo W3C. Eles precisam ser precisos para que diferentes navegadores de diferentes fornecedores possam exibir a mesma imagem renderizada. A especificação atual para filtros CSS está aqui: link
Por outro lado, os filtros ffmpeg são implementados de maneira "ad hoc" por uma coleção de engenheiros (muito inteligentes) e não precisam obedecer a nenhum padrão. Eles meramente precisam ser úteis na visão dos desenvolvedores do ffmpeg.
and how I can get them to match up?
Espero que a única maneira de saber exatamente o que um filtro ffmpeg faz é ler o código-fonte (em outras palavras, o código-fonte é a especificação). Ao fazer isso, você poderá determinar os parâmetros de entrada que fornecerão o mesmo resultado matemático dos filtros CSS. Ou talvez não.
Como os filtros do ffmpeg não precisam estar em conformidade com nenhum padrão, existe o risco de que uma futura atualização do ffmpeg possa alterar o resultado.
EDIT : Outra coisa que deve ser cautelosa é que, mesmo que os valores numéricos de cores em ambos os arquivos de vídeo sejam os mesmos, eles podem ser exibidos de maneira diferente quando reproduzidos. Um dos motivos é se os metadados sobre o espaço de cores foram perdidos ou alterados durante o processamento, de modo que a saída do ffmpeg esteja em um espaço de cores diferente do vídeo original, fazendo com que o player interprete os valores de cores numéricas de maneira diferente. Outra razão é se um jogador suporta conversões de espaço de cores que o outro não suporta. Com base nas capturas de tela acima, parece que elas estão sendo visualizadas em diferentes players (um navegador versus outra coisa). Seria melhor visualizar os dois vídeos no mesmo player.