当前位置: 首页 > news >正文

基于springboot的在线视频点播系统

文未可获取一份本项目的java源码和数据库参考。

国外研究现状:

与传统媒体不同的是,新媒体在理念和应用上都采用了新颖的媒介或媒体。新媒体是指应用在数字技术、在传统媒体基础上改造、或者更新换代而来的媒介或媒体。新兴媒体与传统媒体在理念和应用上并无本质区别。像YouTube这样的在线视频就是新媒体的一种,自2005年YouTube正式运营以来,一直受到用户们的喜爱,据统计,YouTube正式运营时的每天视频浏览量已达到了八百万次左右,而到2006年7月已有一亿的视频浏览量,而上传视频数量更为惊人己达到每天65000个上传视频量。如今YouTube每天的访问量己经高达二十亿,已经是正式运营时的250倍。这种庞大的数据显示在线视频真正意义上满足了用户潜在的对视频的需求。

国内研究现状:

目前,基 IPQAM 的 VOD 视频点播解决方案主要是时代华纳的 ISA(Interactive Services Architecture)和 Comcast 的 NGOD(Next Generation On Demand)。其中,ISA 架构的流控协议基于 ISO/IECDSM-CC 标准的 SSP(Session Setup Protocol  )和 LSCP(Lightweight Stream Control Protocol)协议,而前端服务器实体之间则是采用 CORBA(Common Object Request Broker Architecture)实现,实现的复杂性略高。NGOD则是基于 RTSP协议提出的,实体交互则基于Web Service实现,但是目前很少有相关商用产品,本次工程就参考了部分 NGOD 的概念完成自主设计。在现有的国内市场,能提供基于 IPQAM 的 VOD 视频点播解决方案的厂商主要有华为,思华等,而在国外市场,这样的厂商主要有 CISCO、MOTO、Tandberg 等。国外厂商的产品几乎都支持 ISA 规范,而由于 ISA 规范本身定义复杂性,整个系统构造的复杂度提高,也就直接导致了整个系统实现的成本异常昂贵。国内厂商的产品虽然不是基于 ISA 架构,但大多数其点播协议是采用 RTSP协议,导致其商用产品也价格不菲。

视频服务器是 VOD 视频点播解决方案中最核心的实体。在基于 IPQAM 的VOD 视频点播方案中,视频服务器需要支持 TS 流格式,并将 TS 流以 UDP 的方式传送,以连接各 IPQAM 设备。此外,考虑到 VOD 视频点播业务的运营性质,视频服务器还必须支持用户认证、计费收费接口及远程管理等功能。

目前,视频服务器的开源项目也有很多,包括 MPEG4IP,VLS 等等。其中live555 是免费并且开源的,也支持 TS 流。一种低成本视频服务器解决方案,是选取 Darwin Streaming Server 为基础,通过技术扩展使其支持 MPEG-2 TS流[9]。为了实现通过 Cable 下发 TS 流,关键在于视频服务器采用 UDP 协议正确的将 TS流按特定速率下发到 IPQAM。仅是采用 UDP 协议发送 TS 流到 IPQAM 设备,实现起来比较简单。假定 TS 流的包大小是 188 字节,只要遵循一个 UDP 包不大于网络最大传输单元的原则,将 7 个 TS 包打成一个 UDP 包,下发到 IPQAM 设备即可。要依照特定速率发送 TS 流,则要求视频服务器在发送时,必须保证发送数据速率和媒体正常播放速率相一致。正常情况下终端会采用一个缓冲区,用于平滑在发送数据时可能产生的波动,因此发送数据速率与媒体正常播放速率相一致的要求并不是完全绝对的。发送数据时带来的波动只要在 IPQAM 许可的范围内,IPQAM 都能正常处理[10]。依照特定速率发送 TS 流是基于 PCR 实现的。PCR是 TS 包中的一个字段,专门用于同步解码器与视频服务器或前端编码器的时钟。编码器在编码的过程中,会不断的读取硬件时钟然后放入 TS 包中的 PCR 字段,而解码器则在解码的过程中参照一个本地时钟,用以确定解码和显示速度。本地时钟需要根据 PCR 进行修正,以避免时钟不同步引起的停帧、丢帧。

