基于Android的网络TV和视频分享系统设计与开发毕业论文
2020-03-09 10:22:47
摘 要
目前,人们对于手机的需求不再仅仅局限于计时、语音通话、收发短信等简单功能。智能手机的出现,使得手机变得越来越像电脑。视频观看就是其中的一项受到用户喜爱的功能。相关调查表明,几乎所有手机用户都有过使用手机观看视频的经历。因此,视频应用领域在移动领域中是十分有前景和实用价值的。
目前移动终端的视频应用主要集中于电视直播与视频点播这两大领域。随着手机设计技术与制造工艺的进步,手机的内存容量越来越向PC靠近,手机镜头的像素越来越向专业级相机靠近,基于用户拍摄视频并上传分享的应用需求将会越来越大。同时,鉴于Android拥有全球第一的市场占有率,设计一款基于Android,同时具有电视直播与视频分享的应用很有必要。
本论文主要围绕电视直播与视频分享的应用的整个开发流程展开,包括技术方案的选用,系统的分析、设计以及具体的代码实现过程。
该系统的完成,满足了大众用户对于在移动设备上体验一款轻量级的多功能视频观看平台的需求。在手机上观看电视直播或进行视频分享将极大地提高普通用户日常生活中碎片时间的利用率,丰富用户的生活娱乐与社交网络。
关键词:电视;视频;分享;点播;Android;
Abstract
At present, people's demand for mobile phones is no longer limited to simple functions such as timing, voice calls, and sending or receiving short messages. Mobile phones have been made more and more like computers with the emergence of smart phones. Video be watched by phone is one of the user-friendly features. Related research shows that almost all mobile phone users have had the experience of using mobile phones to watch videos. Therefore, the field of video applications is a very promising field in the mobile field.
At present, video applications of mobile terminals mainly focus on the two major fields of live television and video on demand. With the advancement of mobile phone design technologies and manufacturing processes, the memory capacity of mobile phones has been made increasingly closer to PCs, and the pixels of mobile phone lenses has been made increasingly closer to professional-grade cameras. The demand for applications based on users capturing videos and uploading and sharing will become more and more big. At the same time, given that Android has the world's largest market share, it is necessary to design an Android-based application with live TV and video sharing.
This paper is mainly focused on the entire development process of TV live broadcast and video sharing applications, including the selection of technical solutions, system analysis, design, and specific code implementation process.
The completion of the system meets the needs of mass users for experiencing a lightweight multi-functional video viewing platform on mobile devices. Watching live TV broadcasts or video sharing on mobile phones will greatly increase the utilization rate of the fragmentary time in the daily life of ordinary users and the users' life entertainment and social networking will be enriched.
Keywords: TV; video; sharing; on-demand; Android;
目录
摘要 I
Abstract II
第1章 绪论 1
1.1 背景及意义 1
1.2 国内外研究现状 1
1.3 预期目标 1
第2章 开发技术和工具介绍 2
2.1 Android 2
2.2 Java语言 2
2.3 Bmob云平台 2
2.4 Vitamio框架 2
第3章 系统分析与设计 3
3.1 需求分析 3
3.1.1 需求概述 3
3.1.2 功能需求 3
3.2 系统总体结构 7
3.2.1 登录注册模块 8
3.2.2 内容观看模块 8
3.2.3 个人管理模块 8
3.2.4 视频审核模块 8
3.3 数据库设计及其说明 9
3.3.1 数据库概念结构设计 9
3.3.2 数据库表设计 10
3.3.3 数据库模型 12
3.4 界面设计 12
3.4.1登陆界面 12
3.4.2功能选择界面设计 13
3.4.3电视直播功能界面 13
3.4.4视频节目功能界面 15
3.4.5 个人视频管理模块 17
3.4.6 管理员功能界面 17
3.5 设计难点和技术解决方案 18
3.5.1 如何解决视频播放过程中的网络不稳定导致的卡顿缓冲问题 18
3.5.2 如何解决获取视频的第一帧缩略图的问题 19
3.5.3 如何解决自从Android6.0之后系统权限需要动态获取的问题 20
第4章 系统实现 21
4.1 界面的实现 21
4.2 主要功能的实现 21
4.2.1 识别应用启动环境 22
4.2.2 登录/注册功能 22
4.2.3 电视频道列表显示 24
4.2.4 Activity之间的活动跳转 24
4.2.5 视频的播放及缓冲处理 25
4.2.7 获取视频的缩略图 26
4.2.8 弹幕推送功能 28
第5章 结束语 30
参考文献 31
致谢 32
第1章 绪论
1.1 背景及意义
移动通信技术的进步使得人们对于移动终端的需求不再仅仅局限于语音通话和即时收发短信,移动终端也日益成为了互联网的终端[1]。日常的观察发现如今人们经常使用移动智能设备观看视频节目。当前移动终端视频领域的应用主要集中于网络TV和视频点播这两种较为传统的业务模式,但随着手机性能的提高,基于用户本地拍摄的视频内容方面的应用需求将会越来越多[2]。如何更便捷地将手机中的视频发布和分享,这将成为下一个视频业务应用的热点。当前,Android系统拥有着手机操作系统领域绝对的市场份额,开发出一款集电视直播、视频分享等功能的基于Android的网络TV和视频分享系统是非常有前景和应用价值的。
1.2 国内外研究现状
在国外,Instagram在图片分享领域获成功后,创业公司们纷纷意识到分享模式的正确性,并且将此模式运用到视频分享领域。其中的两家巨头公司为——Viddy和SocialCam。Viddy与Instagram的运作模式不约而同地为用户可以拍摄一段时间短于15秒的小视频、可以对视频进行画面的处理、配上喜爱的音乐,然后在上传分享在其他社交网络上,如Facebook、Twitter以及YouTube[2]。
在国内,抖音是目前比较流行的短视频拍摄与分享软件,它是由北京字节跳动科技有限公司开发的一款音乐创意短视频社交软件,用户可以先选取喜欢的音乐,然后自行拍摄15秒的音乐短视频形成自己的作品,上传发布至自己的个人平台。类似的,国内目前还有快手,腾讯微视,火山小视频等视频应用,不过市场份额较小,正处于用户积累期。
综合对国内外最具代表性的视频社交功能软件的分析可以看出,视频社交软件在用户群体中具有很高的响应度,并且具有良好的市场前景[3]。
1.3 预期目标
使用Android技术、Java语言实现一款基于Android系统的适用于手机、平板等手持设备的网络TV与视频分享系统。该系统应该能够很好地完成用户对于电视收看以及视频上传、分享与点播的功能,即包括电视频道的播放,缓冲处理,电视频道的自定义添加,本地视频的上传分享,播放,视频权限控制,在线视频点播,用户互动,管理员视频审核等具体功能。
第2章 开发技术和工具介绍
网络TV与视频分享系统是基于Android的C/S模式的系统。开发过程中使用的开发环境为Android Studio3.0,客户端逻辑实现使用Java语言,界面设计使用了XML语言。服务器端选择使用Bmob云后端作为系统的在线服务器与后台数据库,在有网络请求时,客户端使用HTTP协议向服务端发出数据请求,服务器端获取到用户请求后,将用户所需数据传回Android客户端。系统的视频播放功能的实现采用目前成熟的多媒体开发框架Vitamio(维他命)。
2.1 Android
Android是谷歌公司发布的基于Linux平台的开源移动设备操作系统。从2007年至现在,已经发布了十多个更新版本,目前最新的版本为Android8.0。由于Android系统自身的开放性、丰富的硬件支持、对开发者友好和丰富的谷歌应用等优势,使得它在各行各业都受到企业的青睐。目前,Android占据着移动终端操作系统全球第一市场份额[4]。
2.2 Java语言
Java语言是SUN公司在上个世纪90年代推出的一种面向对象编程语言。Java技术发展成熟稳定,到目前为止,全球使用Java的开发者数量稳居首位。采用Java语言进行Android开发,这对Android平台的推广具有极大的促进作用。值得一提的是,Android开发中使用的Java不同于熟知的采用JVM技术,而是Android特有的DVM技术,二者语法极其相似,开发人员无需额外的学习成本,但是内部机制并不同[5]。
2.3 Bmob云平台
Bmob是国内“比目科技”开发的一款BaaS模式的移动应用云存储平台。本系统采用Bmob作为服务器进行客户端的需求响应与数据存储服务[6]。在移动应用中使用官方SDK和调用,存储和下载网络数据非常方便。目前Bmob提供的服务主要有:
2.3.1数据服务
Bmob为服务器端数据表提供了可视化设计界面,并且支持多种常见类型的数据存储:字符串、整数、数组等。
2.3.2 文件服务
Bmob文件服务提供存储图片、视频、音频、文档等服务。通过API接口和多语言SDK,用户便可以使用快速可靠的数据存储服务。协同CDN加速服务,提高文件访问的响应速度和可用性,使用户能够更快地加速整个站点访问。
2.3.3云函数服务
Bmob提供开发人员管理后台,通过编写JavaScript或java代码和部署的Bmob后端云平台,方便个人或企业要求实现创建云服务功能。使用云函数代码片段可以更容易更新维护应用程序。
2.4 Vitamio框架
Vitamio是目前比较成熟的移动应用多媒体开发框架,全面支持硬件解码与GPU渲染,它具有简单易用的API接口,赢得了世界各地许多开发者的青睐。到目前为止,已经有超过一万个应用程序在世界上使用该框架,覆盖超过5亿用户。
Vitamio基于FFmpeg作为媒体解析器与解码器,支持软、硬件解码和GPU渲染,性能强劲。能够流畅播放720P甚至高清视频,支持多种常见视频格式,例如RMVB、MKV、MP4等。除此之外还支持多种视频流媒体协议,例如RTSP、M3U8等。本系统使用Vitamio框架作为电视直播与视频点播功能实现的技术方案[7]。
第3章 系统分析与设计
本论文的系统分析与设计环节将围绕本论文介绍的基于Android的网络TV与视频分享系统进行详细的需求分析,构建系统用例活动图;对该系统的总体结构进行模块分化;对系统的数据库进行了详细分析与设计,并构建数据库E-R图与数据库全局模型;最后,对系统应用各操作模块的设计界面进行了集中的展示。
3.1 需求分析
3.1.1 需求概述
移动通信技术在最近几年获得了迅速的发展,人们对于移动终端的需求不再仅仅局限于语音通话和即时收发短信,移动终端也日益成为了互联网的终端。通过日常的观察,经常可以看到人们使用智能设备观看视频节目。当前移动终端视频领域的应用主要集中于网络TV和视频点播这两种较为传统的业务模式,但得益于手机设计、制造技术的飞速进步,日常使用的手机的摄像头像素已经堪比专业相机,存储空间也变得越来越大,无线网络覆盖也越来越完善,基于用户手机本地拍摄视频内容方面的应用需求将会越来越多。更加便捷得将手机中的视频发布和分享,这将成为下一个视频业务应用的热点。倘若将电视直播、视频分享与点播等功能集于一体,将极大地丰富用户体验,满足用户的娱乐需求。
3.1.2 功能需求
本部分通过系统用例图以及各用例的活动图对系统的功能需求进行详细分析与设计。
3.1.2.1 系统用例图
用户在使用该系统时,应该具有收看电视直播,点击播放视频节目,对视频进行评论,管理本地视频,视频内容分享等功能选择;此外,添加管理员用户,用于对用户上传的视频进行审核[8]。基于上述用户需求概述,可以得到如图所示的系统用例图3.1。
3.1.2.2 登录/注册活动图
点击应用进入系统,用户首先需要选择是登录还是注册,若是注册,则跳转到注册模块,输入用户名和密码进行用户信息注册,注册成功后系统会自动跳转到之前的启动界面,已注册用户选择登录。在登录界面,用户需要输入之前注册的用户名和密码,点击确定后系统向服务器端的数据库发送数据并匹配账户信息是否存在,若存在则直接进系统功能选择界面,若不存在则提示用户输入信息有误,并清空输入栏供用户重新输入。由此,用户
图3.1 系统用例图
登录/注册的活动图如图3.2所示。
图3.2 登录注册活动图
3.1.2.3 节目播放活动图
用户在登录成功后,便进入到功能选择环节。首先,用户需要选择收看网络电视直播还是点播其它用户上传的在线视频。若是选择收看网络电视直播,则系统将跳转至频道选
择列表,列表中有系统内置的电视频道,接下来用户根据频道的名字选择喜爱的频道点击即可播放;若是选择点播在线视频,则系统将跳转至在线视频的选择列表,用户通过滑动屏幕即可浏览当前所有用户已上传的视频内容,根据列表中展出的视频信息,选择用户感兴趣的视频点击即可播放[9]。上述选择节目播放的活动图如图3.3所示。
图3.3 播放功能活动图
3.1.2.4 上传本地视频活动图
用户在功能选择界面中选择相应的功能进入个人视频管理模块,用户在个人视频管理模块,可以从系统获取的本地视频列表中选择喜爱的视频内容进行上传。由于视频上传默认为私人模式,视频内容仅用户本人可见,待视频成功上传后,用户可以决定是否修改视频的观看权限。上述的用户上传本地视频的活动图如图3.4所示。
3.1.2.5 删除在线视频活动图
用户在功能选择界面中选择相应的功能进入个人视频管理模块,用户在个人视频管理模块,可以从系统获取的已上传视频列表中选择想要删除的视频或上传后管理员未审核通过的视频点击删除。上述的用户删除已上传视频活动图如图3.5所示。
图3.4 用户上传本地视频活动图
图3.5 用户删除已上传视频互动图
3.1.2.6 管理员审核上传视频活动图
管理员用户的登录有独立的账号与密码,管理员用户登录后,立即进入视频审核模块,在视频审核模块内,管理员对用户已上传的且权限为公开的视频拥有审核权,对不符合要求的视频内容可以进行删除。管理员审核上传视频的活动图如图3.6所示。
图3.6 管理员审核视频活动图
3.2 系统总体结构
根据上述功能需求分析的内容,可将本网络TV与视频分享系统分为四大功能模块,分别为:系统注册登录模块,节目观看模块,个人管理模块,视频审核模块。如图3.7所示。图3.7 系统功能模块图
3.2.1 登录注册模块
本系统需要用户使用个人账户登陆才可使用。首次使用本应用的用户需要在注册页面进行身份信息的注册,注册时填写用户名、密码等信息。用户名信息可以为用户个人的邮箱账号或者手机号,密码为8到12位的数字组成。系统反馈注册成功后将自动回到登录界面,用户只要将刚才注册时账户与密码填入后即可成功登陆应用。
3.2.2 内容观看模块
本模块分为两个子模块,一个为电视直播收看模块,一个为在线视频观看模块。
用户选择电视直播模块,即可通过系统自带的频道列表,点击喜爱的电视频道进行观看。同时,本系统还拥有用户自定义频道功能,用户可以根据自己的需求,自定义添加喜爱的按时系统并未内置的电视频道,且一次添加后,系统将永久按个人账户保存,下次选择电视直播时依旧可以观看。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: