directshowrtp对网络多媒体应用适配的支持

上传人:自*** 文档编号:78876862 上传时间:2019-02-15 格式:DOC 页数:14 大小:85KB
返回 下载 相关 举报
directshowrtp对网络多媒体应用适配的支持_第1页
第1页 / 共14页
directshowrtp对网络多媒体应用适配的支持_第2页
第2页 / 共14页
directshowrtp对网络多媒体应用适配的支持_第3页
第3页 / 共14页
directshowrtp对网络多媒体应用适配的支持_第4页
第4页 / 共14页
directshowrtp对网络多媒体应用适配的支持_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《directshowrtp对网络多媒体应用适配的支持》由会员分享,可在线阅读,更多相关《directshowrtp对网络多媒体应用适配的支持(14页珍藏版)》请在金锄头文库上搜索。

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

2、how系统架构的框架,添加了对采用RTP协议通过网络传输多媒体应用数据的支持。Directshow RTP 框架被设计用来支持高扩展性的广阔领域的多媒体流任务。Directshow RTP 做为 Windows NT5.0一部分会随同操作系统发行。我们已经扩展了这套架构,添加了对流应用的支持,对本地主机和计算机网络因分发和接收多媒体数据而引起的可用资源的变化,能够动态补偿。我们的扩展包括采集可做出适配选择的相关信息,基于这些信息做出决策的组件,和可以利用基础体系结构中早已具有的能力来执行策略的方法。本文对于应用开发和用于开发这些应用的架构的设计都是有益的。1 介绍NetMM是运行在客户计算机和

3、单用户工作站的执行程序中资源需求最强烈的一类。这些应用对主机处理能力和网路带宽的耗用都有很高的要求。这些应用也经常需要底层操作系统和计算机网络接近实时处理的所提供能够执行的必要资源。以上任何资源访问的延迟都会导致明显的可觉察的展现给用户的质量的下降。随着单个NetMM程序对资源的需求的变化,和流和程序的启停,本地主机和网络可用资源会显著变化。因为可用资源和需求资源都会在运行期间显著变化,NetMM必须随时能够平滑的适配这些变化。在这篇论文中,我们主要针对两种类型的适配-网络适配和主机适配。网络适配是指在网络可用带宽,网络抖动,数据丢失等条件下,流程序能够通过各种方法充分利用网络资源的能力。主机

4、适配可定义为应用程序基于本地主机的情况,包括CPU利用率、可用内存,来改变自己的行为。 下面列举的例子的情形对网络和主机适配都是有用的:多流对资源的竞争。假定某个应用有一个音频流,一个高比特率的视频流,和一个突发的幻灯片流,其中音频流对用户来讲是最高优先级的。如果音频流的质量受到影响,为满足用户的优先权,程序可以适配幻灯放映和视频流以降低系统资源占用。应用也必须可以检测对网络资源的竞争,相应调节它发送和接收各个流的行为。允许体验对不同的网络和处理器资源的用户都可承受。在一次包括不同带宽和处理能力的异质用户的视频会议或交互会议中,所有节点将不可能接收所有的流。在这种条件下,如果采用分级编码,所有

5、会议人员都可参与。这种适配形式,相较一个不采用分级编码流的展现,允许拥有很少资源需求的异质参与者获得到极大的满足。补偿不同重要程度应用程序角色的变化。在单用户环境,一个程序相对其他程序的重要程度会随着时间变化。比如,当一个用户从看新闻广播切换到编译或一个设计任务,像Windows 95这样的操作系统一般会调度多媒体程序至后台以较低的优先级运行。当用户切换到新闻广播,去看感兴趣的事件(比如,最新的棒球运动消息),操作系统会相应提升此程序的执行优先级。NetMM也应该对被放置于后台或前台做出响应。这样,NetMM 程序切换到后台后应该减少网络和CPU占用率,回到前台后要全速运行。上面的附加的响应和

6、超出操作系统所执行的优先级调度策略的是给那些急需资源的任务分配最多资源。研究人员已经为NetMM程序的适配准备了几套方法。这些方法包括不同形式的源码流控制,采用分层视频的接受驱动,和主机资源的适配。尽管像RSVP和ATM提供QoS保障的协议和机制已能够满足NetMM程序,研究人员已在研究在资源约束和资源变化的条件下适配的应用。假定适配对应用质量的影响是正面的,我们决定研究应用开发人员可以怎样不担心适配的复杂性,把适配添加到应用中。在这篇论文中,详细研究了的NetMM程序如何基于多媒体流组件架构适配网络和主机条件的变化。论文讨论了我们在该领域的成果,包括针对资源限制的适配的新的研究,创建用于Ne

7、tMM支持网络主机适配的的中间件,和一些对采用适配的应用开发人员或架构设计人员有益的教训。我们把微软的DirectShow做为我们架构的基础。Directshow提供了一个模块化,可扩展的实现多媒体应用的系统。在DirectShow架构中,我们添加了一套实现RTP协议的框架,我们称为DirectShow RTP,用来创建NetMM应用,本论文的剩余部分组织如下。第2部分讲述了DirectShow 架构和DirectShow RTP。第3部分对此进行了讨论,分析了一些添加适配功能到 像DirectShow RTP这些基于组件的架构的几种方法。第4部分给出了基于数据源的适配实现,第5部分,介绍了采

