登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 计算机科学与技术 > 正文

支持全文检索的视频音频点播平台的开发毕业论文

 2021-12-02 13:05:23  

论文总字数:14393字

摘 要

网络技术在近年来得到了飞速发展,人们通过网络来进行资源共享的方式也在日益更新。以往的资源共享大多以下载为主,用户通过在网站上进行下载,得到自己所需要的资源。但音视频文件资源往往较大,用户在下载过程中会耗费大量时间,需要通过其他方式来进行资源共享。

流媒体技术是近年来非常热门的技术,通过将音视频等资源进行压缩处理。当用户在收听或者观看时,音视频可以一边下载,而不需要等待资源下载完成之后再进行收听或者观看。这样做的好处在于,可以提供较为及时的音视频资源,提高用户体验。

本次设计通过使用Java语言,采用B/S模式完成了基于Web的音视频点播网站的开发。此外,在搜索上也支持全文检索,用户们可以通过检索来查找自己所想要欣赏的视频或者音乐。

关键词:音视频点播;全文检索;Web开发;流媒体技术

Abstract

With the rapid development of network technology in recent years, the way of resource sharing through the network has been increasingly updated.In the past, most of the resource sharing was based on downloading. Users got the resources they needed by downloading on the website.However, audio and video file resources are often large, and users will spend a lot of time in the process of downloading, so they need to share the resources by other means.

Streaming media technology is a very popular technology in recent years, through the compression of audio and video resources.When the user is listening or watching, the audio and video can be downloaded at the same time, instead of waiting for the resource to be downloaded before listening or watching.The advantage of doing so is that it can provide relatively timely audio and video resources and improve user experience.

This design through the use of Java language, B/S mode to complete the Web based audio and video on demand website development.There is also support for full-text search, which allows users to find videos or music they want to enjoy.

Key words: Audio and video on demand, The full text retrieval, Web development, Streaming media technology.

目录

第1章 绪论 - 1 -

1.1开发背景与意义 - 1 -

1.2相关技术概述 - 2 -

1.2.1Web技术 - 2 -

1.2.2中文分词技术与全文检索 - 2 -

1.2.3FFmpeg - 3 -

1.2.4JDBC与基础的增删改查 - 3 -

第2章 系统需求分析 - 4 -

2.1用户功能需求 - 4 -

2.2管理员功能需求 - 4 -

2.3系统性能需求 - 5 -

2.4可行性分析 - 5 -

第3章 系统设计 - 6 -

3.1系统功能设计 - 6 -

3.1.1用户功能模块 - 6 -

3.1.2管理员功能模块 - 7 -

3.2数据库设计 - 8 -

3.2.1系统E-R图 - 8 -

3.2.2系统数据表设计 - 9 -

第4章 系统实现 - 10 -

4.1前端实现 - 10 -

4.2后端实现 - 11 -

4.3程序的流程图 - 11 -

第5章 系统测试 - 13 -

5.1测试的目的 - 13 -

5.2测试的过程 - 13 -

5.3测试的结论 - 13 -

第6章 总结与展望 - 14 -

参考文献 - 16 -

致谢 - 17 -

第1章 绪论

1.1开发背景与意义

计算机从上世纪被发明来到21世纪不过几十年,各种各样的网络技术便得到了飞速发展,它让人们的记录的生活从黑白到五彩斑斓,从静止的一瞬到丰富的各类活动,大大提高了机械的展现力。而由于信息种类的增多,越来越多的音频、视频需要传输。为了使音频、视频能够快速地展现在用户面前,多媒体技术则显得至关重要。

以往在资源的传输过程中,用户们大多需要将资源从网络上下载,并通过用户计算机上的播放器进行播放。这个过程会限制于两个问题:一是播放延时,用户不能及时地看到或听到自己所想要下载的内容;二是存储限制,如果音视频资源文件较大或累计文件较大,用户则可能无法将资源下载到本地,也就无法播放想要下载的音视频资源,另一方面下载的文件也会占据本地空间,使得用户需要存储大量的音视频数据。此外,由于网站上的文件资源数量一般会比较庞杂,用户没有精力逐项翻看资源页去寻求到自己想要的资源,简单的搜索标题也不能满足用户多样的需求。因此,在资源检索方面,也需要进行更新,如今的搜索引擎都有较为全面的全文检索功能。通过实现全文检索,可以提高检索效率。

从行业发展角度来看,目前各类知名互联网厂商都有向视频发展的趋势,短视频平台更是风靡一时,诸如快手、抖音等。而资本家们为了获取利益,在应用程序中安插了大量的广告,这十分影响用户的个人体验。从以往的视频网站诸如优酷、土豆,到现如今的腾讯、爱奇艺,广告由视频片头到插入在视频中间,资本家们可谓是不择手段,包括各类的会员去广告,都是对用户的压榨。更有甚者,如前段时间腾讯在其旗下的QQ音乐中,将广告插入到歌曲中间,受到了大量用户的口诛笔伐,这都是资本家们在一次又一次地刷新用户们的忍耐度。

