Welcome

首页 / 软件开发 / Silverlight / IIS平滑流式处理:用上下文数据增强 Silverlight 视频体验

IIS平滑流式处理:用上下文数据增强 Silverlight 视频体验2012-07-17 MSDN Jit Ghosh在基于 Web 的高清数字视频传输中实现稳定的观看体验有两项基本要求。首先,视频提供程序需要在网络上支持较高的视频传输比特 率。其次,客户端计算机需要支持连续的处理能力以全分辨率对视频解码。

而实际情况是,随着时间的推移,家庭联网计算机的网络带宽会出现明显波动,并且在世界上的某些地区,高带宽费用高昂,或只向部 分用户提供。与此同时,根据任意给定时刻 CPU 的负载,客户端计算机的处理能力也会有变化。结果就是,在播放器等待缓冲足够的数据 以便显示下一组视频帧,或等待 CPU 周期对这些帧进行解码时,视频会断断续续或出现定格,从而使用户的观看体验大打折扣。

自适应流式处理是一种视频传输模式,可流畅地传送视频内容并解决解码问题。使用自适应流式处理,视频内容在一定比特率范围内进 行编码,并通过专用的流式处理服务器提供。自适应流式处理播放器一直监视客户端计算机上的各种资源利用率指标,使用这些信息计算 相应的比特率。在给定的现有资源约束下,客户端能以此比特率最高效地解码和显示。

播放器请求以当前相应比特率编码的视频数据块,流式处理服务器用以此比特率编码的视频源中的内容进行响应。结果是,当资源状况 不佳时,播放器可继续显示视频而不会有任何明显干扰,只是整体分辨率会略有降低,直到资源状况的提高或进一步降低导致请求不同的 比特率。

若要在播放器和服务器之间实现这种连续的协作,要求流式处理服务器和实现播放器的客户端运行时中都存在专门的处理逻辑实现。 Internet Information Server (IIS) 平滑流式处理是 Microsoft 推出的通过 HTTP 进行自适应流式处理的服务器端实现。客户端实现作 为 Microsoft Silverlight 的扩展提供。

IIS 平滑流式处理播放器开发工具包是一个 Silverlight 库,它使应用程序能够使用通过 IIS 平滑流式处理功能流式处理的内容。该 工具包还提供一个功能丰富的 API,用于提供对平滑流式处理逻辑各方面的编程访问。

在本文中,我将逐步向您介绍平滑流式处理的基础知识,解释如何使用 IIS 平滑流式处理播放器开发工具包创建丰富的用户视频体验 。具体而言,我将介绍如何使用播放器开发工具包使用流,进一步检查流和轨道的客户端数据模型。我将向您演示如何使用额外的数据流 ,如隐藏字幕和动画,以及将外部数据流与现有影片合并。您将了解如何在影片内安排如广告这样的外部剪辑,处理变化的播放速度以及 生成造就强大编辑方案的复合清单。

平滑流式处理工作方式

可以使用 Expression Encoder 3.0 提供的配置文件之一对视频编码以便进行平滑流式处理。对于一个源视频文件,会在目标文件夹中 创建几个文件。图 1 显示了为一个名为 FighterPilot.wmv 的源视频创建的文件。

图 1 Expression Encoder 为平滑流式处理生成的文件

每个带有 .ismv 扩展名的文件都包含以特定比特率编码的视频。例如,FighterPilot_331.ismv 包含以 331 Kbps 比特率编码的视频 ,而 FighterPilot_2056.ismv 包含以 2 Mbps 编码的视频。

对于每种比特率,视频内容都拆分为两秒的片段,.ismv 文件以一种名为受保护互操作文件格式 (PIFF) 的文件格式存储这些片段。请 注意,可以在具有 .isma 扩展名的类似文件中编码附加音轨(或只是音频,在影片为纯音频时)。