Commit 162025ce3fd7fdb37a3aa1cacc22074a53ef31ae
1 parent
94d831a8
修复录像合并和下载
Showing
4 changed files
with
16 additions
and
15 deletions
src/main/java/top/panll/assist/dto/UserSettings.java
| @@ -12,10 +12,10 @@ public class UserSettings { | @@ -12,10 +12,10 @@ public class UserSettings { | ||
| 12 | @Value("${userSettings.id}") | 12 | @Value("${userSettings.id}") |
| 13 | private String id; | 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 | private int recordTempDay; | 19 | private int recordTempDay; |
| 20 | 20 | ||
| 21 | @Value("${userSettings.ffmpeg}") | 21 | @Value("${userSettings.ffmpeg}") |
src/main/java/top/panll/assist/service/VideoFileService.java
| @@ -224,6 +224,12 @@ public class VideoFileService { | @@ -224,6 +224,12 @@ public class VideoFileService { | ||
| 224 | } | 224 | } |
| 225 | 225 | ||
| 226 | File recordFile = new File(userSettings.getRecordTempPath() ); | 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 | MergeOrCutTaskInfo mergeOrCutTaskInfo = new MergeOrCutTaskInfo(); | 233 | MergeOrCutTaskInfo mergeOrCutTaskInfo = new MergeOrCutTaskInfo(); |
| 228 | mergeOrCutTaskInfo.setId(taskId); | 234 | mergeOrCutTaskInfo.setId(taskId); |
| 229 | mergeOrCutTaskInfo.setApp(videoTaskInfo.getApp()); | 235 | mergeOrCutTaskInfo.setApp(videoTaskInfo.getApp()); |
| @@ -260,7 +266,7 @@ public class VideoFileService { | @@ -260,7 +266,7 @@ public class VideoFileService { | ||
| 260 | mergeOrCutTaskInfo.setPercentage("1"); | 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 | mergeOrCutTaskInfo.setRecordFile(relativize.toString()); | 270 | mergeOrCutTaskInfo.setRecordFile(relativize.toString()); |
| 265 | if (videoTaskInfo.getRemoteHost() != null) { | 271 | if (videoTaskInfo.getRemoteHost() != null) { |
| 266 | mergeOrCutTaskInfo.setDownloadFile(videoTaskInfo.getRemoteHost() + "/download.html?url=download/" + relativize); | 272 | mergeOrCutTaskInfo.setDownloadFile(videoTaskInfo.getRemoteHost() + "/download.html?url=download/" + relativize); |
src/main/resources/all-application.yml
| @@ -28,7 +28,7 @@ server: | @@ -28,7 +28,7 @@ server: | ||
| 28 | 28 | ||
| 29 | # [根据业务需求配置] | 29 | # [根据业务需求配置] |
| 30 | user-settings: | 30 | user-settings: |
| 31 | - # [可选 ] zlm配置的录像路径,不配置则使用当前目录下的record目录 即: ./record | 31 | + # [可选 ] 临时录像路径 |
| 32 | record-temp-path: ./recordTemp | 32 | record-temp-path: ./recordTemp |
| 33 | # [可选 ] 录像保存时长(单位: 天)每天晚12点自动对过期文件执行清理, 不配置则不删除 | 33 | # [可选 ] 录像保存时长(单位: 天)每天晚12点自动对过期文件执行清理, 不配置则不删除 |
| 34 | record-temp-day: 7 | 34 | record-temp-day: 7 |
src/main/resources/application-local.yml
| @@ -33,18 +33,13 @@ server: | @@ -33,18 +33,13 @@ server: | ||
| 33 | 33 | ||
| 34 | # [根据业务需求配置] | 34 | # [根据业务需求配置] |
| 35 | userSettings: | 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 | # [必选 ] ffmpeg路径 | 39 | # [必选 ] ffmpeg路径 |
| 45 | - ffmpeg: /home/lin/IdeaProjects/wvp-pro-assist/lib/ffmpeg | 40 | + ffmpeg: ./lib/ffmpeg |
| 46 | # [必选 ] ffprobe路径, 一般安装ffmpeg就会自带, 一般跟ffmpeg在同一目录,用于查询文件的信息, | 41 | # [必选 ] ffprobe路径, 一般安装ffmpeg就会自带, 一般跟ffmpeg在同一目录,用于查询文件的信息, |
| 47 | - ffprobe: /home/lin/IdeaProjects/wvp-pro-assist/lib/ffprobe | 42 | + ffprobe: ./lib/ffprobe |
| 48 | # [可选 ] 限制 ffmpeg 合并文件使用的线程数,间接限制cpu使用率, 默认2 限制到50% | 43 | # [可选 ] 限制 ffmpeg 合并文件使用的线程数,间接限制cpu使用率, 默认2 限制到50% |
| 49 | threads: 2 | 44 | threads: 2 |
| 50 | 45 |