项目简介
本项目是基于Spring Boot框架构建的视频处理系统,集成了MinIO对象存储和RabbitMQ消息队列。借助Spring Boot实现微服务架构,将视频上传、转码和下载等功能模块拆分为独立的Spring Boot应用。
项目的主要特性和功能
- 视频上传:用户能通过HTTP POST请求上传视频文件,文件存储于MinIO对象存储,同时发送消息至RabbitMQ的
encode
队列。 - 视频转码:转码服务从RabbitMQ的
encode
队列获取待转码视频信息,将其转换为720p和360p两种分辨率,转码后的视频存储到MinIO。 - 视频下载:用户可通过HTTP请求下载转码后的视频文件,系统支持在线播放和下载,还能切换分辨率。
安装使用步骤
前提条件
- 已安装Java 8或更高版本
- 已安装Maven
- 已安装Docker
步骤
- 启动MinIO对象存储服务:
shell docker run -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=12345678" -v /mnt/minio/data:/data -v /mnt/minio/config:/root/.minio minio/minio server /data
- 在MinIO管理界面创建存储桶:创建
video-original
、video-360p
和video-720p
三个存储桶。 - 启动RabbitMQ服务:
shell docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
- 配置应用属性:分别修改
upload
、encode
和download
目录下的application.properties
文件,配置MinIO和RabbitMQ相关信息。 - 启动Spring Boot应用:在
upload
、encode
和download
目录下分别执行以下命令启动应用:shell mvn spring-boot:run
upload
应用运行在8080端口,download
应用运行在8081端口。 - 使用系统:
- 访问
http://localhost:8080
进行视频上传。 - 访问
http://localhost:8081
查看可下载的视频列表,并进行在线播放或下载。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】