从客户端启用快速缓存流式处理

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

快速缓存是一种流式处理技术,其中服务器以高于播放所需的比特率流式传输内容。

如果可用带宽高于内容的比特率,则快速缓存以更高的速率进行流式处理,并缓冲内容。 这有助于在网络拥堵时减少以后的中断。 如果网络带宽低于内容的比特率,则快速缓存会在播放开始前缓冲部分数据。 建议对不可靠的网络(例如无线网络)或网络流量出现较大波动的网络(例如电缆调制解调器)使用快速缓存。 还建议将可变比特率 (VBR) 内容。 VBR 内容的带宽要求不一定,快速缓存使读取器能够在较低比特率部分缓冲流。

仅按需内容支持快速缓存流式处理。 此外,必须将服务器配置为使用快速缓存流式处理。

若要在读取器对象中启用快速缓存,请调用值为 TRUEIWMReaderNetworkConfig2::SetEnableContentCachingIWMReaderNetworkConfig2::SetEnableFastCache 方法。 第一种方法使读取器能够缓存流式处理的内容。 第二个特别允许使用快速缓存。

使用这些设置,如果网络带宽明显高于或低于内容的比特率,并且服务器支持,读取器将默认激活快速缓存。 用户还可以通过将以下一个或多个修饰符添加到 URL 来控制读取器对象是否使用快速缓存。

修饰符 说明
WMCache 如果存在此修饰符,则值“0”将显式禁用快速缓存,而值“1”显式启用它。
WMBitrate 此修饰符指定服务器的最大比特率。 此修饰符可用于将快速缓存限制为特定的带宽限制。 如果已通过调用 IWMReaderNetworkConfig::SetConnectionBandwidth 设置了显式连接带宽,则忽略此修饰符。
WMContentBitrate 此修饰符指定内容的比特率。 读取器在从 MBR) 文件的多个比特率 (选择流时,使用此修饰符(如果存在)。 这可能会导致读取器通过慢速连接接收高比特率内容,从而导致缓冲时间和延迟时间过长。

 

修饰符 WMCache=1 强制读取器使用快速缓存流式处理,而不考虑网络带宽或内容的比特率,也不管以前是否调用 SetEnableFastCache。 但是,它不会覆盖读取器上的 SetEnableContentCaching 设置;它也不会覆盖服务器配置。

URL 修饰符具有以下形式:

url改 性 剂=价值

例如:

mms://MyServer/MyVideo.wmv?WMCache=1

可以指定多个修饰符;使用和 (&) 分隔它们:

&mms://MyServer/MyVideo.wmv?WMCache=1 WMContentBitrate=56000