Não há como verificar automaticamente se as legendas correspondem perfeitamente a um vídeo. Você precisaria das legendas ideais ("padrão ouro") também, ou de alguma forma de combinar a faixa de áudio com as palavras no arquivo de legenda, e é evidente que isso não é prático.
Sua única chance é ...
- Alinhar as legendas manualmente no início
- Pule para o final do vídeo e veja se eles ainda estão alinhados
Ou, como alternativa, exporte manualmente as legendas e verifique seus timestamps: Como extrair legendas de filmes MP4 e MKV
A questão por que as legendas se desviam e a sincronização é muito ampla. Pode haver várias razões para isso:
-
A fonte de vídeo e a origem das legendas não são as mesmas. Há sempre diferentes cortes de filmes, ou a versão que você tem não inclui um trailer, etc.
-
O vídeo foi convertido. Nesse caso, convertendo entre taxas de quadros diferentes. Por exemplo, NTSC especifica 23,97 quadros por segundo, enquanto que para material cinematográfico, isso é acelerado até 24 quadros por segundo. E também há 25 fps e 50 fps, dependendo do lançamento.
De qualquer maneira, os timestamps de apresentação das legendas não combinam mais, pois não estão alinhados a quadros, mas a timecodes. Como o timestamp de apresentação de um quadro pode mudar com a conversão, você vê as legendas flutuando gradualmente.
Para resumir, tudo o que você pode fazer é verificar as legendas fornecidas manualmente e tentar substituí-las. Se isso acontecer com o material all que você tem, então eu prefiro suspeitar de um problema de hardware ou software no lado do player, o que desmultiplexa incorretamente o contêiner MKV. Tente outro player ou solução de hardware e veja se isso resolve o problema.