Linux(Nginx)+Java SpringBoot视频微服务搭建

最近收到一个需求,需要把视频集成为一个服务,视频播放时根据登录的用户名动态生成水印覆盖在视频上;
这些视频隔段时间会来一波,需要集成进去;

最初的解决方案:把视频当作静态资源放在Java SpringBoot微服务的静态文件里,每个视频对应一个播放的H5页面;

弊端:
(1)视频越来越多(近10G),调试慢,且打包后jar太大;
(2)每增加一个视频就需要写一个页面(页面跳转、页面);太麻烦;

优化:
使用Nginx搭建视频+SpringBoot微服务+动态获取视频信息

下边重点说下:动态获取视频信息
(1)增加的视频文件信息(视频主题,视频名称,视频源src,培训时间【展示列表也可根据其排序】)都插入到Pg表里;
(2)页面视频主题页(通过读取pg表动态生成)
(3)页面某个主题的视频信息列表(通过Pg表动态获取生成)
(4)页面视频播放页(通过读取pg表动态填充——src信息等生成)
(5)视频信息管理页(通过pg表获取数据并构建 easy-ui树显示,简单明了)

–Postgre 视频信息表sql

drop table if exists t_videos;
CREATE TABLE t_videos
(
id bigserial NOT NULL PRIMARY KEY,
name text NOT NULL DEFAULT ‘’,
title text NOT NULL DEFAULT ‘’,
src text NOT NULL DEFAULT ‘’,
v_time text NOT NULL DEFAULT ‘’,
create_time timestamp with time zone NOT NULL DEFAULT now(),
modify_time timestamp with time zone
);
COMMENT ON TABLE t_videos IS ‘视频信息表’;
COMMENT ON COLUMN t_videos.id IS ‘主键id’;
COMMENT ON COLUMN t_videos.name IS ‘视频标题’;
COMMENT ON COLUMN t_videos.title IS ‘视频主题’;
COMMENT ON COLUMN t_videos.src IS ‘视频源’;
COMMENT ON COLUMN t_videos.v_time IS ‘视频时间’;
COMMENT ON COLUMN t_videos.create_time IS ‘创建时间’;
COMMENT ON COLUMN t_videos.modify_time IS ‘修改时间’;

优化完成后:
整个服务需要4个页面就都搞定了。
下次在来新的视频只需要上传视频到服务器,视频信息插入到pg表中,就不需要其他任何操作了。

视频主题列表页:
某个主题视频列表页:
视频播放页:
视频管理页:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛一枚~

您的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值