位置:51电子网 » 技术资料 » 通信网络

基于DirectShow的MPEG-4视频传输系统的实现

发布时间:2007/8/28 0:00:00 访问次数:567

来源:计算机与信息技术   作者:温小明 吴志刚


摘要  本文简单介绍了DirectShow技术,研究了利用DirectShow实现视频采集、压缩和网络传输技术。并利用第三方提供的编解码器实现了MPEG-4视频数据的网络传输系统,在该系统中利用RTP协议进行视频数据传输,同时实现了远端帧率的控制。
关键词 视频; 采集; 压缩; DirectShow; MPEG-4,RTP

1 引言
近年来,随着国民经济的发展,社会各个部门对于视频监视系统的需求越来越多。但目前的很多监视系统都跟具体的硬件相关,必须要具体的采集卡的支持才能实现。所以有必要开发一种具有通用性的视频监视系统,用普通的摄像头就能实现视频的采集。

基于DirectShow的开发能很灵活地控制音视频的效果,所以选择DirectShow这种可扩展性好的技术做开发对以后的应用升级很有帮助。此外,为了实现流媒体传输控制的策略,流媒体的传输和回放也是应解决的问题之一。由Microsoft提供的DirectShow技术基于组件对象模型技术,支持宽松的格式变化,提供高品质的多媒体流回放。利用它可以在普通微机中实现流媒体的客户端处理,并可以提高系统的通用性和可扩展性。

对于视频数据的传输,压缩率是一个必须考虑到的因素。MPEG-4是由ISO和IEC的MPEG组制定的一个关于活动图像和声音的编码国际标准。它在基于内容的交互性、压缩率、通用访问能力等方面提供了一系列新的或改进的功能。MPEG-4视频在提供较好的图像质量的同时拥有较高的压缩率,适合于作为传输的图像压缩标准。

2  相关技术

2.1 DirectShow技术简介
 DirectShow是Microsoft为开发高性能多媒体应用而开发的底层应用程序接口(API),它是DirectX家族的核心成员之一。DirectShow自身是通过一种系统内置的或程序员开发的过滤器(Filter)来控制和处理多媒体数据的体系结构。该体系结构定义了如何处理和控制过滤器内部及相互之间的多媒体数据流。每个过滤器都有输入或输出针(Pin), 或两者都有。

过滤器(Filter)是DirectShow的基本组成部分,是Filter Graph(过滤器图)中最小的功能模块,DirectShow将多媒体数据的处理分离成不同的步骤,这些不同的步骤由相应的Filter去处理。这样我们可以把不同的过滤器搭配在一起达到我们要求的来处理多媒体数据。过滤器根据实现功能的不同大致可分为3类:
(1) 源过滤器(Source Filters)。源过滤器负责得到原始媒体数据。这些媒体数据的来源包括本地硬盘或网络上的媒体文件、各种采集卡等。
(2) 转换过滤器(Transform Filters)。转换过滤器的任务是处理从其他过滤器中接收的数据,经过一定的处理后再传递给下一个过滤器。编解码器就是典型的转换过滤器。
(3) 表现过滤器(Rendering Filters)。表现过滤器对接收到的数据进行最后的处理。它做的工作有:把媒体数据保存为文件、将数据发送到网络、显示视频、回放音频等[1]。

在DirectShow 系统之上是应用程序(Application) 。应用程序要按照程序所要实现的功能建立起相应的Filter Graph ,然后借助于Filter Graph Manager 来控制整个数据的处理过程。DirectShow 能在Filter Graph 运行的时候接收到各种事件,并通过消息的方式发送到应用程序。这样就实现了应用程序与DirectShow 系统之间的交互。

2.2 RTP/RTCP协议介绍
实时传输协议RTP(Realtime Transport Protocol)是针对Internet 上多媒体数据流的一个传输协议,1996 年由IETF( Internet 工程任务组) 的AVT小组作为RFC1889 发布AVT小组后来对该文档进行了不断改进,于2003年7月提出了代替RFC1889的RFC3550。RTP充分体现了应用层分帧这一现代通信协议的设计思想,允许其用户了解、调整甚至制定连续媒体的打包方案,该协议被广泛用于VoIP、视频等实时媒体的传送。RTP 协议包括RTP 和RTCP(RTP 控制协议) 两个关系十分密切的子协议:
(1)  RTP协议-传输具有实时特性的数据;
(2)RTCP协议-监测QoS 和传送参与传输者的信息。

RTP(实时传输协议) 通常工作在UDP的上层,从上层接收多媒体信息码流(如MPEG-4视频) ,组装成RTP 数据包,然后发送给下层UDP ,相当于OSI 的会话层,提供同步和排序服务。故RTP 协议适用于传送连续性强的数据,如视频、音频等,并对网络引起的时延差错有一定的自适应能力。RTCP 为实时控制协议,用于管理控制信息,如监视网络的延时和带宽,一旦所传输的多媒体信息的带宽发生变化,接收端则通知发送端,广播符号化识别码和编码参数,达到控制传输质量的目的。此外,如果底层网络支持多点传播的话,RTP 还支持使用多点

