基于DirectShow的MPEG-4视频传输系统的研究与实现
[10-10 20:42:03] 来源:http://www.88dzw.com 电子制作 阅读:8219次
文章摘要: 加了帧率控制Filter的发送端 Filter Graph 如图4所示:图4 实现了帧率控制的Filter Graph 4 总结 该系统采用了DirectShow技术实现了MPEG-4视频数据的传输,视频数据的传输采用了RTP协议。而且还实现了远端帧率的控制,该系统可以很方便的移植到未来3G网络的图像传输系统中。对编解码器进行研究,采用H.264技术实现编解码Filter是下一步要完成的工作,当然在传输质量(QoS)方面也要深入进行研究。www.88dzw.com 接收端的实现思路如下:通过一个接收Filter接收发送端发送的数据,然后再用Divx Decoder Fi
基于DirectShow的MPEG-4视频传输系统的研究与实现,标签:电子小制作,http://www.88dzw.com加了帧率控制Filter的发送端 Filter Graph 如图4所示:
图4 实现了帧率控制的Filter Graph
4 总结
该系统采用了DirectShow技术实现了MPEG-4视频数据的传输,视频数据的传输采用了RTP协议。而且还实现了远端帧率的控制,该系统可以很方便的移植到未来3G网络的图像传输系统中。对编解码器进行研究,采用H.264技术实现编解码Filter是下一步要完成的工作,当然在传输质量(QoS)方面也要深入进行研究。
接收端的实现思路如下:通过一个接收Filter接收发送端发送的数据,然后再用Divx Decoder Filter对接收到的数据进行解码。最后用Video Renderer把解码后的数据播放出来。其Filter Graph如图2所示:
图2 接收端的Filter Graph
3.1 数据采集及编码的实现
3.1.1 采集Filter Graph的实现
采集应用的Filter Graph一般比较复杂,而直接使用Filter Graph Manager上的IGraphBuilder接口构建这种Filter Graph,有时候难度又很大。为此,DirectShow特别提供了一个辅助组件Capture Graph Builder,来简化这种Filter Graph的创建。
首先是创建Filter Graph Manager 组件,核心代码如下:
3.1.2 加入采集Filter
3.1.3加入MPEG-4编码器Filter
这里我们采用Divx 提供的开源编码Filter。安装DivX.Pro.v5.1.1后会自动安装Divx的编码器Filter和解码器Filter(注:解码器Filter在接收端要用到)。在程序中加入Divx的编码器Filter,实现思想是在Video Compressors目录下枚举到名称为"DivX Pro(tm) 5.1.1 Codec"的Filter项后,把它加入到Filter Graph中即可。
3.2 数据的发送和接收
3.2.1 数据的发送Filter的实现
数据的发送要开发一个发送Filter,为了编程上的方便,这里采用程序内Filter的形式来实现。即用类的形式而不是编写一个成一个后缀为ax的组件注册后再使用。这里我们定义一个继承自CBaseFilter的类CFilterMpeg4Sender。这个类必须实现以下功能[3]:
(1) 在类中定义CFilterMpeg4Sender上的Pin的实例mInputPin。
(2) 实现继承自CBaseFilter::GetPin,用于返回Filter上各个Pin的对象指针。
《基于DirectShow的MPEG-4视频传输系统的研究与实现》相关文章
- › 基于DisplayPort接口的HDCP软件实现及应用
- › 基于DirectShow的MPEG-4视频传输系统的研究与实现
- › 基于DirectShow的卫星电视多路节目播放技术
- 在百度中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现
- 在谷歌中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现
- 在soso中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现
- 在搜狗中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现