基于DirectShow的MPEG-4视频传输系统的研究与实现
[10-10 20:42:03] 来源:http://www.88dzw.com 电子制作 阅读:8219次
文章摘要: (3) 实现继承自CBaseFilter::GetPin,用于返回Filter上各个Pin的数量。 定义一个继承自CRenderedInputPin的类CMpeg4InputPin,用于实现CFilterMpeg4Sender上的输入pin,发送Filter通过该输入pin接收编码Filter输出的数据,然后按一定的规则发送。 这个类必须实现以下功能[2]: (1) 重写方法EndOfStream。 (2) 实现IPin::BeginFlush和IPin::EndFlush两个函数。 (3) 重写方法CBasePin::CheckMediaType进行连接时媒体类
基于DirectShow的MPEG-4视频传输系统的研究与实现,标签:电子小制作,http://www.88dzw.com(3) 实现继承自CBaseFilter::GetPin,用于返回Filter上各个Pin的数量。
定义一个继承自CRenderedInputPin的类CMpeg4InputPin,用于实现CFilterMpeg4Sender上的输入pin,发送Filter通过该输入pin接收编码Filter输出的数据,然后按一定的规则发送。
这个类必须实现以下功能[2]:
(1) 重写方法EndOfStream。
(2) 实现IPin::BeginFlush和IPin::EndFlush两个函数。
(3) 重写方法CBasePin::CheckMediaType进行连接时媒体类型的检查。
(4) 重写方法CBasePin:: Receive(),接收Sample并发送
3.2.2 数据的接收Filter的实现
数据的接收其实是要编写一个Source Filter, 这个Source Filter名称为CFilterMpeg4Receiver,也继承自CBaseFilter。这跟发送Filter的实现有些类似,有一点需要注意的是该Filter输出的MediaType的设置。
Char MediaType[]=//媒体数据类型,通过在发送端把媒体类型写到一个文件中而得到然后通过语句:CFilterMpeg4Receiver::SetupMediaType((char *)MediaType,88)设置输出数据的MediaType。
CFilterMpeg4Receiver::SetupMediaType再调用CMpeg4OutPin::SetupMediaType()设置、接收到的媒体数据的格式,
3.2.3 数据的网络传输的实现
数据的发送我们采用开源代码JRTPLIB【6】提供的RTP协议栈。最新的JRTPLIB对RFC3550的实现进行了封装,开发人员只要初步了解RTP协议就可以开发出高质量的音视频传输程序。使用JRTPLIB时,只需要通过继承RTPSession类,再重新以下几个函数就可以实现视频数据的接收。
Tag:电子制作,电子小制作,维修教程知识 - 电子制作
《基于DirectShow的MPEG-4视频传输系统的研究与实现》相关文章
- › 基于DisplayPort接口的HDCP软件实现及应用
- › 基于DirectShow的MPEG-4视频传输系统的研究与实现
- › 基于DirectShow的卫星电视多路节目播放技术
- 在百度中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现
- 在谷歌中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现
- 在soso中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现
- 在搜狗中搜索相关文章:基于DirectShow的MPEG-4视频传输系统的研究与实现
编辑推荐
最新更新
热门排行