|
@@ -42,8 +42,10 @@ import java.io.OutputStreamWriter;
|
|
|
import java.io.PrintWriter;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
+import java.time.Instant;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.OffsetDateTime;
|
|
|
+import java.time.ZoneOffset;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Calendar;
|
|
@@ -557,7 +559,7 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
cUtil = cmdCameraUtil;
|
|
|
sc = serverConfig;
|
|
|
wsUrl = caneraConfig.getWsUrl();
|
|
|
- httpUrl=caneraConfig.getHttpUrl();
|
|
|
+ httpUrl = caneraConfig.getHttpUrl();
|
|
|
recordUrl = caneraConfig.getRecordUrl();
|
|
|
hkUrl = caneraConfig.getHkUrl();
|
|
|
host = caneraConfig.getHost();
|
|
@@ -712,14 +714,28 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
* @param endTm
|
|
|
* @return
|
|
|
*/
|
|
|
- public static String getRecordList(String code, Date startTm, Date endTm) {
|
|
|
+ public static String getRecordList(String code, Date startTm, Date endTm,String channel) {
|
|
|
PlaybackVo playbackVo = new PlaybackVo();
|
|
|
playbackVo.setCameraIndexCode(code);
|
|
|
- // 格式化时间
|
|
|
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- playbackVo.setBeginTime(dateFormat.format(startTm));
|
|
|
- playbackVo.setEndTime(dateFormat.format(endTm));
|
|
|
- playbackVo.setProtocol("ws");
|
|
|
+
|
|
|
+
|
|
|
+ // 将 Date 转换为 Instant
|
|
|
+ Instant startInstant = startTm.toInstant();
|
|
|
+ Instant endInstant = endTm.toInstant();
|
|
|
+
|
|
|
+ // 将 Instant 转换为 OffsetDateTime
|
|
|
+ OffsetDateTime startOffsetDateTime = startInstant.atOffset(ZoneOffset.UTC);
|
|
|
+ OffsetDateTime endOffsetDateTime = endInstant.atOffset(ZoneOffset.UTC);
|
|
|
+ // 格式化为字符串
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
|
|
|
+ String formattedStartTime = startOffsetDateTime.format(formatter);
|
|
|
+ String formattedEndTime = endOffsetDateTime.format(formatter);
|
|
|
+
|
|
|
+ // 将格式化后的时间设置到 playbackVo 中
|
|
|
+ playbackVo.setBeginTime(formattedStartTime);
|
|
|
+ playbackVo.setEndTime(formattedEndTime);
|
|
|
+ playbackVo.setProtocol("rtsp");
|
|
|
+ playbackVo.setExpand("streamform=rtp");
|
|
|
//对象转换json字符串
|
|
|
String body = JSONObject.toJSONString(playbackVo);
|
|
|
//调用天网接口
|
|
@@ -729,7 +745,15 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
if ("0".equals(outJson.getString("code"))) {
|
|
|
JSONObject data = outJson.getJSONObject("data");
|
|
|
String urls = data.getString("url");
|
|
|
- return urls;
|
|
|
+ log.info("urls----------->"+urls);
|
|
|
+ try {
|
|
|
+ TimeUnit.SECONDS.sleep(3);
|
|
|
+ String msg = HttpUtils.sendGet(httpUrl + "/rtsp/api/pull?target=" + urls + "&streamPath=" + code + "/" + channel + "&save=0");
|
|
|
+ log.info("msg---------->" + msg);
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return getPlayFlv(code, channel, true);
|
|
|
} else {
|
|
|
return "调用天网接口失败";
|
|
|
}
|
|
@@ -1003,14 +1027,14 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
|
|
|
String urls = data.getString("url");
|
|
|
log.info("urls----->" + urls);
|
|
|
try {
|
|
|
- TimeUnit.SECONDS.sleep(5);
|
|
|
+ TimeUnit.SECONDS.sleep(3);
|
|
|
String msg = HttpUtils.sendGet(httpUrl + "/rtsp/api/pull?target=" + urls + "&streamPath=" + camerasVo.getCameraIndexCode() + "/" + channel + "&save=0");
|
|
|
- log.info("msg---------->"+msg);
|
|
|
+ log.info("msg---------->" + msg);
|
|
|
} catch (InterruptedException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- }else {
|
|
|
- log.info("流媒体获取流失败----->");
|
|
|
+ } else {
|
|
|
+ log.info("流媒体获取流失败----->");
|
|
|
}
|
|
|
}
|
|
|
|