基于Android的视频分享平台的设计与实现

基于Android的视频分享平台的设计与实现

摘 要

短视频平台是以特定群众为目标的差异化群体定位工具。其利用自身的便捷性可以实现视频的随时拍摄和随时上传,可以产生亚文化圈的萌芽。这种开放便利的特性在吸引了广大用户的同时,也在一定程度上解决了由于工作压力大而产生的休息时间碎片化问题。
现如今短视频平台逐渐融入了人们的生活,但其中的内容参差不齐,再加上疫情原因,人们对于各式短视频的需求再次增长,这些需求也从简单的满足空闲时间逐渐转变为了对视频有明显的选择倾向,因此各大视频平台在做好自身推荐算法机制的同时,逐渐把目光放在了自身的定位上。所以针对于特定群体开发的具有目的性的平台有其存在的必要,在这种特定的平台上可以更加充足的满足特定群体的需求。因此为建立和谐校园环境,一个简单的视频平台有存在的必要。
本系统开发过程中使用了 Eclipse、Navicat、Android Studio、mumu 模拟器和 MySQL数据库以及 JFinal 框架等作为开发工具。本软件划分了超级管理员、管理员、用户三种权限。超级管理员拥有对用户账户进行操作的权限,这一权限可以对用户账户的可用性,权限等级进行修改,同时也能查看用户账户内的代币数量;管理员拥有视频管理和论坛管理的权限,前者可以对视频进行本地化审核以及网络化上传,后者可以对论坛的帖子进行内容管理;用户拥有上传视频的功能,可以修改个人信息,可以查看他人上传的视频,也可以根据上传的视频获取代币。代币是标识视频受欢迎程度的一个标志,视频除了代币作为标志以外还有“推荐数”这一标识,二者都可以根据视频的推荐程度进行辅助筛选。另外本程序还内置社区功能,其内置的小型贴吧是一个发帖和回复的集合体,可以被用户所使 用,也可以被管理员用于发布最新通知。最终经过测试,结果显示,该程序可以实现视频的观看和上传,可以实现论坛帖子的发表和回复,方便人们的日常生活,可以促进独具特色的校园氛围的形成。

第 1 章 绪论

1.1 系统开发背景

本系统是以面向特定用户为主向学生及教师提供沟通平台和生活线下娱乐等工作为目的而搭建的,它主要面向全体师生,用于打造学校自身群体的共同兴趣爱好以及分享以学校为中心的各种奇闻轶事。传统视频平台已经完成了绝大部分的内容,但 是它们针对的是社会大众,受众广的特性必然使得它们无法完全贴合某一类人群的诉求。并且,根据调查显示,绝大部分人的碎片时间都花费在了小视频上,既有的平台提供了的是广度,而本系统可以让使用者了解身边发生的新鲜事加强网络与现实的联 系感。
本系统是由学生和教师为主导的时评软件,可以加强学生间、教师间、师生间的沟通,可以作为一个沟通的桥梁,上传内容由相应管理员进行审核,确保质量过关。因此,设计与开发一个基于安卓的视频平台有助于多方沟通,很有必要。

1.2 系统开发意义

本系统搭建一个便于师生交流、学生文化圈的视频平台,以个人为单位进行用户注册,管理员的角色由相关专业承担,因为这一角色需要进行视频的审核以及上传至网络服务器的工作。由于视频操作管理员本人只能在服务器本机上进行,但是论坛可 以在任何位置进行访问。用户进入程序后可以进行视频的观看,如果不进行登录或者注册则无法进入在论坛中评论,也不会拥有代币,因此无法对视频进行赋予代币操作。关于代币:代币本身是由上传视频获得,或者之前上传的视频收到他人的代币所获得。所以本系统对于小领域的交流互通方面有以下意义:
(1)大学生容易产生灵感,从而催生作品,本系统就是立足于这一点激发某一个小圈子的活力从而形成属于这一群体的文化圈。
(2)管理员可以对内容进行随时监管,同时稿件本身需要进行审核才能上传,在一定程度上可以强化内容的规范性。
(3)用户可以对于自己喜爱的作品进行赋予代币操作,这种方式可以在一定程度上反映学生的爱好或是诉求,根据视频的反馈数据可以进一步了解学生对于事件的看法从而达到上下级的沟通作用。
(4)除此之外,本平台拥有一定的对外宣传作用,并且也可以进行多种其他宣传内容的搭载。

1.3 国内外研究现状

