瀏覽代碼

优化云端录像转化

648540858 2 年之前
父節點
當前提交
16c056e338

+ 1 - 1
sql/初始化.sql

@@ -282,7 +282,7 @@ create table wvp_cloud_record (
                                   collect bool default false,
                                   reserve bool default false,
                                   file_size integer,
-                                  time_len integer,
+                                  time_len float,
                                   constraint uk_stream_push_app_stream_path unique (app, stream, file_path)
 );
 

+ 0 - 14
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/MediaServerItem.java

@@ -80,15 +80,9 @@ public class MediaServerItem{
     @Schema(description = "是否是默认ZLM")
     private boolean defaultServer;
 
-    @Schema(description = "录像存储路径")
-    private String recordPath;
-
     @Schema(description = "录像存储时长")
     private int recordDate;
 
-
-
-
     public MediaServerItem() {
     }
 
@@ -306,14 +300,6 @@ public class MediaServerItem{
         this.sendRtpPortRange = sendRtpPortRange;
     }
 
-    public String getRecordPath() {
-        return recordPath;
-    }
-
-    public void setRecordPath(String recordPath) {
-        this.recordPath = recordPath;
-    }
-
     public int getRecordDate() {
         return recordDate;
     }

+ 3 - 3
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnRecordMp4HookParam.java

@@ -14,7 +14,7 @@ public class OnRecordMp4HookParam extends HookParam{
     private String url;
     private String vhost;
     private long start_time;
-    private long time_len;
+    private double time_len;
 
     public String getApp() {
         return app;
@@ -88,11 +88,11 @@ public class OnRecordMp4HookParam extends HookParam{
         this.start_time = start_time;
     }
 
-    public long getTime_len() {
+    public double getTime_len() {
         return time_len;
     }
 
-    public void setTime_len(long time_len) {
+    public void setTime_len(double time_len) {
         this.time_len = time_len;
     }
 

+ 3 - 3
src/main/java/com/genersoft/iot/vmp/service/bean/CloudRecordItem.java

@@ -80,14 +80,14 @@ public class CloudRecordItem {
         CloudRecordItem cloudRecordItem = new CloudRecordItem();
         cloudRecordItem.setApp(param.getApp());
         cloudRecordItem.setStream(param.getStream());
-        cloudRecordItem.setStartTime(param.getStart_time());
+        cloudRecordItem.setStartTime(param.getStart_time()*1000);
         cloudRecordItem.setFileName(param.getFile_name());
         cloudRecordItem.setFolder(param.getFolder());
         cloudRecordItem.setFileSize(param.getFile_size());
         cloudRecordItem.setFilePath(param.getFile_path());
         cloudRecordItem.setMediaServerId(param.getMediaServerId());
-        cloudRecordItem.setTimeLen(param.getTime_len());
-        cloudRecordItem.setEndTime(param.getStart_time() + param.getTime_len());
+        cloudRecordItem.setTimeLen((long) param.getTime_len() * 1000);
+        cloudRecordItem.setEndTime((param.getStart_time() + (long)param.getTime_len()) * 1000);
         return cloudRecordItem;
     }
 

+ 2 - 1
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java

@@ -780,11 +780,12 @@ public class PlayServiceImpl implements IPlayService {
             } else {
                 String startTime = inviteInfo.getStreamInfo().getStartTime();
                 String endTime = inviteInfo.getStreamInfo().getEndTime();
+                // 此时start和end单位是秒
                 long start = DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime);
                 long end = DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime);
 
                 BigDecimal currentCount = new BigDecimal(duration);
-                BigDecimal totalCount = new BigDecimal(end - start);
+                BigDecimal totalCount = new BigDecimal((end - start) * 1000);
                 BigDecimal divide = currentCount.divide(totalCount, 2, RoundingMode.HALF_UP);
                 double process = divide.doubleValue();
                 inviteInfo.getStreamInfo().setProgress(process);

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/utils/DateUtil.java

@@ -89,7 +89,7 @@ public class DateUtil {
      * 时间戳 转 yyyy_MM_dd
      */
     public static String timestampTo_yyyy_MM_dd(long timestamp) {
-        Instant instant = Instant.ofEpochSecond(timestamp);
+        Instant instant = Instant.ofEpochMilli(timestamp);
         return DateFormatter.format(LocalDateTime.ofInstant(instant, ZoneId.of(zoneStr)));
     }