Только что справившись с этой же проблемой, я прибегаю к методу грубой силы, чтобы определить частоту кадров. Зная, что частота кадров никогда не превысит 60 кадров в секунду, я ищу видео с шагом 1/60 секунды.Сравнивая каждый кадр с последним, поместив видео на элемент canvas, а затем используя getImageData, чтобы получить данные пикселей.Я делаю это за секунду видео, а затем подсчитываю общее количество уникальных кадров, чтобы получить частоту кадров.
Вам не нужно проверять каждый отдельный пиксель.Я беру около 2/3 внутренней части видео, а затем проверяю каждый 8-й пиксель в поперечном и нижнем направлениях (в зависимости от размера).Вы можете остановить сравнение, используя всего лишь один пиксель, поэтому этот метод достаточно быстрый и надежный, не говоря уже о чтении свойства frameRate, но лучше, чем угадывание.