感觉不错的一篇有关基于组件Directshow RTP 适配的文章,第一次翻译,请大家指点

lucky2all 2004-03-04 04:25:56
Directshow RTP对网络多媒体应用适配的支持
Intel 体系结构实验室
lucky2all@yahoo.com

前言

交互协作应用,或者包含许多个独立多媒体程序的分布式游戏,运行时会同步生成和/或播放多路的音频和视频流。随着单个流的变化和流/应用被启动或最后终止对资源的需求,可用的资源总量会随之动态的改变。网络多媒体应用程序(NetMM)必须准备去适应这些变化,利用他们可以提供给用户可接受的不同级别的服务的这一事实。本文着重指出了添加网络和主机适应能力到基于组件的Directshow RTP的所出现的问题。

Directshow 是微软的一套针对视频数据采集和显示的系统架构。Directshow RTP 是一套拓展了Directshow系统架构的框架,添加了对采用RTP协议通过网络传输多媒体应用数据的支持。Directshow RTP 框架被设计用来支持高扩展性的广阔领域的多媒体流任务。Directshow RTP 做为 Windwos NT5.0一部分会随同操作系统发行。我们已经扩展了这套架构,添加了对流应用的支持,对本地主机和计算机网络因分发和接收多媒体数据而引起的可用资源的变化,能够动态补偿。

我们的扩展包括采集可做出适配选择的相关信息,基于这些信息做出决策的组件,和可以利用基础体系结构中早已具有的能力来执行策略的方法。本文对于应用开发和用于开发这些应用的架构的设计都是有益的。

1. 介绍

NetMM是运行在客户计算机和单用户工作站的执行程序中资源需求最强烈的一类。这些应用对主机处理能力和网路带宽的耗用都有很高的要求。这些应用也经常需要底层操作系统和计算机网络接近实时处理的所提供能够执行的必要资源。以上任何资源访问的延迟都会导致明显的可觉察的展现给用户的质量的下降。随着单个NetMM程序的资源需求的变化,和流和程序的启停,本地主机和网络可用资源会显著变化。因为可用资源和需求资源都会在运行期间显著变化,NetMM必须准备流畅的适配这些变化。

在这篇论文中,我们主要针对两种类型的适配-网络适配和主机适配。网络适配是指在网络可用带宽,网络抖动,数据丢失等条件下,流程序能够通过各种方法充分利用网络资源的能力。主机适配可被定义为应用程序基于本地主机的情况,包括CPU利用率、可用内存,来改变自己的行为。 下面列举的例子的情形对网络和主机适配都是有用的:

多流对资源的竞争。假定某个应用有一个音频流,一个高比特率的视频流,和一个突发的幻灯片流,其中音频流对用户来讲是最高优先级的。如果音频流的质量受到影响,为满足用户的优先权,程序可以适配幻灯放映和视频流以降低系统资源占用。应用也必须可以检测对网络资源的竞争,相应调节它发送和接收各个流的行为。

允许体验对不同的网络和处理器资源的用户都可承受。在一次包括不同带宽和处理能力的异质用户的视频会议或交互会议中,所有节点将不可能接收所有的流。在这种条件下,如果采用分级编码,所有会议人员都可参与。这种适配形式,相较一个不采用分级编码流的展现,允许拥有很少资源需求的异质参与者获得到极大的满足。

补偿不同重要程度应用程序角色的变化。在单用户环境,一个程序相对其他程序的重要程度会随着时间变化。比如,当一个用户从看新闻广播切换到编译或一个设计任务,像Windows 95这样的操作系统一般会调度多媒体程序至后台以较低的优先级运行。当用户切换到新闻广播,去看感兴趣的事件(比如,最新的棒球运动消息),操作系统会相应提升此程序的执行优先级。NetMM也应该对被放置于后台或前台做出响应。这样,NetMM 程序切换到后台后应该减少网络和CPU占用率,回到前台后要全速运行。上面的附加的响应和超出操作系统所执行的优先级调度策略的是给那些急需资源的任务分配最多资源。

研究人员已经为NetMM程序的适配准备了几套方法。这些方法包括不同形式的源码流控制,采用分层视频的接受驱动,和主机资源的适配。尽管像RSVP和ATM提供QoS保障的协议和机制已能够满足NetMM程序,研究人员已在研究在资源约束和资源变化的条件下适配的应用。

假定适配对应用质量的影响是正面的,我们决定研究应用开发人员可以怎样不担心适配的复杂性,把适配添加到应用中。在这篇论文中,详细研究了的NetMM程序如何基于多媒体流组件架构适配网络和主机条件的变化。论文讨论了我们在该领域的成果,包括针对资源限制的适配的新的研究,创建用于NetMM支持网络主机适配的的中间件,和一些对采用适配的应用开发人员或架构设计人员有益的教训。

我们把微软的DirectShow做为我们架构的基础。Directshow提供了一个模块化,可扩展的实现多媒体应用的系统。在DirectShow架构中,我们添加了一套实现RTP协议的框架,我们称为DirectShow RTP,用来创建NetMM应用,

本论文的剩余部分组织如下。第2部分讲述了DirectShow 架构和DirectShow RTP。第3部分对此进行了讨论,分析了一些添加适配功能到 像DirectShow RTP这些基于组件的架构的几种方法。第4部分给出了基于数据源的适配实现,第5部分,介绍了采用层多播的接收驱动的适配实现。第6部分提供了一个总体针对基于组件的流框架网络、主机适配实现的经验分析。第7部分讨论了可能进一步提高适配在NetMM中应用的下一步的工作领域。最后以在基于组件架构中实现适配的好处的讨论结束本文。
...全文
62 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