首页 > 范文大全 > 正文

视频分享网的设制与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇视频分享网的设制与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

由于科技的进步,现在很多人都拥有一台具有视频拍摄功能的机器,例如高端手机,家用小型摄影机等等,人们可以很方便地拍摄一些自己日常生活的片段或者制作一些有趣的视频,但想要通过传统媒体来传播给朋友或者其他人是很困难的。开发视频分享网站就给人们提供了一个分享的平台,用户能够很方便地把自己想要分享的视频上传到网站的服务器,然后服务器返还一个网页链接给用户,用户只需要把链接发送给好友,好友就能通过链接找到视频所在的页面然后进行观看了。视频分享网站让生活里的娱乐元素变得活起来,生活变得更美好。中国网络上的视频分享网站学习着YouTube的模式并逐渐增多,其中一些有实力的网站如土豆、优酷、六间房等开始崭露头角。它们的网站都有各自的风格特点和创意功能,却都离不开视频分享这个主题。本设计面向全校师生开放注册,对比其他视频分享网站和校园网的视频点播系统有如下优势:

1)对比外网的视频分享网站,能充分表现出校园网上传速度快的优点。

2)作为面向学生的视频网站,更有校园氛围,能加快视频在校园内传播的速度,使视频分享更加方便。

3)对比校园网现有的视频点播系统,注册了的学生都能够上传分享视频,有更大的自由度。

4)向师生们提供了一个展示平台,例如参加宿舍形象大赛的宿舍就可以创作生活视频上传到本系统向所有师生进行展示。

1 系统设计

小型视频分享网站的设计主要分为两个部分,前台与后台页面。前台就是普通用户浏览网站的时候可以直接看到的页面内容,主要拥有四种功能,分别是注册、登陆、观看视频、发表评论、上传视频;后台是网站管理员对网站的管理与维护,分别有三项主要管理功能:用户管理、评论管理、视频管理。前台、后台设计流程图如图1、2所示。

2 系统实现

系统实现分为上传模块、视频播放模块、评论和评分模块、搜索模块和视频管理五部分。注册登录模块本系统已经涵盖,不再单独介绍。

2.1 上传模块

上传模块的部分代码如下:<input type="hidden" name="id" value="<? Echo $_SESSION['name']; ?>"><input type="hidden" name="date" value='<? echo $date=date("Y-m-d H:i:s"); ?>'><input type="hidden" name="count" value="1">在上传模块HTML页面中,用户除了需要选择要上传的视频文件之外,还要填写视频名称、简介、标签和分类。另外还设置了这三个已经包含内容的隐藏文本框。第一个是记录上传者的账号信息,第二个是记录上传的时间,最后的是设置上传的视频点击数为1。界面预览如图3所示。

2.2视频播放模块

用户可以通过网站设置的内容分类和排行榜快速找到自己感兴趣的视频。点击视频进入视频播放效果如下图4所示。最上方显示的是上传者为视频设定的标题,在标题的右面是该视频的平均得分,在播放器下面有个视频评分,所有用户都可以为该视频打分,播放模块最主要是根据用户选择的视频读取出视频的路径,然后加载到播放器。由于播放器对中文不兼容,所以需要将含有中文名字的文件重命名为它的拼音。<param name="FlashVars" value="…&streamName=data/<? echo($path); ?>…/><embed src="……&streamName=data/<? echo($path); ?>&……" />视频播放页面和视频展示模块都有使用到视频播放器,用户在网站内最常做的操作就是对播放器的操作,所以一个美观的视频播放器是必需的。考虑到当今网络上视频主流为FLV格式的视频,因此本网站设计使用的是flash视频播放器。播放器具有开始播放,暂停,快进快退,循环播放和音量调节的功能。本例通过<object>标签将设计好的flash播放器调节至适当的大小后嵌入到页面的相应位置。关键代码为:<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="310" height="245" id="FLVPlayer"><object>在嵌入flash视频播放器后,为避免一些用户因未安装flash插件而影响使用,所以在页面源代码的<head>中加入了一段Javas cript代码,以确保用户在一进入首页时,浏览器就能检测用户有否安装flash插件或者安装的flash版本是否需要升级。

2.3 评论和评分模块

因为使用iframe的关系,观看视频和发表评论是可以同时进行的,提交评论后不会刷新视频页面。发表评论和显示已评论内容的HTML页面部分代码如下。隐藏区域内容提交到数据库,分别获取的是谁发表的和什么时候发表的评论,界面显示效果如图4所示。<input type="text" name="id" value='<? echo $_SESSION['name']; ?>'><input type="hidden" name="postdate" value='<? echo $date=date("Y-m-d H:i:s"); ?>'>视频评分这一功能,让用户在观看视频的同时能够对视频进行分值为1-5分的评分。视频所得的平均分会显示在播放器的右上方,供其他用户参考了解。核心算法就是平均分的计算:声明一个score1变量用get的值来赋值,然后声明score2变量用score1的值赋值,再声明变量score3=score2+score1,这样就得出总分score3;声明变量s_count,初始值为0,每当score1获取值时,s_count=s_count+1;最后得出平均分avg=score3/s_count。

2.4搜索模块

本设计在每个页面都设置了一个醒目的搜索栏,供用户使用关键词来搜索相关的视频。由于本设计为小规模的视频分享网站,所以只需要设计一个站内的模糊搜索功能即可满足用户的需要。设计的逻辑思想为:输入关键词àPHP接收关键词à执行SQL语句à通过模糊查找得到结果à正则替换关键词使其高亮显示à输出结果。用户在搜索的文本框中输入想要搜索的关键词之后确认,$_GET['search']就会接收到所输入的关键词,并从数据库中查找me dianame和tag中包含关键词的视频信息,然后通过preg_replace语句将关键词进行替换,最后输出结果。运行结果如图5所示。

2.5视频管理

视频管理分为五个部分:视频管理、热门视频、原创视频、音乐视频和其他视频,区别在于读取的数据内容不一样,但管理界面是相同的,因此只以视频管理页面为例。管理员也能通过选择时间来查找指定日期后更新的内容,方便在大量数据中找出需要的内容,并可以对数据进行逐一删除,如图6所示。

1)视频管理

$query=”select * from video order by date DESC limit ".$offset.", ".$pagesize."”;$result=mysql_query($query);$re=mysql_fetch_array($result);

2)热门视频管理

$query=”select * from video order by count DESC , date DESC limit ".$offset.", ".$pagesize."”;$result=mysql_query($query);$re=mysql_fetch_array($result);

3)原创视频管理

$query=”select * from video where sort=’org’order by date DESC limit ".$offset.", ".$pagesize."”;$result=mysql_query($query);$re=mysql_fetch_array($result);

4)音乐视频管理

$query=”select * from video where sort=’music’order by date DESC limit ".$offset.", ".$pagesize."“;$result=mysql_query($query);$re=mysql_fetch_array($result);

3 结束语

本系统包括注册登录,视频播放,上传视频,发表视频评论和管理员后台管理等功能。本系统的前台模块采用CSS+DVI+JA VASCRIPT结合PHP技术进行建设,稳定性好,可移植性强,功能齐全,便于系统以后的升级扩展。下一步的工作是改善视频转换效果,希望可以兼容更多的视频格式,在更短的时间内转换出更精细的画面。