不仅在线视频网站颇受欢迎,自制视频也是当下流行的生活方式,所以为用户提供上传视频的通道也在某种程度上满足用户需求。在线视频点播更贴近用户需求,在不就的将来在线视频点播将会不断的发展甚至有可能替代传统的媒体。

参考文献:

[1] 王河媛,刘明慧.基于UML的视频点播系统的设计要点分析[J]. 计算机与数字工程. 2016(01)

[2] 孙恒.智能移动终端的视频点播系统设计与实现[J].  实验室研究与探索. 2015(02)

[3] 郭红方,林予松,王宗敏.云辅助的P2P视频点播分发机制研究[J].计算机应用研究. 2013(02)

[4] 范雪建,佘瑶.一种乘客点播系统的方案设计[J]. 技术与市场. 2019(07)

[5] 刘侃.网络流媒体运营支撑管理平台的设计与实现[D].华南理工大学 2011

[6] 孙恒.智能移动终端的视频点播系统设计与实现[J].实验室研究与探索. 2015(02)

[7] 和振华,田野.一种依赖社会网络的P2P视频点播推荐机制[J].小型微型计算机系统. 2013(02)

[8] 郭红方,林予松,王宗敏.云辅助的P2P视频点播分发机制研究[J].计算机应用研究. 2013(02)

[9] 周宇.有线电视互动点播系统搬迁方案与实施[J].广播与电视技术. 2018(05)

[10] 李卫权.有线电视手机点播系统浅析[J].广播电视信息. 2018(04)

[11] 谢妍.网络视频点播网站的设计及实现[D].湖南大学 2016

[12] 刘国辉.在线视频点播系统设计与实现[J].淮海工学院学报(自然科学版). 2014(02)

[13] 杜小智,齐勇,鲁慧民,侯迪,徐崇安,陈滢,钟虓.视频点播系统的软件老化估计和预测[J]. 计算机研究与发展. 2011(11)

[14]陈Maydene Fisher, Jon Ellis, Jonathan Bruce著. JDBC API Tutorial and Reference, Third Edition. 11 June, 2017

[15] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2019, 26(4):270-283.

二、选题依据、主要研究内容、研究思路及方案

(一)选题依据

在传统的用户收看电视节目中,电视台播放什么样的节目,用户就只能看什么样的节目,在这一过程中用户完全处于被动状态。不管从节目类型、节目播放时间、节目播放进度都都不能按照用户的意向进行选择,虽然电视节目种类繁多但用户很难在有限的时间里去享受自己想要看得节目。随着生活节奏的加快,工作时间的不允许,用户很难预先安排自己的时间来追剧或者收看节目。视频点播,正迎合了人们需要随时随地点播自己想要收看节目的需求。这样的服务方式将主动权交到用户手上,用户可以按照自己的意愿点播视频,更为符合人们深层次的对信息资源的需要。

(二)主要研究内容

随着信息存储技术和质量的日益提高,信息载体从简单地文字发展到相片直至现在越来越多的人选择采用视频这种形式记录生活中的大事件。相对于文字和照片的记录方式,视频能更真实更具体得记录实际的事件和信息。

在线视频点播系统可分为用户、管理员。用户实现:用户注册登录、用户分享模块、发表评价、留言板功能。

1、    管理员管理用户的信息,对用户的信息进行添加,删除,修改,冻结等操作;管理员也可以管理视频的信息,对视频进行添加,删除,修改等操作。

2、    管理员可以利用平台发布视频同时可以填写视频的信息;并发布各类公告;

3、视频会有其他信息,比如导演,主演任务,大致情节等;

4、游客只能查看公告,查看有哪些视频;注册用户才可以观看视频,对视频进行评分和评论,对喜欢的视频可以收藏,但不可以下载视频;用户可以查看自己收藏的视频。会员可以下载视频,下载视频可以选择路径。这种可以下载到桌面或者D盘吗

5、所有用户(游客,注册用户、会员)可以按评分查看视频,也可以搜索视频;

6、还有一个投票模块,管理员可以发布要投票的视频,所有用户(游客,注册用户、会员)可以进行投票,管理员可以查看投票结果。

7、用户还可以对管理员进行留言,管理员可以查看,删除用户的留言。

8、用户修改密码,可以通过密码找回问题找回。

