Commit 16c056e338b7d2006da05f1f70bf87624f458d3d
1 parent
daac0010
优化云端录像转化
Showing
6 changed files
with
10 additions
and
23 deletions
sql/初始化.sql
| @@ -282,7 +282,7 @@ create table wvp_cloud_record ( | @@ -282,7 +282,7 @@ create table wvp_cloud_record ( | ||
| 282 | collect bool default false, | 282 | collect bool default false, |
| 283 | reserve bool default false, | 283 | reserve bool default false, |
| 284 | file_size integer, | 284 | file_size integer, |
| 285 | - time_len integer, | 285 | + time_len float, |
| 286 | constraint uk_stream_push_app_stream_path unique (app, stream, file_path) | 286 | constraint uk_stream_push_app_stream_path unique (app, stream, file_path) |
| 287 | ); | 287 | ); |
| 288 | 288 |
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java
| @@ -80,15 +80,9 @@ public class MediaServerItem{ | @@ -80,15 +80,9 @@ public class MediaServerItem{ | ||
| 80 | @Schema(description = "是否是默认ZLM") | 80 | @Schema(description = "是否是默认ZLM") |
| 81 | private boolean defaultServer; | 81 | private boolean defaultServer; |
| 82 | 82 | ||
| 83 | - @Schema(description = "录像存储路径") | ||
| 84 | - private String recordPath; | ||
| 85 | - | ||
| 86 | @Schema(description = "录像存储时长") | 83 | @Schema(description = "录像存储时长") |
| 87 | private int recordDate; | 84 | private int recordDate; |
| 88 | 85 | ||
| 89 | - | ||
| 90 | - | ||
| 91 | - | ||
| 92 | public MediaServerItem() { | 86 | public MediaServerItem() { |
| 93 | } | 87 | } |
| 94 | 88 | ||
| @@ -306,14 +300,6 @@ public class MediaServerItem{ | @@ -306,14 +300,6 @@ public class MediaServerItem{ | ||
| 306 | this.sendRtpPortRange = sendRtpPortRange; | 300 | this.sendRtpPortRange = sendRtpPortRange; |
| 307 | } | 301 | } |
| 308 | 302 | ||
| 309 | - public String getRecordPath() { | ||
| 310 | - return recordPath; | ||
| 311 | - } | ||
| 312 | - | ||
| 313 | - public void setRecordPath(String recordPath) { | ||
| 314 | - this.recordPath = recordPath; | ||
| 315 | - } | ||
| 316 | - | ||
| 317 | public int getRecordDate() { | 303 | public int getRecordDate() { |
| 318 | return recordDate; | 304 | return recordDate; |
| 319 | } | 305 | } |
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnRecordMp4HookParam.java
| @@ -14,7 +14,7 @@ public class OnRecordMp4HookParam extends HookParam{ | @@ -14,7 +14,7 @@ public class OnRecordMp4HookParam extends HookParam{ | ||
| 14 | private String url; | 14 | private String url; |
| 15 | private String vhost; | 15 | private String vhost; |
| 16 | private long start_time; | 16 | private long start_time; |
| 17 | - private long time_len; | 17 | + private double time_len; |
| 18 | 18 | ||
| 19 | public String getApp() { | 19 | public String getApp() { |
| 20 | return app; | 20 | return app; |
| @@ -88,11 +88,11 @@ public class OnRecordMp4HookParam extends HookParam{ | @@ -88,11 +88,11 @@ public class OnRecordMp4HookParam extends HookParam{ | ||
| 88 | this.start_time = start_time; | 88 | this.start_time = start_time; |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | - public long getTime_len() { | 91 | + public double getTime_len() { |
| 92 | return time_len; | 92 | return time_len; |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | - public void setTime_len(long time_len) { | 95 | + public void setTime_len(double time_len) { |
| 96 | this.time_len = time_len; | 96 | this.time_len = time_len; |
| 97 | } | 97 | } |
| 98 | 98 |
src/main/java/com/genersoft/iot/vmp/service/bean/CloudRecordItem.java
| @@ -80,14 +80,14 @@ public class CloudRecordItem { | @@ -80,14 +80,14 @@ public class CloudRecordItem { | ||
| 80 | CloudRecordItem cloudRecordItem = new CloudRecordItem(); | 80 | CloudRecordItem cloudRecordItem = new CloudRecordItem(); |
| 81 | cloudRecordItem.setApp(param.getApp()); | 81 | cloudRecordItem.setApp(param.getApp()); |
| 82 | cloudRecordItem.setStream(param.getStream()); | 82 | cloudRecordItem.setStream(param.getStream()); |
| 83 | - cloudRecordItem.setStartTime(param.getStart_time()); | 83 | + cloudRecordItem.setStartTime(param.getStart_time()*1000); |
| 84 | cloudRecordItem.setFileName(param.getFile_name()); | 84 | cloudRecordItem.setFileName(param.getFile_name()); |
| 85 | cloudRecordItem.setFolder(param.getFolder()); | 85 | cloudRecordItem.setFolder(param.getFolder()); |
| 86 | cloudRecordItem.setFileSize(param.getFile_size()); | 86 | cloudRecordItem.setFileSize(param.getFile_size()); |
| 87 | cloudRecordItem.setFilePath(param.getFile_path()); | 87 | cloudRecordItem.setFilePath(param.getFile_path()); |
| 88 | cloudRecordItem.setMediaServerId(param.getMediaServerId()); | 88 | cloudRecordItem.setMediaServerId(param.getMediaServerId()); |
| 89 | - cloudRecordItem.setTimeLen(param.getTime_len()); | ||
| 90 | - cloudRecordItem.setEndTime(param.getStart_time() + param.getTime_len()); | 89 | + cloudRecordItem.setTimeLen((long) param.getTime_len() * 1000); |
| 90 | + cloudRecordItem.setEndTime((param.getStart_time() + (long)param.getTime_len()) * 1000); | ||
| 91 | return cloudRecordItem; | 91 | return cloudRecordItem; |
| 92 | } | 92 | } |
| 93 | 93 |
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
| @@ -780,11 +780,12 @@ public class PlayServiceImpl implements IPlayService { | @@ -780,11 +780,12 @@ public class PlayServiceImpl implements IPlayService { | ||
| 780 | } else { | 780 | } else { |
| 781 | String startTime = inviteInfo.getStreamInfo().getStartTime(); | 781 | String startTime = inviteInfo.getStreamInfo().getStartTime(); |
| 782 | String endTime = inviteInfo.getStreamInfo().getEndTime(); | 782 | String endTime = inviteInfo.getStreamInfo().getEndTime(); |
| 783 | + // 此时start和end单位是秒 | ||
| 783 | long start = DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime); | 784 | long start = DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime); |
| 784 | long end = DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime); | 785 | long end = DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime); |
| 785 | 786 | ||
| 786 | BigDecimal currentCount = new BigDecimal(duration); | 787 | BigDecimal currentCount = new BigDecimal(duration); |
| 787 | - BigDecimal totalCount = new BigDecimal(end - start); | 788 | + BigDecimal totalCount = new BigDecimal((end - start) * 1000); |
| 788 | BigDecimal divide = currentCount.divide(totalCount, 2, RoundingMode.HALF_UP); | 789 | BigDecimal divide = currentCount.divide(totalCount, 2, RoundingMode.HALF_UP); |
| 789 | double process = divide.doubleValue(); | 790 | double process = divide.doubleValue(); |
| 790 | inviteInfo.getStreamInfo().setProgress(process); | 791 | inviteInfo.getStreamInfo().setProgress(process); |
src/main/java/com/genersoft/iot/vmp/utils/DateUtil.java
| @@ -89,7 +89,7 @@ public class DateUtil { | @@ -89,7 +89,7 @@ public class DateUtil { | ||
| 89 | * 时间戳 转 yyyy_MM_dd | 89 | * 时间戳 转 yyyy_MM_dd |
| 90 | */ | 90 | */ |
| 91 | public static String timestampTo_yyyy_MM_dd(long timestamp) { | 91 | public static String timestampTo_yyyy_MM_dd(long timestamp) { |
| 92 | - Instant instant = Instant.ofEpochSecond(timestamp); | 92 | + Instant instant = Instant.ofEpochMilli(timestamp); |
| 93 | return DateFormatter.format(LocalDateTime.ofInstant(instant, ZoneId.of(zoneStr))); | 93 | return DateFormatter.format(LocalDateTime.ofInstant(instant, ZoneId.of(zoneStr))); |
| 94 | } | 94 | } |
| 95 | 95 |