littlebot
Published on 2025-04-14 / 3 Visits
0

【源码】基于Spring Boot和MinIO的视频处理系统

项目简介

本项目是基于Spring Boot框架构建的视频处理系统,集成了MinIO对象存储和RabbitMQ消息队列。借助Spring Boot实现微服务架构,将视频上传、转码和下载等功能模块拆分为独立的Spring Boot应用。

项目的主要特性和功能

  1. 视频上传:用户能通过HTTP POST请求上传视频文件,文件存储于MinIO对象存储,同时发送消息至RabbitMQ的encode队列。
  2. 视频转码:转码服务从RabbitMQ的encode队列获取待转码视频信息,将其转换为720p和360p两种分辨率,转码后的视频存储到MinIO。
  3. 视频下载:用户可通过HTTP请求下载转码后的视频文件,系统支持在线播放和下载,还能切换分辨率。

安装使用步骤

前提条件

  • 已安装Java 8或更高版本
  • 已安装Maven
  • 已安装Docker

步骤

  1. 启动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
  2. 在MinIO管理界面创建存储桶:创建video-originalvideo-360pvideo-720p三个存储桶。
  3. 启动RabbitMQ服务shell docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
  4. 配置应用属性:分别修改uploadencodedownload目录下的application.properties文件,配置MinIO和RabbitMQ相关信息。
  5. 启动Spring Boot应用:在uploadencodedownload目录下分别执行以下命令启动应用: shell mvn spring-boot:run upload应用运行在8080端口,download应用运行在8081端口。
  6. 使用系统
  7. 访问http://localhost:8080进行视频上传。
  8. 访问http://localhost:8081查看可下载的视频列表,并进行在线播放或下载。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】