如何在局域網內開一家電影院

在局域網內通過搭建服務集群,讓你的設備輕輕松松訪問電腦中的視頻,無需流量,不受網速干擾。本篇主要講述如何自行搭建該服務。

項目地址:https://github.com/CasterWx/videoCloud

最近在補生活大爆炸,從網盤上下載了全季的視頻,每天晚上都會在電腦上看幾集再去睡覺。

因為視頻資源太過龐大,所以我想在手機上看,就需要每次把視頻傳到手機,看完之后刪掉再傳新的,如果是看網上的資源,網速的問題可能會長時間需要加載。

所以我準備給我的電腦搭建一個服務,可以在同一局域網下讓我的手機平板等都可以訪問我電腦的資源,這樣就不用擔心網速問題了,差不多類似于一個局域網的在線影院。

我可以把最后的應用包安裝到一臺根本不需要任何性能的服務器,只需要它有大量的硬盤空間,類似于淘寶上的玩客云(硬盤還得自己提供,這就能賣200多?)。

最簡單的服務器你可以直接用你報廢的手機,不要再拿廢手機去換不銹鋼盆了,稍微改裝一下就可以變成一個Linux服務器,為你局域網下其他設備來提供服務(怎么做之后出教程)。

雖然說只是一個簡單的云影院,但是它可以與局域網內其他影院進行聯動,你也部署多次,我還是準備用上一些高大上的框架,一邊學習一邊完善,殺雞就要用屠龍寶刀。

大概說一下技術選型。

Spring Boot (應用主體)

Spring Cloud Alibaba (服務發現,負載均衡,容錯等) MyBatis (數據)

Elasticsearch (搜索,正在學這個)

構建項目

項目環境分為Dev和Proc,分別是開發環境和線上環境,線上環境會限制連接數。

 1 spring:
 2 profiles: dev
 3 ---
 4 spring:
 5 profiles: proc
 6 server:
 7 tomcat:
 8 max-connections: 1000
 9 max-threads: 200
10 max-http-post-size: 2MB

服務發現組件使用Nacos,局域網內每一個服務啟動時會注冊在Nacos中,Nacos是SpringCloudAlibaba提供的微服務組件,本項目中配置在yum配置中。

無需任何配置,startup.cmd -m standalone即可啟動。

 

 

 

訪問localhost:8848/nacos,用戶名密碼均為nacos,即可在服務列表中查看已啟動的本項目組件。 

數據庫使用本地數據庫。

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/user_center?serverTimezone=GMT
    hikari:
      username: root
      password: root
      driver-class-name: com.mysql.cj.jdbc.Driver


資源訪問路徑

靜態樣式資源以及視頻等路徑配置在WebMvcConfig中,addResourceLocations根據自己磁盤中文件路徑配置。

1 @Configuration
2 public class WebMvcConfig implements WebMvcConfigurer {
3     public void  addResourceHandlers(ResourceHandlerRegistry registry){
4         registry.addResourceHandler("/**").addResourceLocations("file:G:/bilibili/");
5         WebMvcConfigurer.super.addResourceHandlers(registry);
6     }
7 }


數據庫

 

 

 

 

 

數據實例,localUrl是相對你在上一步Config中指定路徑下的。

type字段決定了視頻類型,在前端會有相應的分組。

 

 

 

 

 

 

 在Test中有針對相應文件夾的批量導入方法,可以自行修改來導入本地視頻。

前端界面

前端的視頻播放插件選用DPlayer。

<link rel="stylesheet" href="DPlayer.min.css" />
<div id="dplayer"></div>
<script src="DPlayer.min.js"></script>
<script>
const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    video: {
        url: 'demo.mp4',
    },
});
</script>

上述是mp4的通用播放方法,對于flv,需要指定video-type對flv,并導入flv.js進行解析。

健康檢查

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

使用actuator進行健康檢查。

使用

針對自己的情況完成了上述配置,就可以在局域網內正式使用該服務了。

啟動項目,發現一臺服務。

 

 

 

然后訪問服務的地址,在yum中我們選擇了8081端口。

因為該服務主要面向移動端,所以這里演示為手機效果。

 

 

繼續下拉,就可以到視頻列表了。    

 

mv_db中的mv_type決定了分類,也就是上圖中視頻的分類,便于查看。

 

 

 

選擇視頻后即可跳轉到相應播放界面,在局域網內體驗高速服務,不用擔心流量以及限速問題。

 

 

 

 

可以配合bilibili-spider批量將B站收藏夾視頻文件下載到本地,在Test中導入。

局域網內的其他設備訪問時,需要使用服務的局域網ip,可以在cmd中使用ipconfig命令查看。

 

 

此時我在移動端只需要訪問192.168.43.145:8081即可。

 

posted @ 2019-10-31 09:28  AntzUhl  閱讀(...)  評論(... 編輯 收藏
11选5走势图