现阶段国内外存在各式各样的视频应用以及网站,它们大多受众广,公众的碎片化时间被最大限度的利用,这些时间对于短时广告来说十分合适,直播带货的出现让这种现象变本加厉,更有甚者用低质量的视频博人眼球从而获得流量,然后利用获得的流量进行“变现”,从而获得下一阶段的启动资金。这一行业正处于风口浪尖之上,几年间不断更新换代,发展势头迅猛,并且逐渐在竞争中拿到了自己的受众。目前国内外的视频平台主要分为以下几种:
(1)在线分享类视频。其中国外比较有代表性的例子是 YouTube,国内是BiliBili。这类应用本身拥有广阔的基础,首先是 YouTube,它是于 2005 年在美国出现的一个视频网站,最开始仅仅由 PayPal 的三名员工创建,后来随着互联网热潮的兴起,它 于 2006 年被谷歌所收购,再后来在 2010 年开始提供电视剧以及电影等服务,在支持用户上传兴趣视频的同时也为商家开通了赚钱的渠道。然后是 BiliBili,俗称 B 站,于 2009 年创建,早期是一个 ACG 内容创作与分享的视频网站,同时它也是本系统所借鉴的最主要原型,它更多的是宣传弹幕文化,也就是提升视频的交互性,在看到别人创作作品的同时听到其他人对此的感想由此获得一种找到自己圈子的融入感,本系统的宗旨也是给用户带来相似的融入感,只不过 B 站给我们的融入感是通过即使弹幕的形式所体现,而本系统是通过与现实生活之间紧密的关联所维系的。
(2)短视频直播类。其中短视频类的代表者是抖音和快手,这两者的优势都是在 于最大化的利用了用户的碎片时间,用信息轰炸的方式带个人们最直观的体验,从而满足人们最现实的需求。并且这种短视频传播了一种物质至上的理念,它在最大程度上和在移动或者短时休闲状态下观看,通过高频推送内容,融合了各种片段后利用算 法的高精度推荐来巩固自己的用户群。短视频的兴起的其中一个因素是 4G 网络的普及所导致的移动流量的提高,从而使得需要大量流量的视频也成为了人人都可以消费的内容。它是一场由快手发起的被抖音发扬光大的浪潮,在这一场浪潮下,人人都是创作者,每个人都可以分享自己的生活,不需要进行太多的修饰也不需要太多的能力,只要愿意分享,每个人就能成为名人。但也正式因为这种过于开放的形式,它的内容开始参差不齐,从而需要更多的监管。另外针对于直播,在中国除了上述两者还存在着斗鱼以及虎牙这种老牌直播平台,但它们的目光更多的在于游戏行业,并没有把注意投射到短视频中,这也就间接导致了它们的衰弱。

1.4 课题主要研究内容

在对视频平台现状进行了解后,开展了视频分享平台的研究,最终设计实现了本平台。本课题的研究内容如下:
系统主要为 C/S 架构,分为在用户手机上应用的客户端,和运行在服务器上的服务端,其中服务端分为文件服务器和普通服务器,普通服务器负责承载一级文件传输,用户的上传文件都会先传输到普通服务器上,经过管理员审核后上传至文件服务器,此后用户可以在客户端看到自己上传的内容,也可以查看其他用户上传的内容。其中,超级管理员负责在基于JFinal 的网页后台进行用户权限的修改和用户账户可用性的修改,普通管理员在同样的网页后台进行视频的上传审核以及可用性修改工作。具体包括以下内容:
(1)超级管理员可以对账号的权限进行修改,也就是可以指定哪一个账号是管理员。同时超级管理员没有管理员所拥有的管理视频的权限。
(2)普通管理员可以进行网页端的后台登录,登陆后可以对视频后台进行审核管理,以及对论坛模块的讨论帖子进行增删改查等操作。同时也需要负责审核完成后视 频上传文件服务器的操作。
(3)用户可以依靠服务端的客户端进行登录,也可以不登录直接观看视频,但如 果不进行登录,则无法进行代币的投放操作,同时也无法在论坛页面进行帖子的发放。如果没有账号,在注册时填写自己的用户名和手机号以及密码,此时需要向手机号发 送验证码,此验证码会通过外包的短信服务器接口发送至相应号码,填入验证码后即可注册。注意,每一个手机只能注册一次。注册完毕后即跳转登陆页面,输入密码即可登录,如果忘记密码则点击忘记密码按钮并输入手机号,与上述进行一样的操作接 收验证码并输入即可完成密码的修改。登陆后,进入个人页面用户就可以进行视频的上传和进行查看自身上传的其他视频等操作。

第 2 章 相关技术介绍

2.1 安卓技术

