基于DirectShow的简易视频播放系统研究与实现毕业论文
2021-06-25 01:44:04
摘 要
本文借助DirectShow SDK9.0开发包在Visual studio 2013环境下编程,研究设计基于DirectShow的简易视频播放器。DirectShow软件支持多种媒体格式,像Wave、Mpeg、Avi、Mp3、Asf等格式都在范围内,使得用户可以轻而易举的回放多媒体数据。除此之外,DirectShow包含了DirectX大家族(比如DirectMedia、DirectPlay、DirectSound)的很多技术,支持数据摄像机的交换,DVD播放,以及视频的非线性编辑。
本文重点讲述了DirectShow的体系结构和工作原理,以及应用DirectShow开发流媒体播放器的具体过程。通过对系统的需求分析,得到了基于DirectShow媒体播放系统结构,实现了对常见媒体格式的支持,完成了基于DirectShow媒体播放器系统,并给出了关键步骤代码。
此外,基于COM(Component Object Model)组件规范的DirectShow,简化了流媒体应用系统的开发,缩短了开发周期,提高了系统的可扩展性和通用性。熟悉这些基本知识对于DirectShow应用的开发者都会有所帮助,而COM组件技术在从软件复用的角度看,定会有长足的使用价值,这项技术必将在今后有更广泛的应用。
关键词:DirectShow;Visual studio 2013;COM;流媒体播放器
Abstract
With the help of DirectShow SDK9.0 development package in the Visual studio 2013 environment programming, research and design based on DirectShow simple video player. DirectShow software supports multiple media formats, such as Wave, Mpeg, Avi, Mp3, Asf and other formats are in range, playback of multimedia data so that users can be an easy job to do. In addition, DirectShow contains a large family of DirectX (such as DirectMedia, DirectPlay, DirectSound) a lot of technology to support the exchange of data cameras, DVD player, as well as video nonlinear editing.
This paper focuses on the system structure and working principle of DirectShow, and the application of DirectShow to develop the specific process of streaming media player. Through the system needs analysis, design DirectShow streaming media playing system structure, realizes the common media format support, based on DirectShow media player system is presented, and the key step codes.
In addition, based on the COM (Object Model Component) component specification DirectShow, simplified the development of streaming media application system, shorten the development cycle, improve the system scalability and versatility. Familiar with the basic knowledge for DirectShow application developers will help, and COM component technology from the point of view of software reuse will have great value in use. This is a technology that will in the future have more extensive application.
Key Words:DirectShow;Visual studio 2013;COM;Streaming media player
目 录
第一章 绪论 1
1.1目的及意义(含国内外的研究现状分析) 1
1.2课题研究内容、预期目标 1
第二章 开发系统环境与平台介绍 3
2.1 Visual studio 2013 3
2.2 DirectX SDK 9.0 3
2.3 COM 4
第三章 DirectShow工作原理 5
3.1 DirectShow系统结构 5
3.2 Filter概述以及连接 6
3.3 DirectShow 的重要接口 7
第四章 视频播放器设计 8
4.1播放器主要功能 8
4.2播放器接口设计 8
4.3播放器设计的具体步骤 8
4.3.1Directshow的播放控制 8
4.3.2Directshow的暂停/继续控制 10
4.3.3Directshow的停止控制 11
4.3.4全屏播放的切换 12
4.3.5音量的设置 12
4.3.6视频播放进度在时间轴的显示 13
4.3.7视频播放点的调整 14
4.3.8小结 15
4.4 运行结果 15
结语 17
中外参考文献 18
附录:源代码 19
致谢 24
第一章 绪论
1.1目的及意义(含国内外的研究现状分析)
现如今,手机、MP4、平板、电脑等基于数字编码技术的多媒体应用已经在人们的日常生活中随处可见,其中视频播放属于最最基本的功能。
目前,基于PC的媒体播放器的一般组成结构为:一个普通的操作平台、一张视频采集卡、一台PC机及各种应用软件相结合。而在其开发过程中,广泛用到微软平台的DirectShow软件。DirectShow SDK是微软公司提供的一套在Windows平台上进行媒体信息处理的开发包,它支持播放高品质的媒体数据及拥有其它特殊功能,广泛应用于流媒体播放器的开发、多媒体流的高质量捕捉回放、视频点播技术等领域。其体系结构是由Rendering FiIter(播放过滤器)Transform FiIter(转换过滤器)、Source FiIter(源过滤器)和三大部分构成,通过向文件读写、修改数据和显示数据到输出设备上来操作流媒体。
DirectShow技术在一个多媒体软件开发中有着立竿见影的效果。现在,由于互联网上急剧增大的多媒体数据,以及用户增加了对实时性的需求,使得DirectShow技术愈来愈深入到多媒体程序的开发中。本编论文准备设计一个基于DirectShow的简易视频播放器,能够播放网络上大多数媒体格式,并且实现播放、暂停、停止、静音播放、步进播放以及调整图像大小等基本播放器功能,旨在设计出一个简单实用的媒体软件,优化播放器的大小,减少内存占用量,满足一般播放视频的需求。同时还可以根据自身爱好加入一些简单装饰。现如今,网络上各播放器功能一个比一个强大,导致界面杂乱、操作复杂以及很多平常人用不到的功能浪费了资源。因此,设计出一款别致的、贴近用户操作习惯的播放器非常值得去研究和开发。