(三)研究思路及方案

首先通过查阅有关在线视频点播系统的研究成果,进行系统的需求分析功能,明确在线视频点播系统需要实现的功能。了解基本在线视频点播系统开发方法,对系统的数据库进行设计,对系统功能进行研究,设计出详细的功能。在研究所设计系统可操作性的基础上,搭建系统的总体框架,设计系统的界面以及向用户提供的各种功能板块。尽力做好设计系统的每个界面,包括界面的布局和色彩的调配,以及系统的各种功能。确定开发语言进行程序开发和联调,对程序设计集成测试,对功能进一步优化。

方案:

(1)收集相关技术资料、研读参考文献。对在线视频点播系统进行调查,需求分析;

(2)对在线视频点播系统进行需求分析、系统设计;

(3)对在线视频点播系统进行功能模块设计;

(4)对服务器后台功能代码实现并对系统进行实际研发;

(5)制作完成在线视频点播系统后台、测试完善;

(6)对设计进行归纳总结、撰写论文。

附:研究内容提纲(理工科):

以“基于的SPRINGBOOT的在线视频点播系统”论题为例

1 概述     

1.1课题背景及意义      

1.2 国内外研究现状     

1.3 本课题主要工作     

2 系统开发环境     

2.1 java技术    

2.2 mysql数据库     

2.3 B/S结构      

2.4 SSM介绍

3 系统分析      

3.1 可行性分析      

3.2系统流程分析

3.3系统用例分析

4 系统设计      

4.1 系统概述   

4.2 系统结构设计  

4.3数据库设计

5系统界面实现      

6系统测试

6.1系统测试的意义      

6.2 测试方法   

6.3测试分析    

结    论   

致    谢

三、工作进度及具体安排

xxxx年xx月—xxxx年xx月:确定指导老师和论文选题

xxxx年xx月—xxxx年xx月:查找资料,撰写开题报告

xxxx年xx月:参加开题报告会答辩    

xxxx年xx月—xxxx年xx月:完成论文第一稿

xxxx年xx月—xxxx年xx月:完成论文第二稿

xxxx年xx月—xxxx年xx月:完成论文第三稿

xxxx年xx月—xxxx年xx月:完成论文查重、定稿

xxxx年xx月:参加论文答辩

xxxx年xx月前:提交论文全稿文本

相关文章:

基于springboot的在线视频点播系统

文未可获取一份本项目的java源码和数据库参考。 国外研究现状: 与传统媒体不同的是,新媒体在理念和应用上都采用了新颖的媒介或媒体。新媒体是指应用在数字技术、在传统媒体基础上改造、或者更新换代而来的媒介或媒体。新兴媒体与传统媒体在理念和应用…...

笔记整理—内核!启动!—kernel部分(8)动态编译链接库与BSP文件

