开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 7 天
使用FastDFS作为分布式文件系统用于存储视频文件,SpringBoot用于编写接口,nginx用于访问FastDFS。
本程序只用于学习FastDFS搭配Nginx的使用,对于视频播放的更深入的技术不做讲述。
FastDFS
FastDFS是一个分布式的文件存储系统,提供了对文件上传、下载、访问的功能。
本程序的FastDFS没有做分布式的集群,是单体结构。
我个人的FastDFS的存储目录,其中dM265...开头的那个视频文件是将要访问的视频文件。
Nginx
FastDFS 4.0.5版本后,已经移除了自带的HTTP服务,所有需要手动搭建HTTP服务。当前采用NGINX配合FastDFS的方案,给外部提供连接FastDFS Client的功能,以执行上传和下载。
详细的Nginx与FastDFS配置可参考
Nginx 整合 FastDFS 实现文件服务器 - 掘金 (juejin.cn)
配置好Nginx之后就可以使用Nginx访问FastDFS了
如图所示,直接访问FastDFS中的视频文件
使用 Nginx地址:Nginx端口/文件所在目录 即可访问到该文件,例如
当前我的Nginx端口是80,ip是192.168.1.112
文件地址是group1/M00/00/00/dM265mP2DdiAOmMDBi6hbgVNgpo398.mp4
所以用“192.168.1.112/group1/M00/00/00/dM265mP2DdiAOmMDBi6hbgVNgpo398.mp4”即可在浏览器中直接打开该网址
结合网页
使用一个非常简陋的页面用于展示基本功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>videoTest</title>
<style>
video {
width: 500px;
}
</style>
</head>
<body>
<video
src="http://192.168.1.112/group1/M00/00/00/dM265mP2DdiAOmMDBi6hbgVNgpo398.mp4"
controls="controls"
></video>
</body>
</html>
使用<video>标签展示视频内容。
src是指要访问的视频链接,也就是Nginx调用FastDFS视频文件的链接。
当前的src是写死的。在实际开发中,可以根据当前的业务情况,向服务器后台发送一个请求src链接的请求,从而实现了其他视频的播放。
当然,FastDFS不仅可以用于存储视频,还可以存储其他文件。例如创建一个云端的数据存储服务器,大致的思路与这个差不多。