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表中,就不需要其他任何操作了。
視頻主題列表頁:
某個主題視頻列表頁:
視頻播放頁:
視頻管理頁:
總結
以上是生活随笔為你收集整理的Linux(Nginx)+Java SpringBoot视频微服务搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 通过h5页面上传视频到Linux服务器
- 下一篇: Java多线程,Thread,Runna
