Commit 162025ce3fd7fdb37a3aa1cacc22074a53ef31ae

Authored by 648540858
1 parent 94d831a8

修复录像合并和下载

src/main/java/top/panll/assist/dto/UserSettings.java
... ... @@ -12,10 +12,10 @@ public class UserSettings {
12 12 @Value("${userSettings.id}")
13 13 private String id;
14 14  
15   - @Value("${userSettings.record}")
16   - private String recordTempPath = "./recordTemp";
  15 + @Value("${userSettings.record-temp:./recordTemp}")
  16 + private String recordTempPath;
17 17  
18   - @Value("${userSettings.recordTempDay:7}")
  18 + @Value("${userSettings.record-temp-day:7}")
19 19 private int recordTempDay;
20 20  
21 21 @Value("${userSettings.ffmpeg}")
... ...
src/main/java/top/panll/assist/service/VideoFileService.java
... ... @@ -224,6 +224,12 @@ public class VideoFileService {
224 224 }
225 225  
226 226 File recordFile = new File(userSettings.getRecordTempPath() );
  227 + if (!recordFile.exists()) {
  228 + if (!recordFile.mkdirs()) {
  229 + logger.info("[录像合并] 失败, 任务ID:{}, 创建临时目录失败", taskId);
  230 + throw new ControllerException(ErrorCode.ERROR100.getCode(), "创建临时目录失败");
  231 + }
  232 + }
227 233 MergeOrCutTaskInfo mergeOrCutTaskInfo = new MergeOrCutTaskInfo();
228 234 mergeOrCutTaskInfo.setId(taskId);
229 235 mergeOrCutTaskInfo.setApp(videoTaskInfo.getApp());
... ... @@ -260,7 +266,7 @@ public class VideoFileService {
260 266 mergeOrCutTaskInfo.setPercentage("1");
261 267  
262 268 // 处理文件路径
263   - Path relativize = Paths.get(userSettings.getRecordTempPath()).relativize(Paths.get(result));
  269 + String relativize = new File(result).getName();
264 270 mergeOrCutTaskInfo.setRecordFile(relativize.toString());
265 271 if (videoTaskInfo.getRemoteHost() != null) {
266 272 mergeOrCutTaskInfo.setDownloadFile(videoTaskInfo.getRemoteHost() + "/download.html?url=download/" + relativize);
... ...
src/main/resources/all-application.yml
... ... @@ -28,7 +28,7 @@ server:
28 28  
29 29 # [根据业务需求配置]
30 30 user-settings:
31   - # [可选 ] zlm配置的录像路径,不配置则使用当前目录下的record目录 即: ./record
  31 + # [可选 ] 临时录像路径
32 32 record-temp-path: ./recordTemp
33 33 # [可选 ] 录像保存时长(单位: 天)每天晚12点自动对过期文件执行清理, 不配置则不删除
34 34 record-temp-day: 7
... ...
src/main/resources/application-local.yml
... ... @@ -33,18 +33,13 @@ server:
33 33  
34 34 # [根据业务需求配置]
35 35 userSettings:
36   - # [必选 ] 服务ID
37   - id: 334533
38   - # [必选 ] 录像路径
39   - record: /home/lin/server/zlm/ZLMediaKit/release/linux/Debug/www/record/
40   - # [可选 ] 录像保存时长(单位: 天)每天晚12点自动对过期文件执行清理
41   - recordDay: 10
42   - # [可选 ] 录像下载合成临时文件保存时长, 不配置默认取值recordDay(单位: 天)每天晚12点自动对过期文件执行清理
43   - # recordTempDay: 7
  36 + id: 111
  37 + # [可选 ] 录像保存时长(单位: 天)每天晚12点自动对过期文件执行清理, 不配置则不删除
  38 + record-temp-day: 7
44 39 # [必选 ] ffmpeg路径
45   - ffmpeg: /home/lin/IdeaProjects/wvp-pro-assist/lib/ffmpeg
  40 + ffmpeg: ./lib/ffmpeg
46 41 # [必选 ] ffprobe路径, 一般安装ffmpeg就会自带, 一般跟ffmpeg在同一目录,用于查询文件的信息,
47   - ffprobe: /home/lin/IdeaProjects/wvp-pro-assist/lib/ffprobe
  42 + ffprobe: ./lib/ffprobe
48 43 # [可选 ] 限制 ffmpeg 合并文件使用的线程数,间接限制cpu使用率, 默认2 限制到50%
49 44 threads: 2
50 45  
... ...