安卓系统架构依次分为以下四个层次:
(1) 第一层——Applications,应用程序集合
Applications 层是 Android 的应用层,是 Android 系统自带的一系列核心应用程序的集合,主要以 Java 语言编写的,它包括日历、地图、浏览器、联系人管理程序、电子邮件程序、短消息程序等。这是 Android 系统给用户提供的手机基本功能的软件集。
(2)第二层——Application Framework,应用程序框架
Application Framework是Android平台专门为应用程序的开发而设计的,它可以允许开发人员访问核心应用程序所使用的 API 框架。该应用程序的架构设计简化了组件的重用任何一个应用程序都可以发布它的功能块,并且任何其它的应用程序都可以使用其所发布的功能块(需要遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
(3)第三层——Libraries(类库)和 Android Runtime(Android 运行时组件),其工作原理如图所示:
基于Android的视频分享平台的设计与实现_第1张图片

2.2 MySQL 数据库

MySQL 是一款安全、跨平台、高效的,能与 PHP、Java 主流编程语言紧密结合的数据库系统,在使用过程中操作简单、灵活、与相关软件集成程度高。可将用户界面图形化,用户使用时能够一目了然,使用户对数据库的管理更加方便、快捷,也能迅速检查出系统代码中连接数据库存在的错误。

2.3 JFinal 框架

JFinal 采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形式。JFinal 由 Handler、Interceptor、Controller、Render、Plugin 五大部分组成。
JFinal 架构十分简单,顶层是一个责任链模式变种,ActionHandler 内部结构也十分简单,是一个 Command 模式变种。JFinal 架构图如下:
基于Android的视频分享平台的设计与实现_第2张图片

第 3 章 系统分析

本系统的开发主要为师生提供一个专属于学校的视频平台,为了使人们更加愿意与彼此交流并且更加有效的形成属于学校自身的风气特点等,有效提高师生、学生间的交流频率,促进学校风气良好发展。

3.1 系统可行性分析

3.1.1 经济可行性

本平台租用阿里云作为文件服务器使用,并没有花费大量资金,其中后台项目暂时部署在 Eclipse 自带的 Tomcat 服务器上暂时可以避免外包服务器所产生的管理费用,最后短信服务暂时可以采用一种直接发送给本机号码的方式进行验证。

3.1.2 操作可行性

客户端使用了 Android Studio 所提供的前端页面适配,基本可以适用于不同型号的手机,网页形式的应用后台操作需要一定的电脑操作水平,需要执行视频文件的审核以及上传工作。为方便用户体验,客户端的按钮都进行了一定程度上的放大,以防止误触。界面设计上主要采用黑白灰以及深蓝色的配色,较为简洁。

3.1.3 技术可行性

系统主要采用 Android Studio,Eclipse,Navicat for MySQL 数据库操作软件等工具进行开发。其中使用 Android Studio 进行客户端前端框架的开发以及客户端主体功能的实现。Eclipse 用于服务端的开发,以及后台的实现。其中后台和服务端共用一个数据库,此方式可以最大程度上的方便用户进行编辑。视频播放采用较为高级的播放器而并非平台自带,需要网络 URL 来确保视频的播放流畅,网络 URL 在上传视频之时即存储入数据库中,在后台管理员审核并上传至文件服务器后,确保此视频行被激活并可以选出相应视频内容。

3.2 系统需求分析

本系统分为超级管理员,管理员,用户三种权限,超级管理员主要实现对系统用户权限以及系统用户可用性的修改,管理员主要实现对视频的审核和上传业务,以及管理用户论坛,用户主要进行文件的上传以及论坛中帖子的发表和回复。

3.2.1 超级管理员模块

超级管理员可以进行用户层面的管理,其中包括赋予用户管理员权限,废弃以及修改用户表内容,如图所示:
基于Android的视频分享平台的设计与实现_第3张图片

3.2.2 管理员模块

管理员模块较为复杂,首先管理员本身需要对后台进行常规性的操作,其中包括设置视频本身的可用性以及对视频内容进行审核,符合上传条件的视频首先需要被点击审核按钮后进行上传,上传完毕后还需要点击上传完毕确认按钮进行确认,除此之外也拥有对用户发出的帖子进行管理的权限,如图所示:
基于Android的视频分享平台的设计与实现_第4张图片

3.2.3 用户模块

用户拥有最多的功能,首先用户可以进行自身手机号的注册,使用短信+验证码的方式进行验证,并确保此手机号未被注册过。其次是用户密码的找回,这一功能与注册类似,发送短信等其他工作都与注册近乎一致;第二是用户的个人页面,此处拥有查看用户个人稿件、上传用户稿件、退出用户登录等接口,以及修改用户头像和昵 称;第三,主页有一个用于显示上传视频的列表视图,这里默认选出按照时间排列的最新的五个视频,除此之外可以切换为按照点赞数或者按照代币数最高显示,点击进入具体页面后,可以从播放器中观看相应视频,以及对视频进行点赞操作和给与代币操作,但这两种操作一定是在已经登录的前提下完成。最后,论坛页面,这里可以查 看其他用户的论坛内容,与此同时登录的用户还可以对论坛中已经发表的内容进行回帖,也可以发帖,如图所示:
基于Android的视频分享平台的设计与实现_第5张图片

3.2.4 系统用例分析

(1)用户分类用例分析
本系统共划分为三级权限,包括超级管理员、普通管理员和用户。
(2)普通管理员功能用例分析
普通管理员可以通过登录网页管理端查看视频的审核上传情况以及管理论坛情 况。
(3)超级管理员功能用例分析
超级管理员仅进行用户权限的管理,这一管理员可以进行用户的废弃操作以及用户的权限升级管理。
(4)用户功能用例图
用户可以在注册页面进行注册和修改密码以及登录,可以在首页进行视频观看点在投入代币,可以在论坛页面发帖回帖,可以在“我的”页面修改自身头像和昵称,查看自身作品和上传稿件。

第 4 章 系统设计

4.1 系统总体设计

本平台开发时分为了安卓客户端和后台网页管理端。其中后台网页管理端会根据登录用户的不同而跳转不同的管理页面,普通管理员有视频管理和论坛管理两个模块的管理权限,而超级管理员只有用户模块的管理权限,用户这一角色拥有视频的上传和观看功能,以及视频点赞和赋予代币等推荐操作。

4.1.1 系统总体结构图

本系统将权限划分为用户、管理员和超级管理员三种。系统总体设计结构图,如图所示:
基于Android的视频分享平台的设计与实现_第6张图片

4.2 数据库设计

4.2.1 数据库设计 E-R 图

本系统的数据库E-R图,如图所示:
基于Android的视频分享平台的设计与实现_第7张图片

4.2.2 数据库逻辑结构设计

(1)用户论坛表,如表所示,主要内容包含:帖子 id,帖子内容,发帖 ID,添加时间,修改时间,可用性。
基于Android的视频分享平台的设计与实现_第8张图片
(2)帖子回复表,如表所示,主要包含:回复贴本身 ID,回复帖子的用户的ID,主贴 ID,回复内容,添加时间,修改时间,可用性。
基于Android的视频分享平台的设计与实现_第9张图片
(3)用户详情表,表结构如表所示,主要包含:用户表的用户 id、用户的密码、用户昵称、注册手机号、用户头像路径、用户代币数、可用性。
基于Android的视频分享平台的设计与实现_第10张图片

第 5 章 系统实现

结论

历经长时间的实践和迷茫的测试,实现了基于Android的视频分享平台。设计的整个途中充满了出现问题、分析问题、解决问题的这一套组合,参考大量的设计仿真,学习了大量的相关理论,在开发途中对平台进行了大量的测试以及修正,最终基本达到了预期效果。
本视频平台使用 Android Studio 作为开发软件,最开始的构想是利用其自带的 Fragement 作为模板进行前端页面的开发,这样可以直接模拟 youtube 进行视频页面的加载。但是后来发现它所容纳的内容并不适合进行小体量的开发,并且它们所设计的前端设计虽然十分完美,但是可以操作的部分较为繁琐。于是本系统改为了自行开发前端页面,虽然美观程度十分堪忧,但是完成了既定目标。平台客户端只有用户一 种角色,这一角色除了可以实现登录注册等常规操作外,还能进行视频的上传和视频的观看,另外,视频播放器是经过对网络上各种项目的参考而独立制作的,并没有使 用 Android Studio 所自带的 media 类。服务端和后台由普通管理员和超级管理员这两种角色组成,超级管理员只能进行用户层面的管理,包括并不限于对于用户可用性的管理以及对于用户本身一些基础内容的设置,这一角色也可以赋予其他用户普通管理员的权限。普通管理员拥有对视频进行审核以及上传至文件服务器的权限,这里需要注意的点是,如果一个视频没有被上传到文件服务器,那么它将无法在客户端被选出。除此之外,普通管理员还拥有管理论坛帖子的权限。另外需要说明的是,超级管理员不具备普通管理员的权限,超级管理员只能对用户进行管理。
本平台基本完成了基于Android的视频分享平台的设计需求,但是还有一些功能需要完善:
(1)管理员在上传文件时,需要对服务器进行直接操做,这点其实不利于用户的安全性,以及更不利于服务器的安全性,这种情况不应该发生,应该完善。
(2)视频的筛选只有通过时间筛选和通过点赞数以及代币数筛选两种方式,缺少如同现在大部分平台的推荐算法以及用户画像和精准推送。
(3)上传页面还不够优化,上传时间需要进行可视化管理,目前并没有进行可视化的处理,此处应该需要进行可视化处理来告知用户所剩时间。
最后,通过本平台,希望能够有效建立学校自己的文化环境,搭建学生间、师生间的沟通桥梁,提高对外的宣传效应!

你可能感兴趣的:(行业报告,android)