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 | 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
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 | ... | ... |