8、用层多播的接收驱动的适配实现。第6部分提供了一个总体针对基于组件的流框架网络、主机适配实现的经验分析。第7部分讨论了可能进一步提高适配在NetMM中应用的下一步的工作领域。最后以在基于组件架构中实现适配的宜处的讨论结束本文。2 DirectShow 架构21 微软的DirectShowDirectShow 架构被用来为许多应用提供基本的多媒体流处理功能。它被用于全方位的多媒体处理,包括采集,编解码,回放,音视频数据的存储。DirectShow 采用4种主要抽象来操作多媒体数据。这些抽象术语为过滤器(filter),管脚(pin),媒体样本(media sample)和媒体类型(media ty

9、pes)。MPEG File MPEG Decoder Video Render Data FlowDirectShow filters 被用来封装一个或多个与多媒体流有关的任务。DirectShow filters例子中包含视频采集filter,被用来控制视频摄像设备,输出原始RGB视频帧;H.261编解码filter,被用来压缩原始RGB视频数据至H.261帧和解压。存在类似的用于音频流的Filters, 音频采集filter和G.711编解码filter。Filter还被用来在本地设备回放音视频。为允许程序综合几种功能来处理音频或视频,DirectShow采用filter graphs。

10、Filter graph 是一些串行连接的有序的,处理多媒体数据缓冲的filters。图1给出了一个范例filter graph, 包含一个文件读取filter,一个MPEG解码filter,和一个视频渲染filter,用以回放视频。Filters 通过pins连接起来组成filter graph。Pins在DirectShow中有两种主要作用。第一是在filters互联时协商media type,和Filter互联时的分配内存。Media type 协商是media type管理两个确定的filters数据交互的方式。内存分配协商被用以指定保存多媒体缓冲(也被称为media sample)的

11、内存在何处分配,分配多大的内存(字节对齐,使用来自内存映射设备的特定区域的内存,等)。DirectShow 中Pins的第二项任务是隐藏filters间交换数据的方式。一旦一条链接已被成功建立,filters只是简单的接收和分发media samples至它的pins, pins相应的执行实际的操作,也就是samples 被分发到filter graph中下一个filter。Media samples在DirectShow中是对存储多媒体数据缓冲区的抽象。除了它们含有的多媒体数据缓,media samples还包含用来确定samples生命期的起始和终止时间戳。这些值可被渲染器用来确定何时播放

12、和检测性能问题。DirectShow media types 指定了filters之间交换包含media sample的数据的格式。Media types包含好几部分;其中最重要的是major 和minor 类型。一个主类型一般用来根据最高层的语义指导区分格式。MAJORTYPE_VIDEO 和MAJORTYPE_AUDIO是主类型的两种。次类型一般用来确定格式的不同,比如MINORTYPE_AUDIO_G711A和MINORTYPE_AUDIO_G723。如果两个filters之间的 pins可以找到相同的media type,那么它们之间的就可以建立连接。DirectShow 允许定义新的

13、filters,pins,和media types。充分利用DirectShow内在的可扩展性,我们定义了两个新的media types和几个filters,实现了DirectShow架构下采用RTP协议通过网络传输多媒体数据流。这个新的NetMM框架被称为DirectShow RTP。22 DirectShow RTPDirectShow RTP 定义了一组支持使用RTP协议网络传输多媒体流的fitlers和media types。新定义的filters是RTP Source filter,RTP Render Filter, RTP Demux filter, RTP Receive Pa

14、yload Handler(RPH) filter,和RTP Send Payload(SPH)filter。使用这五个filters(同时使用标准的CODEC和采集/渲染filters),构造一个可以通过RTP协议网络传输音视频流的数据平台应用是可能的。RTP Source filter被用来从一个单独的RTP会话中接收RTP和RTCP包。这些包被封装在media sample中发到filter graph。这个filter被用以外出连接的广播media type包括主类型RTP_MAJORTYPE_MULTIPLE_STREAM和次类型RTP_MINORTYPE_PAYLOAD_ANY,它

15、们二者都是DirectShow RTP框架的一部分。这样的media types组合表示这个filter可以生成一个包含一个或多个RTP流的流,放到一起有可能是单个负载类型或多负载类型。这个filter提供一个指定发送给其它主机RTCP接收器报告和指定网络地址和端口接口来接收RTP会话的接口。与RTP Source filter紧密相关的就是RTP Render filter。这个filter接收media type 主类型为RTP_MAJORTYPE_SINGLE_STREAM,任何次类型的外来连接。为了遵从AVP的对发送者在RTP流关于负载类型和SSRC的规定,更加严格的主类型的选择是必要的。这个filter提供了与RTP Source filter类似控制的接口。RTP Demux filter被用来多路分离来自RTP Source filter的RTP包。多路分离遵从SSRC和每个包的负载类型。这个filter接收主类型为RTP_MAJORTYPE_MULTIPLE_STREAM和次类型为RTP_MINORTYPE_PAYLOAD_ANY的pin的连接。此filter登记一个或多个输出pin,主类型为RTP_MAJORTYPE_SINGLE_STREAM,与正在讨论的pin上单个分发流负载有关的次类型。这个filter提供了控制流如何多路分离和如何分配到特定输出pin的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号