管理编写器延迟

[与此页面关联的功能 Windows Media Format 11 SDK 是旧版功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用源读取器和接收器编写器,而不是 Windows Media Format 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

编写器处理示例需要一段时间。 传递输入样本和写入输出样本之间的时间量称为编写器延迟。 许多因素会导致编写器延迟,可以通过多种方式减少延迟。

编写器延迟所涉及的最明显因素是压缩示例所需的时间。 在大多数情况下,你几乎无法控制这一点。 如果带宽不是一个大问题,则可以使用更少的压缩来降低延迟。 当然,可以通过传递已压缩的示例来实现最小延迟。

下一个因素(通常可以控制的因素)是将样本传递到读取器的顺序。 可以通过按呈现时间顺序传递样本,并确保输入样本在所有输入流之间顺利同步,从而获得更好的延迟。 不同流的样本之间的呈现时间差异越大,延迟就越大。 可以通过调用 IWMWriterAdvanced::SetSyncTolerance 设置输入样本之间的差异最大值。

编写 ASF 文件