下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 H264流媒体播放器设计和实现 该滤波器工作于Splitter和Renderer filter之间,包含一个输入和一个输出,且输入和输出pin上的媒体类型不一致,应选择CTrans-form Filter作为基类,派生子类CX264Decode。 子类CX264Decode必须要实现的纯虚函数有:CheckInputType()实现输入Pin上的媒体类型检查;CheckTransform()检查是否支持从该输入pin到输出pin的变换操作;DecideBufferSize()决定Samlple内存的大小;GetMediaType():提供输出Pin上的媒体类型;
2、Transform():实现解码变换。 子类CX264Decode可选的重写虚函数有:初始化和反初始化流:StartStreaming()和StopStreaming();响应质量通告消息:AlterQuali-ty();获取媒体类型被实际设置的时间:SetMediaType();连接时获取额外的接口:CheckConnect()、BreakConnect()和CompleteConneet();定制变换过程:Receive();标准化设置输出Sample:InitializeOutputSample()。 本Filter设计主要流程如下: (1)Filter注册信息 定义类工厂模板,填写Fi
3、lter的注册信息;同时实现DLL文件所必须实现的注册和反注册函数:DLLRegisterServer和DLLUnregisterSe-rver。 (2)框架函数的实现 实现函数CreateInstanee,用于创立Filter对象实例;实现函数CheeklnputType,用于对输入Pin上的媒体类型检查;实现函数Transfo-rm,用于H.264的解码操作;实现函数NonDelegafingQueryIntefface,用于暴露Filter支持的自定义接口,使应用程序可以设置解码器的参数;实现函数CompleteConnect,可以在输入Pin成功连接后取得媒体类型描述,并将输入数据的格
4、式设置给应用逻辑控制对象;实现函数St-artStreaming和StopStreaming,可以分别调用应用控制逻辑对象的相应函数,开展流处理的初始化和反初始化操作。 (3)逻辑控制类的实现 利用ffmpeg库开展H.264解码时,需要自定义两个关键函数:open_net_file()和read_buffer_frame()。其中,open_net_file()函数完成与流媒体服务器的连接,接收指定流媒体文件的流相关信息,并返回类型为AVFormatContext构造体的值。read_buffer_frame()函数从bu-ffer缓冲中读取一帧数据,并交由库函数avcodec_decode
5、_video()解码。 (4)自定义接口的实现 将Filter类从自定义接口类派生,并声明自定义接口的所有接口方法;然后在Filter类的实现文件中实现这些接口法,其实大都是调用应用逻辑控制类的相应函数;在函数NonDelegatingQueryInterface中暴露我们的自定义接口。 3.4 播放器的设计 播放器采用Directshow应用框架,采取界面、控制逻辑和数据分离的三层程序设计方法。界面类直接从标准的对话框类CDialog派生,在界面类中定义两个自定义类:数据封装类和逻辑控制类。界面类表达一种用户操作逻辑;采取Directshow应用框架,不必关心数据如何输入和输出,这些问题都由
6、Filter框架负责,只需更多的关注数据处理的算法实现、效率优化等问题。采取界面、控制逻辑和数据分离的设计构造,不仅使程序框架清晰、容易被人理解,而且具有良好的移植性和扩展性。 播放器基于Filter Graph Manager构建包含网络源Filter和H.264解码Filter的Filter Graph,即可实现网络流媒体的播放。界面类实现视频显示界面与用户的操作交互,控制逻辑可以控制视频的播放、暂停、停止、解码参数设置等,数据类实现对数据的操作管理。 4 结束语 本流媒体播放器系统采用了Directshow应用框架和H.264视频编解码标准,能很好的实现网络流媒体视频的播放,具有构造清晰、良好的可扩展性与可移植性。由于WINCE系统是微软提供的嵌入式实时操作系统,提供了对Directshow的应用支持,故本系统也可以很好的移植到win-ce的嵌入式应用平台,实现嵌入式端的流媒体视频播放
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年张家港农村商业银行招聘笔试备考全书权威复习资料与模拟试题集锦
- 2022班级誓言口号-1
- 医学26年:急性GVHD处理要点 查房课件
- 2026 减脂期一周餐单课件
- 肺栓塞溶栓治疗的护理要点
- 肝胆外科护理伦理与法律法规解析
- 血气分析在液体复苏中的应用
- 2026 增肌期饮食核心原则课件
- 2026年共青团团员知识竞赛试卷及答案(十八)
- 臁疮中医护理的预防复发措施
- T/CGCC 23-2018奢侈品鉴定技术规范
- 昌平卫校笔试题目及答案
- 《“手拉手”(共顶点)模型的等腰三角形》专题课件
- 外墙胶泥施工方案
- 休闲学基础讲义
- 基于人工智能的学校后勤管理创新研究
- 《测绘生产成本费用定额》(2025版)
- 设备设施危险危害辨识与风险评价表全文完整版
- 中职高教版(2023)语文职业模块-第五单元:走近大国工匠(二)学习工匠事迹 领略工匠风采【课件】
- 《县域肿瘤防治中心评估标准》
- 防雷检测考试题库
评论
0/150
提交评论