WebCodecs 音频延迟真相与 Project Sync
Project Sync: The journey to sample-perfect audio/video sync with WebCodecs
你以为 WebCodecs 已经完美解决了音视频同步?大错特错。在 Mediabunny 开发中,我发现即使基于 WebCodecs,AAC 编码器也会引入隐藏的 priming delay。人类对滞后 125 毫秒的延迟毫无察觉,但多次转码后,这种延迟会累积成数秒的灾难。WebCodecs 规范在此处存在疏漏,它错误地将带延迟的信号起始时间标记为 0。为此,我启动了 Project Sync,通过发送 impulse signal 实测系统延迟,并巧妙利用负时间戳或 CodecDelay 机制,在 ISOBMFF、Matroska 等格式中强制修正同步。这不是等待标准修复的被动等待,而是主动让 Mediabunny 在任何浏览器上都能输出 sample-perfect 文件的实战方案。
假设终究只是假设,如果你想要构建完美的东西,那还远远不够。