feat(chaos): 实现视频分片上传和后台处理功能- 新增视频上传相关控制器、服务接口和实现类
- 实现了视频分片上传、合并和后台处理的逻辑 - 添加了 RabbitMQ 消息队列配置和消息转换器 -优化了 JWT 认证过滤器和日志记录 - 新增了跨域配置
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package cn.nopj.chaos_api.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
public interface VideoFileUploadService {
|
||||
|
||||
/**
|
||||
* 初始化上传
|
||||
* @param fileName 文件名
|
||||
* @param totalSize 文件大小
|
||||
* @return 上传信息
|
||||
*/
|
||||
Map<String, Object> initUpload(String fileName, long totalSize);
|
||||
|
||||
/**
|
||||
* 上传分片
|
||||
* @param uploadId 上传ID
|
||||
* @param chunkIndex 分片索引
|
||||
* @param bytes 分片内容
|
||||
* @throws IOException IO 异常
|
||||
*/
|
||||
void uploadChunk(String uploadId, int chunkIndex, byte[] bytes) throws IOException;
|
||||
|
||||
/**
|
||||
* 合并并处理上传的文件
|
||||
* @param uploadId 上传ID
|
||||
* @param fileName 文件名
|
||||
* @throws IOException IO 异常
|
||||
*/
|
||||
void mergeAndProcess(String uploadId, String fileName) throws IOException;
|
||||
|
||||
/**
|
||||
* 将处理结果推送到MQ
|
||||
* @param filePath 文件路径
|
||||
* @param uploadId 上传ID
|
||||
*/
|
||||
void pushResultToMQ(String filePath,String uploadId);
|
||||
|
||||
/**
|
||||
* 将处理结果推送到MQ
|
||||
* @param filePath 文件路径
|
||||
*/
|
||||
void pushResultToMQ(String filePath);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package cn.nopj.chaos_api.service;
|
||||
|
||||
import cn.nopj.chaos_api.dto.VideoTaskPayload;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public interface VideoProcessingService {
|
||||
/**
|
||||
* 监听视频处理任务
|
||||
*
|
||||
* @param payload 视频处理任务负载
|
||||
*/
|
||||
void listenForVideoTasks(VideoTaskPayload payload);
|
||||
|
||||
|
||||
/**
|
||||
* 处理视频
|
||||
*
|
||||
* @param sourceFilePath 源视频文件路径
|
||||
* @param uploadId 上传ID
|
||||
*/
|
||||
void processVideo(String sourceFilePath, String uploadId);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user