因此,为了解决音视频资源的共享问题,本系统基于web开发了一个小型的音视频点播系统。通过点播系统,用户可以随时随地上传分享自己的音视频资源,管理者也可以对用户和资源进行管理,以达到资源的优质化。此外,用户还可以通过搜索来找到自己想要欣赏的音视频资源,进一步减少了资源查询的困难,全文检索的功能也十分受用。从版权方面来看,通过音视频资源进行学习本身没有什么错误。在以后网站发展的过程中,如果有能跟音视频版权方合作的机会,也可以进行收费下载,尊重并保护原创意识,同时也避免用户囿于广告的困境。

1.2相关技术概述

1.2.1Web技术

Web技术是近年来应用十分广泛的一种技术,通过在客户端和服务端进行数据交换,实现整个网络的资源共享。Web客户端技术即所谓的前端,包括HTML、Java Applets、脚本程序、CSS、插件等技术。通过前端可以展现给用户操作的界面,包括点击、输入、上传等。然后通过响应让后端运行相关的程序。后端即Web服务端技术,包括PHP、ASP、Servlet、JSP等技术。通过后端的程序逻辑,可以对前端的用户操作进行处理,实现系统的功能,诸如数据查询、数据转移、数据更改、资源播放等。

其中,HTML5中的video标签,用以实现前端对视频播放的控制。control属性设置基本控件,width和height属性则是常用的设置窗口和控件大小。一般在播放视频前,使用preload进行预加载,使得视频能够实现在线播放而不需要先下载完毕,autoplay和loop属性则是控制视频的自动播放和循环播放。此外,为了和各种浏览器兼容,能够在每一个浏览器都能顺利播放,可以采用flash作为备用播放方案。在资源连接方面,使用document.getElementById()获得视频对象,实现与后端的资源调用。

至于音频播放,则使用audio标签进行实现。与video标签相似,src属性指定音频文件的地址,通过调用文件资源,实现音频的播放。对于不同浏览器,可以加载不同格式的音频文件,这个功能可以通过source标签来实现,选择浏览器支持的音频格式进行加载。其他属性的设置与视频方面相似,没有太大的出入。

1.2.2中文分词技术与全文检索

分词就是将连续的字符序列按照一定的规范重新组合成词序列的过程。中文分词技术与英文分词技术之所以不同,是因为中文在基本文法上有其特殊性。目前中文分词技术根据特点可以分为三类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。三种方法各有优缺点,一般而言,一个成熟的分词系统会综合采用不同的算法来处理实际问题。此外,中文分词技术还存在一些技术难点,如歧义识别、新词识别等。

Lucene是一个开放源代码的全文检索引擎工具。通过使用Lucene,可以建立一个全文检索引擎。但Lucene本身,作为一个全文检索的架构,是不完全的,不能直接用于全文检索。Lucene为开发者提供了完整的查询引擎和索引引擎等,作为中文的全文检索,无法直接使用Lucene的文本分析引擎,这需要开发者的进一步开发。

1.2.3FFmpeg

FFmpeg是一项开源的计算机程序,可以将音视频转化为流,完成音视频的录制、播放等,是目前非常主流的流媒体技术。FFmpeg可以将视频格式进行转换为flv,便于管理和播放。通过使用FFmpeg,能够较为完善地实现本系统的播放功能,满足用户的需求。

FFmpeg主要用于视频的转码,为了实现不同浏览器的需求,或者是用户下载时的需求,可以将视频的格式进行转化,如mp4格式转化为flv格式等。其实现也比较方便,FFmpeg提供了转化的接口,直接调用相应的方法即可实现视频格式的转化。

1.2.4JDBC与基础的增删改查

JDBC即java数据库连接,是一种用于执行SQL语句的Java API,非常基础且通用。通过加载JDBC驱动程序,建立与数据库的连接,可以实现应用程序与数据库的交互,即应用程序可以调用数据库中的资源。在数据库与应用程序分离的今天,JDBC的出现提供了一种开发思路:应用程序开发人员可以进行构建其他工具与接口,数据库开发人员则负责编写数据库应用程序。

JDBC的实现步骤主要分为以下几步:加载数据的JDBC驱动序,完成初始化;建立JDBC和数据库之间的连接,即DriverManager.getConnection();再创建Statement对象或者PreparedStatement对象,执行相应的SQL语句,即conn.createStatement()或者conn.prepareStatement(sql);之后获得结果集,通过结果集向前端传递数据,最后释放资源并关闭连接,完成JDBC的操作。

通过使用JDBC,可以轻松实现对数据库资源的管理与应用。在本系统中,也是通过JDBC来实现简单的数据传递,包括增添、删除、更改、查询等。通过增添、删除、更改,可以实现用户的信息管理,包括如注册、登录、封禁等功能。

第2章 系统需求分析

系统需求分析是开发中非常重要的步骤,通过需求分析,了解到用户具体需要什么。通过对用户的需求进行分析,确定系统所需要开发的功能、环境等。一个良好的系统,必须能够在用户需求的基础上设计开发,并为用户需求而服务。并且在满足用户需求的基础上,还应该开发一些创新功能使其独特化。

2.1用户功能需求

①注册与登录

请支付后下载全文,论文总字数:14393字

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图