Mediabunny находит способ добиться идеальной синхронизации аудио и видео через WebCodecs
Project Sync: The journey to sample-perfect audio/video sync with WebCodecs
Автор Mediabunny обнаружил, что WebCodecs добавляет задержку кодирования, из-за которой звук отстаёт от видео на 44 мс, а после 64 повторных перекодирований рассинхрон превышает две секунды. Спецификация и браузеры эту задержку не сообщают, поэтому библиотека теперь измеряет её эмпирически с помощью импульсного сигнала и сдвигает таймстемпы в отрицательную область, а каждый муксер — от MP4 до MPEG-TS — научился корректно хранить такие значения.
Ждать, пока команда WebCodecs поправит спецификацию, а производители браузеров затем реализуют и выпустят это изменение, для Mediabunny не вариант. Я хочу, чтобы она выдавала корректные файлы, уже сейчас.