来源:计算机与信息技术   作者:温小明 吴志刚


摘要  本文简单介绍了DirectShow技术,研究了利用DirectShow实现视频采集、压缩和网络传输技术。并利用第三方提供的编解码器实现了MPEG-4视频数据的网络传输系统,在该系统中利用RTP协议进行视频数据传输,同时实现了远端帧率的控制。
关键词 视频; 采集; 压缩; DirectShow; MPEG-4,RTP

1 引言
近年来,随着国民经济的发展,社会各个部门对于视频监视系统的需求越来越多。但目前的很多监视系统都跟具体的硬件相关,必须要具体的采集卡的支持才能实现。所以有必要开发一种具有通用性的视频监视系统,用普通的摄像头就能实现视频的采集。

基于DirectShow的开发能很灵活地控制音视频的效果,所以选择DirectShow这种可扩展性好的技术做开发对以后的应用升级很有帮助。此外,为了实现流媒体传输控制的策略,流媒体的传输和回放也是应解决的问题之一。由Microsoft提供的DirectShow技术基于组件对象模型技术,支持宽松的格式变化,提供高品质的多媒体流回放。利用它可以在普通微机中实现流媒体的客户端处理,并可以提高系统的通用性和可扩展性。

对于视频数据的传输,压缩率是一个必须考虑到的因素。MPEG-4是由ISO和IEC的MPEG组制定的一个关于活动图像和声音的编码国际标准。它在基于内容的交互性、压缩率、通用访问能力等方面提供了一系列新的或改进的功能。MPEG-4视频在提供较好的图像质量的同时拥有较高的压缩率,适合于作为传输的图像压缩标准。

2  相关技术

2.1 DirectShow技术简介
 DirectShow是Microsoft为开发高性能多媒体应用而开发的底层应用程序接口(API),它是DirectX家族的核心成员之一。DirectShow自身是通过一种系统内置的或程序员开发的过滤器(Filter)来控制和处理多媒体数据的体系结构。该体系结构定义了如何处理和控制过滤器内部及相互之间的多媒体数据流。每个过滤器都有输入或输出针(Pin), 或两者都有。

过滤器(Filter)是DirectShow的基本组成部分,是Filter Graph(过滤器图)中最小的功能模块,DirectShow将多媒体数据的处理分离成不同的步骤,这些不同的步骤由相应的Filter去处理。这样我们可以把不同的过滤器搭配在一起达到我们要求的来处理多媒体数据。过滤器根据实现功能的不同大致可分为3类:
(1) 源过滤器(Source Filters)。源过滤器负责得到原始媒体数据。这些媒体数据的来源包括本地硬盘或网络上的媒体文件、各种采集卡等。
(2) 转换过滤器(Transform Filters)。转换过滤器的任务是处理从其他过滤器中接收的数据,经过一定的处理后再传递给下一个过滤器。编解码器就是典型的转换过滤器。
(3) 表现过滤器(Rendering Filters)。表现过滤器对接收到的数据进行最后的处理。它做的工作有:把媒体数据保存为文件、将数据发送到网络、显示视频、回放音频等[1]。

在DirectShow 系统之上是应用程序(Application) 。应用程序要按照程序所要实现的功能建立起相应的Filter Graph ,然后借助于Filter Graph Manager 来控制整个数据的处理过程。DirectShow 能在Filter Graph 运行的时候接收到各种事件,并通过消息的方式发送到应用程序。这样就实现了应用程序与DirectShow 系统之间的交互。

2.2 RTP/RTCP协议介绍
实时传输协议RTP(Realtime Transport Protocol)是针对Internet 上多媒体数据流的一个传输协议,1996 年由IETF( Internet 工程任务组) 的AVT小组作为RFC1889 发布AVT小组后来对该文档进行了不断改进,于2003年7月提出了代替RFC1889的RFC3550。RTP充分体现了应用层分帧这一现代通信协议的设计思想,允许其用户了解、调整甚至制定连续媒体的打包方案,该协议被广泛用于VoIP、视频等实时媒体的传送。RTP 协议包括RTP 和RTCP(RTP 控制协议) 两个关系十分密切的子协议:
(1)  RTP协议-传输具有实时特性的数据;
(2)RTCP协议-监测QoS 和传送参与传输者的信息。

RTP(实时传输协议) 通常工作在UDP的上层,从上层接收多媒体信息码流(如MPEG-4视频) ,组装成RTP 数据包,然后发送给下层UDP ,相当于OSI 的会话层,提供同步和排序服务。故RTP 协议适用于传送连续性强的数据,如视频、音频等,并对网络引起的时延差错有一定的自适应能力。RTCP 为实时控制协议,用于管理控制信息,如监视网络的延时和带宽,一旦所传输的多媒体信息的带宽发生变化,接收端则通知发送端,广播符号化识别码和编码参数,达到控制传输质量的目的。此外,如果底层网络支持多点传播的话,RTP 还支持使用多点

相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!