linux的C语言程序是用编译的,但是如果要在开发板上运行的话就不能使用默认的ubuntu提供的gcc编译器,而是使用arm-linux版本的一类的编译器。我们可以用file xx去查看一个程序的架构。 (arm架构) (intel的80386架构&…...

Cpp类和对象(中续)(5)

文章目录 前言一、赋值运算符重载运算符重载赋值运算符重载赋值运算符不可重载为全局函数前置和后置的重载 二、const修饰成员函数三、取地址及const取地址操作符重载四、日期类的实现构造函数日期 天数日期 天数日期 - 天数日期 - 天数日期类的大小比较日期类 > 日期类日…...

深度学习02-pytorch-01-张量的创建

深度学习 pytorch 框架 是目前最热门的。 深度学习 pytorch 框架相当于 机器学习阶段的 numpy sklearn 它将数据封装成张量(Tensor)来进行处理,其实就是数组。也就是numpy 里面的 ndarray . pip install torch1.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simp…...

pg入门9—pg中的extentions是什么

在 PostgreSQL(PG)中,Extension(扩展) 是一组预先打包的功能模块,可以轻松地添加到数据库中以扩展其功能。这些扩展通常包含新的数据类型、函数、索引方法、操作符以及其他数据库增强功能。通过扩展&#x…...

JAVA:Nginx(轻量级的Web服务器、反向代理服务器)--(1)

一、Nginx:起因 nginx为什么为开发出来,起因是什么 总述:NGINX 的开发起因源于上世纪 90 年代末至 2000 年代初的互联网快速发展。当时,互联网流量急剧增长,特别是像 Apache 这样的传统 Web 服务器在高并发连接处理方面开始显现出瓶颈。 举例子:Apache 的 "每个连接…...

互斥锁和自旋锁

1、锁: 自旋锁与‌互斥锁的区别主要体现在以下几个方面: 1. 实现方式 ‌互斥锁‌:属于‌sleep-waiting类型的锁。当一个线程尝试获取已被其他线程持有的互斥锁时,该线程会被阻塞(进入睡眠状态)&#xff…...

救生圈检测系统源码分享

救生圈检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…...

容器技术--Dockerfile 构建镜像

Dockerfile dockerfile 是一系列命令&参数构成的脚本,这些命令应用于基础镜像,最终创建一个新的镜像,可以提供一致的运行环境。【也可以登录容器,自己安装软件,最后commit为镜像】 命令 FROM 指定基础镜像(必须),如FROM ubuntu;每一个指令就生成一层镜像;RUN 运…...

Hive企业级调优[5]—— HQL语法优化之数据倾斜

目录 HQL语法优化之数据倾斜 数据倾斜概述 分组聚合导致的数据倾斜 优化说明 优化案例 Join导致的数据倾斜 优化说明 优化案例 HQL语法优化之数据倾斜 数据倾斜概述 数据倾斜问题通常指的是参与计算的数据分布不均,即某个key或某些key的数据量远超其他key&#xff…...

表示速度的speed与velocity语义辨析

speed 对应的中文是 速度, 比如 5KM/h, 但是语义中不带方向,所以一般用来表示标量(scalar)。velocity 对应的中文也是 速度, 比如 5KM/h, 语义中蕴含了方向, 常用于表示向量(vector)。 2024年09月22日...

Electron 图标修改

目录 1. 图片基本要求 2. 在main.js中配置icon 位置 ​3. 在package.json 中配置icon 位置 4. 问题:左上角图片 开发环境下显示,生产环境下不显示 1. 图片基本要求 图片格式为ico,图片像素像素为256*256; 将ico文件放在pub…...

项目扩展二:消息拉取功能的实现

项目扩展二:消息拉取功能的实现 一、回顾一下消息推送功能是如何实现的二、设计消息拉取功能1.服务器如何处理2.定义Request和Response1.定义Request2.proto文件 三、服务器实现消息拉取1.业务模块的实现:信道模块2.消费者管理模块实现O(1)获取消费者1.目…...

C语言6大常用标准库 -- 4.<math.h>

目录 引言 4. C标准库--math.h 4.1 简介 4.2 库变量 4.3 库宏 4.4 库函数 4.5 常用的数学常量 🌈你好呀!我是 程序猿 🌌 2024感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长&…...

【图像匹配】基于SIFT算法的图像匹配,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于基于SIFT算法的图像匹配,用matlab实现。 一、案例背景和算法介绍 本…...

C++门迷宫

目录 开头程序程序的流程图程序游玩的效果下一篇博客要说的东西 开头 大家好&#xff0c;我叫这是我58。 程序 #include <iostream> using namespace std; void printmaze(const char strmaze[11][11]) {int i 0;int ia 0;for (; i < 11; i) {for (ia 0; ia <…...

用最通俗易懂的语言和例子讲解三维点云

前言&#xff1a; 我整体的学习顺序是看的按B站那“唯一”的三维点云的视频学习的&#xff08;翻了好久几乎没有第二个...&#xff09;对于深度学习部分&#xff0c;由于本人并没有进行学习&#xff0c;所以没有深究。大多数内容都进行了自己的理解并找了很多网络的资源方便理解…...

VM虚拟机下载以及激活

传统的官网已经找不到下载了&#xff0c;这里我将下载好的放在阿里云盘&#xff0c;百度云盘太慢了&#xff0c;懂得都得 阿里云盘分享 下载好了后会是一个exe文件&#xff0c;直接双击运行就可 下载无脑下一步即可&#xff0c;这里不做介绍 下载好了后&#xff0c;需要密钥这里…...

详解Ajax与axios的区别

Ajax与Axios在Web开发中都是用于发送HTTP请求的技术&#xff0c;但它们在多个方面存在显著的差异。以下是对两者区别的详细解析&#xff1a; 1. 技术原理 Ajax&#xff1a;Asynchronous JavaScript and XML&#xff08;异步JavaScript和XML&#xff09;的缩写&#xff0c;是一…...

golang学习笔记28——golang中实现多态与面向对象

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

运行 xxxxApplication 时出错。命令行过长。 通过 JAR 清单或通过类路径文件缩短命令行,然后重新运行。

一、问题描述 运行 xxxxApplication 时出错。命令行过长。 通过 JAR 清单或通过类路径文件缩短命令行&#xff0c;然后重新运行。 二、问题分析 在idea中&#xff0c;运行一个springboot项目&#xff0c;在使用大量的库和依赖的时候&#xff0c;会出现报错“命令行过长”&…...

k8s自动清理pod脚本分享

检查会遇到集群节点内存消耗超过90%&#xff0c;我们可以筛选一些可以进行重启的pods&#xff0c;如脚本中涉及svc-开头的&#xff0c;进行触发即重启的shell编写。此项会涉及metrics组件需要安装。 #!/bin/bash# 设置内存使用率阈值为90% MEMORY_THRESHOLD90# 初始化一个数组…...

Go并发编程的高级技巧——请求复制与限流

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在一些高性能应用场景中,快速响应是非常重要的目标。例如,当一个应用需要快速响应用户的HTTP请求,或从多个副本中检索数据时,如何优化请求处理成为关键。本文将讨论如何在Go语言中,通过并发和限流机制来实现…...

网站建设模板选择哪种

在选择网站建设模板时&#xff0c;需要考虑多个因素&#xff0c;包括网站的目的、受众、内容类型以及个性化需求等。以下是一些常见的网站建设模板类型&#xff0c;以及它们的特点&#xff0c;希望对你的选择有所帮助。 企业/商务模板&#xff1a; 企业和商务网站通常需要专业、…...

【linux】kill命令

kill 命令在 Linux 和类 Unix 系统中用于向进程发送信号&#xff0c;默认情况下是发送 SIGTERM&#xff08;信号 15&#xff09;&#xff0c;请求程序终止运行。如果程序没有响应 SIGTERM 信号&#xff0c;可以使用 SIGKILL&#xff08;信号 9&#xff09;强制终止进程&#xf…...

Python基础 | 在虚拟环境中安装并在指定文件夹中打开Jupyter notebook

在虚拟环境中安装并在指定文件夹中打开Jupyter notebook 前言一、在虚拟环境下安装Jupyter notebook二、在指定路径下打开Jupyter notebook 前言 Jupyter Notebook 是一个基于 Web 的交互式计算环境&#xff0c;主要功能是将代码、文本、数学方程式、可视化和其他相关元素组合…...

1.Spring-容器-注册

一、Bean和获取Bean &#xff08;1&#xff09;创建IoC容器&#xff1a; SpringApplication.run(类名.class, args); ConfigurableApplicationContext ioc SpringApplication.run(Spring01IocApplication.class, args); &#xff08;2&#xff09;将对象注册到IoC容器中&am…...

Mapper.xml SQL大于小于号转义符

Mapper.xml中写的SQL语句&#xff0c;大于小于号字符直接写会报错&#xff0c;需要变成转义字符 对应如下&#xff1a; Mapper.xml SQL大于小于号转义符...

Linux:进程(三)——进程状态

目录 Linux源代码对进程的描述 R S D T t X Z&#xff08;进程僵尸&#xff09; 孤儿进程 Linux源代码对进程的描述 理论上把进程状态大致被分为了&#xff1a;运行、阻塞、挂起。那么&#xff0c;在操作系统中具体是如何描述状态的。&#xff08;有时候Linux内核也把…...

Effective Java 学习笔记 如何为方法编写文档

目录 方法的文档注解设计的原则 Javadoc常用的文档注释 一些注意细节 通过Javadoc命令生成h5页面 这是第8章Java方法的最后一部分&#xff0c;聚焦为导出的API编写文档注释。 如果要想使得API真正可用&#xff0c;配套的文档是必须的。Java提供了Javadoc这个文档生成工具&…...