毕业设计(论文)-视频文件播放系统的设计与实现(35页).docx
《毕业设计(论文)-视频文件播放系统的设计与实现(35页).docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)-视频文件播放系统的设计与实现(35页).docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-毕业设计(论文)-视频文件播放系统的设计与实现-第 28 页郑州轻工业学院本科毕业设计(论文)题 目 视频文件播放系统的设计与实现 学生姓名 专业班级 学 号 院 (系) 计算机与通信工程学院 指导教师(职称) 完成时间 2017年6月4日 目 录中文摘要I英文摘要II1 绪论11.1项目背景及意义11.2国内外视频开发研究现状11.2.1国外研究11.2.2国内研究31.3项目主要研究内容41.4论文组织结构52视频文件播放器相关技术和理论基础62.1 相关技术介绍62.1.1 Android 架构62.1.2 Android开发的重要组件82.2 开发工具与框架82.2.1 Androi
2、d Studio工具82.2.2 SQLite数据库92.2.3 Vitamio框架92.3 相关理论基础92.3.1 视频播放器原理92.3.2 FFmpeg视频编解码113 系统需求分析153.1 系统可行性分析153.2 用户需求分析153.3 系统用例图163.4 系统功能需求173.5 架构分析184 系统分析及系统结构设计与实现204.1 系统结构设计204.1.1 系统总框架图204.1.2 系统功能模块图234.2 系统功能设计234.2.1 视频直播功能234.2.2 视频播放功能264.3 E-R图设计284.4 数据库表结构设计284.5 开发环境配置295 系统测试与实
3、现305.1 测试环境要求305.2 功能测试305.3 项目实现结果305.3.1 显示本地视频列表305.3.2 本地视频的播放与暂停315.3.3 直播视频播放31结束语32致 谢33参考文献34附 录35视频文件播放系统的设计与实现摘 要Android手机有着广大的手机市场,安卓手机上的视频播放器也是种类繁多,用手机观看视频给我们带来了很大的便利。本次课题要在Android的基础上,采用MVC分层开发方式,配合Vitamio多媒体框架的使用,设计、开发一款绿色视频文件播放系统,使用户能够用手机播放各种格式的视频文件并且能够观看视频直播。本项目分为两大模块:本地视频播放和直播视频播放。其
4、中FFmpeg视频解码原理讲解了对于不同格式视频如何解码,视频播放器原理介绍了播放网络视频的流程。本课题设计并预期实现的功能有:不同视频格式文件的正常播放、快进快退、暂停、截屏功能,还可以观看直播视频。在项目完成后进行了全面的程序测试,根据测试结果显示出播放、暂停、快进快退、音量调节和直播功能可以正常运行。该系统完美支持多种格式的视频解决了手机用户方便快捷的观看本地视频和直播视频的需求,并且App中不附带任何广告插件。关键词 Android;视频播放;Vitamio;视频编解码DESIGN AND IMPLEMENTATION OF VIDEO FILE PLAYING SYSTEMABSTR
5、ACTAndroid phone has a vast mobile phone market, Android mobile phone video player is also a wide variety, with the phone to watch the video to bring us a great convenience.This topic on the basis of Android, using MVC development, with the use of Vitamio multimedia framework, design and development
6、 of a green video file playback system, users can use mobile phone to play video files in various formats and can watch live video.The project is divided into two modules: local video playback and live video playback. Among them, FFmpeg video decoding principle explains how to decode different forma
7、ts of video, video player principle, describes the process of playing network video. This topic is designed and expected to achieve the functions are: different video format files of normal playback, fast forward rewind, pause, screenshots, you can also watch live video.After the completion of the p
8、roject carried out a comprehensive program test, according to the test results show that the playback, pause, fast forward and rewind, volume adjustment and live function can be normal operation. The system supports video in a variety of formats, solves the need for mobile users to quickly and easil
9、y watch local video and live video, and does not include any ad plug-ins in App.KEY WORDS Android;Video Playback;Vitamio;Video Codec1 绪论1.1 项目背景及意义在科技高速发展的二十一世纪,掌握科技就掌握了社会发展的动力源泉,不知不觉中,我们在生活中也越来越依赖科技给我们带来的便利。在地铁、公交车上到处可见人人拿着手机看最新实况。人们可以通过报纸,新闻等等来获取信息,但是相比报纸,新闻最让人们喜欢,最简单直接获取信息的方式就是视频,比如最出名的社交网站YouTub
10、e正是通过各种类型的视频来传播信息,就算是刚刚发生的事情,在 “视频+互联网”的方式下也能在几小时内传遍世界。这就是视频作为信息载体的魅力所在。既然“视频+互联网”的方式能让信息在几小时内快速传播,如果通过人人拥有的手机那么更能加快信息的传播,使人们在何时何地都能分享最新、最重要的视频。众所周知,现如今的智能手机上都有视频播放器,但是那只是功能简单,画面单调而且大都只支持的常见的视频格式,对于少见的视频格式的视频就不能播放,而且如果想观看最新信息的视频就要在另一个App上观看,这样做不方便用户。并且,最让用户反感的是App捆绑广告,用户体验相当不好。所以,本项目目的就是开发一款能观看各式各样视
11、频格式并且可以观看直播的绿色无广告的视频播放器。1.2 国内外视频开发研究现状经调查资料发现,国内外的视频播放器中大多都用到了FFmpeg或者VLC作为视频解码器李刚.基于Android平台的智能手机流媒体播放器的研究及实现D.南京南京邮电大学, 2012, 20-21.。但是这两款软件的功能远不止这些,简单举例,FFmpeg有采集视频功能、视频格式转换功能 Tomar S. Converting Video Formats with FFmpeg J. Linux Journal, 2006, (03):93-94.、视频截屏等功能。VLC同样支持各种类型的音频与视频Decoder,还支持各
12、种各样的流式协议 SteveApp. VLC media player GuideS. 2014, 50-52.。国外知名的视频播放软件有PotPlayer,国外的主流播放器有暴风影音,一下为这两款软件用到的技术和特点简要介绍。1.2.1 国外研究国外的视频播放器排名不错的有一款叫做PotPlayer的播放器,下面就列举些它的一些功能和用到的技术 PotPlayer Official website, PotPlayer AboutOL 。表1-1 PotPlayer播放器用到的功能及技术序号特色功能用到的技术1多个文件一次性读取,流畅播放。支持视频硬件加速规范DXVA,用到了视频硬件编码技术
13、 QuickSync 等等,在原有配置下体验最优表现。2双声卡时,可自定义输出。支持大量不同型号的3D眼镜;连接电视或电脑立即享受3D视觉盛宴;支持Side by Side, Top and Bottom,Page Flipping等输出。3支持其它硬件设备播放(DVD、 TV、 HDTV)。支持文字字幕SMI,SRT;Vobsub(DVD),蓝光SUP字幕等多种字幕资源;支持 ASS/SSA 动画以及SMI ruby tag。4支持Direct3D9 Ex Flip Mode, Overlay 功能。支持OpenCodec,用户自定义添加需要的编解码器。从表1-1中我们可以得知,国外的这款P
14、otPlayer播放器它的亮点是:用到了视频硬件解码。与硬件解码相对的是软解码,软解就是用“电脑的心脏”来解码视频。硬解码就是用电脑上的核心显卡担任解码的工作,使用硬解码的优点是提高了视频解码的效率,并且大大降低了解码的功耗。软件功能:1、支持32位和64位系统。 2、内置硬件加速解码,支持MPEG1/2(IDCT/MoComp),WMV2(MoComp),WMV3(IDCT/MoComp),VC-1(IDCT/MoComp/VLD),H.264/AVC1(VLD)。3、内置 E_AC3 音频解码。4、网络流媒体播放支持。5、播放H264、VC1、MPEG I II TS PS 等编码,只要使
15、用设定内建硬解都可顺利硬解,不用其它解码器。6、可以较完整的支持 ASSSSA 字幕,不会发生 KMP 中字幕被截断的问题,但依然支持不完全。1.2.2 国内研究表1-2 暴风影音播放器公司用到的核心技术序号技术名词技术用途技术特点技术水平技术来源1解码方式优化技术用于视频文件的多 种格式播放,体现万能播放功能1、支持视频格式超过 680 种 2、选择优解码方案,视频播放画质的质量高 3、自动扩展新视频格式业内领先引进消化吸收再创新2暴风“左 眼”技术用于实时增强画质 清晰度,让用户在观 看普通视频时感受到高清效果1、实时动态增强视频画面的 色度、对比度、轮廓、纹理等 要素,使播放画面更清晰
16、2、降低 CPU 占用,播放画面 更流畅 国际领先集成创新3暴风快速播放技术用于减少播放前等 待时间,增强用户使用体验1、快速分离音频与视频数据 2、快速匹配优解码方案业内领先引进消化吸收 再创新4暴风3D播放技术用于3D视频格式的 播放,体现 2D 转 3D,3D 播放功能1、支持普通 2D 视频转 3D 2、支持红蓝、偏振、快门、 投影等输出设备 3、支持用户本地文件、在线等各种视频源业内领先引进消化吸收 再创新通过表1-1和表1-2中列举出的PotPlayer和暴风影音播放器这两款播放器用到的技术,可以看出来:1. 播放器中最重要的是要有性能优的解码器,但是它们万变不离其宗,都引用了FF
17、mpeg作为自己的解码器用来使播放器支持多种视频格式,由此可见FFmpeg的确是一款性能优越的解码器;2. 这两款软件都谈到了3D视频播放技术,最近几年3D技术席卷了影视行业,对传统的播放器、电影院造成了巨大冲击,所以说3D技术是视频播放的一大主流;3. 弹幕技术也成为视频行业的主流,弹幕技术最早出现在日本的一个视频网站,后来在中国直播行业越来越火,更是推动了“弹幕潮” 王佳琪. 基于弹幕视频网站的弹幕文化研究D. 山东:山东师范大学, 2015, 30-31.,相信看过直播的人都知道弹幕的威力,所以说在视频播放器中引用弹幕技术,无形中推广了自己的播放器;4. 视频播放器仅仅支持播放本地视频是
18、不够的,为了方便用户观看本地没有的视频,还要支持网络视频的播放,甚至有些播放器还支持播放中央卫视和地方卫视。基于这两款优秀播放器的技术,考虑到本项目要支持多种视频格式的播放,所以用到了底层是FFmpeg的多媒体框架Vitamio。FFmpeg并不是用Windows系统开发的视频编码解码库,而是用Linux操作系统来开发的,它功能强大,有音视频录制和编码格式转换等功能。既然国内外两款主流播放器都用到了FFmpeg,那么无论是口碑还是质量都是不错的。将本项目中引用FFmpeg就等于是站在“巨人的肩膀”上,可以省事省力还可以加强性能。1.3 项目主要研究内容在通过对视频播放系统实现的同时,研究其中用
19、到的技术,分析项目中的问题所在并且及时根据需求进行问题的修改。本课题的主要内容为:(1) 按照需求的要求设计并实现视频文件播放系统;(2) 使用分层思想Model-View-Controller对项目进行模块划分;(3) 列举出要实现的功能,设计出用户喜欢的界面;(4) 研究视频编码、解码的方式。本次毕业设计使用开发软件是Android Studio使用到了多媒体框架Vitamio来搭建视频播放器开发环境。根据需求阐述,要开发出基于Android平台 汪永松. Android平台开发之旅M. 北京:机械工业出版社, 2010, 55-56.的视频文件播放系统。基本思路介绍如下:第一步:程序运行
20、时进入主Activity,这时会运行onCreate()方法,onCreate()方法是在Activity启动时调用的第一个方法,这个方法的用途就是进行一些必要的初始化操作。在该方法中调用初始化方法View initviews()初始化播放界面,初始化Video设置方法initVideoSettings()和加载数据initDatas()等方法,界面上就会显示出本地视频和直播视频地址 陈增锋. 基于Android系统的视频播放器开发J. 北京:信息系统工程, 2015, (03):23-24.;第二步:点击视频列表中的某一个视频,程序会促发对点击事件onItemClick()的监听指令_lis
21、tView.setOnItemClickListener(),该指令促发后会进行视频文件的播放;第三步:在播放视频的时候可以Adjust the brightness、Adjust the volume、Fast forward、Rewind、time out和Play,在选择观看直播时还可以进行开启弹幕等操作;第四步:播放结束后,VideoView对象进入了onDestroy()状态,此时退出到视频文件列表界面,等待用户点击下一个视频进行播放。1.4 论文组织结构第一章绪论主要介绍项目背景及意义、国内外视频开发研究现状、项目主要研究内容和论文组织结构。第二章主要介绍项目的相关技术、开发工具与
22、框架和相关理论基础。第三章是主要介绍了系统可行性分析、用户需求分析、系统用例图、系统功能需求以及架构分析等。第四章是系统结构设计、系统功能设计、E-R图设计、数据库表结构设计和开发环境配置。第五章主要介绍了测试环境要求和主要功能实现。2 视频文件播放器相关技术和理论基础2.1 相关技术介绍2.1.1 Android 架构既然我们要开发Android项目,就要了解什么是Android,它的架构是怎样的。如图2-1所示Android的架构分为四层:LinuxKernel、Libraries/Android Runtime、Application Framework和Applications 曾健平
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 视频文件 播放 系统 设计 实现 35
限制150内