mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-25 06:27:50 +08:00
1078-优化录像回放开始和停止
This commit is contained in:
parent
26bbeac6c7
commit
984d8743be
@ -142,7 +142,12 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
}
|
}
|
||||||
String stream = deviceId + "-" + channelId;
|
String stream = deviceId + "-" + channelId;
|
||||||
MediaServerItem mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null);
|
MediaServerItem mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null);
|
||||||
|
if (mediaServerItem == null) {
|
||||||
|
for (GeneralCallback<StreamInfo> errorCallback : errorCallbacks) {
|
||||||
|
errorCallback.run(InviteErrorCode.FAIL.getCode(), "未找到可用的媒体节点", streamInfo);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
// 设置hook监听
|
// 设置hook监听
|
||||||
HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", stream, true, "rtsp", mediaServerItem.getId());
|
HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", stream, true, "rtsp", mediaServerItem.getId());
|
||||||
subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, HookParam hookParam) -> {
|
subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, HookParam hookParam) -> {
|
||||||
@ -259,8 +264,8 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
// 发送请求录像列表命令
|
// 发送请求录像列表命令
|
||||||
J9205 j9205 = new J9205();
|
J9205 j9205 = new J9205();
|
||||||
j9205.setChannelId(Integer.parseInt(channelId));
|
j9205.setChannelId(Integer.parseInt(channelId));
|
||||||
j9205.setStartTime(DateUtil.yyyy_MM_dd_HH_mm_ssToUrl(startTime));
|
j9205.setStartTime(DateUtil.yyyy_MM_dd_HH_mm_ssTo1078(startTime));
|
||||||
j9205.setEndTime(DateUtil.yyyy_MM_dd_HH_mm_ssToUrl(endTime));
|
j9205.setEndTime(DateUtil.yyyy_MM_dd_HH_mm_ssTo1078(endTime));
|
||||||
j9205.setMediaType(0);
|
j9205.setMediaType(0);
|
||||||
j9205.setStreamType(0);
|
j9205.setStreamType(0);
|
||||||
j9205.setStorageType(0);
|
j9205.setStorageType(0);
|
||||||
@ -306,9 +311,16 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
// 清理数据
|
// 清理数据
|
||||||
redisTemplate.delete(playbackKey);
|
redisTemplate.delete(playbackKey);
|
||||||
}
|
}
|
||||||
String stream = deviceId + "-" + channelId + "-" + startTime + "-" + endTime;
|
String startTimeParam = DateUtil.yyyy_MM_dd_HH_mm_ssTo1078(startTime);
|
||||||
|
String endTimeParam = DateUtil.yyyy_MM_dd_HH_mm_ssTo1078(endTime);
|
||||||
|
String stream = deviceId + "-" + channelId + "-" + startTimeParam + "-" + endTimeParam;
|
||||||
MediaServerItem mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null);
|
MediaServerItem mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null);
|
||||||
|
if (mediaServerItem == null) {
|
||||||
|
for (GeneralCallback<StreamInfo> errorCallback : errorCallbacks) {
|
||||||
|
errorCallback.run(InviteErrorCode.FAIL.getCode(), "未找到可用的媒体节点", streamInfo);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
// 设置hook监听
|
// 设置hook监听
|
||||||
HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", stream, true, "rtsp", mediaServerItem.getId());
|
HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", stream, true, "rtsp", mediaServerItem.getId());
|
||||||
subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, HookParam hookParam) -> {
|
subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, HookParam hookParam) -> {
|
||||||
@ -339,15 +351,15 @@ public class jt1078ServiceImpl implements Ijt1078Service {
|
|||||||
J9201 j9201 = new J9201();
|
J9201 j9201 = new J9201();
|
||||||
j9201.setChannel(Integer.parseInt(channelId));
|
j9201.setChannel(Integer.parseInt(channelId));
|
||||||
j9201.setIp(mediaServerItem.getSdpIp());
|
j9201.setIp(mediaServerItem.getSdpIp());
|
||||||
j9201.setRate(1);
|
j9201.setRate(0);
|
||||||
j9201.setPlaybackType(0);
|
j9201.setPlaybackType(0);
|
||||||
j9201.setPlaybackSpeed(0);
|
j9201.setPlaybackSpeed(0);
|
||||||
j9201.setTcpPort(ssrcInfo.getPort());
|
j9201.setTcpPort(ssrcInfo.getPort());
|
||||||
j9201.setUdpPort(ssrcInfo.getPort());
|
j9201.setUdpPort(ssrcInfo.getPort());
|
||||||
j9201.setType(0);
|
j9201.setType(0);
|
||||||
j9201.setStartTime(DateUtil.yyyy_MM_dd_HH_mm_ssToUrl(startTime));
|
j9201.setStartTime(DateUtil.yyyy_MM_dd_HH_mm_ssTo1078(startTime));
|
||||||
j9201.setEndTime(DateUtil.yyyy_MM_dd_HH_mm_ssToUrl(endTime));
|
j9201.setEndTime(DateUtil.yyyy_MM_dd_HH_mm_ssTo1078(endTime));
|
||||||
String s = jt1078Template.startBackLive(deviceId, j9201, 6);
|
String s = jt1078Template.startBackLive(deviceId, j9201, 20);
|
||||||
System.out.println("111ssss=== " + s);
|
System.out.println("111ssss=== " + s);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,6 +49,7 @@ public class DateUtil {
|
|||||||
* wvp内部统一时间格式
|
* wvp内部统一时间格式
|
||||||
*/
|
*/
|
||||||
public static final String URL_PATTERN = "yyyyMMddHHmmss";
|
public static final String URL_PATTERN = "yyyyMMddHHmmss";
|
||||||
|
public static final String PATTERN1078 = "yyMMddHHmmss";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日期格式
|
* 日期格式
|
||||||
@ -65,6 +66,7 @@ public class DateUtil {
|
|||||||
public static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERN, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
|
public static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERN, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
|
||||||
public static final DateTimeFormatter DateFormatter = DateTimeFormatter.ofPattern(date_PATTERN, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
|
public static final DateTimeFormatter DateFormatter = DateTimeFormatter.ofPattern(date_PATTERN, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
|
||||||
public static final DateTimeFormatter urlFormatter = DateTimeFormatter.ofPattern(URL_PATTERN, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
|
public static final DateTimeFormatter urlFormatter = DateTimeFormatter.ofPattern(URL_PATTERN, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
|
||||||
|
public static final DateTimeFormatter formatter1078 = DateTimeFormatter.ofPattern(PATTERN1078, Locale.getDefault()).withZone(ZoneId.of(zoneStr));
|
||||||
|
|
||||||
public static String yyyy_MM_dd_HH_mm_ssToISO8601(String formatTime) {
|
public static String yyyy_MM_dd_HH_mm_ssToISO8601(String formatTime) {
|
||||||
|
|
||||||
@ -86,8 +88,8 @@ public class DateUtil {
|
|||||||
public static String urlToyyyy_MM_dd_HH_mm_ss(String formatTime) {
|
public static String urlToyyyy_MM_dd_HH_mm_ss(String formatTime) {
|
||||||
return formatter.format(urlFormatter.parse(formatTime));
|
return formatter.format(urlFormatter.parse(formatTime));
|
||||||
}
|
}
|
||||||
public static String yyyy_MM_dd_HH_mm_ssToUrl(String formatTime) {
|
public static String yyyy_MM_dd_HH_mm_ssTo1078(String formatTime) {
|
||||||
return urlFormatter.format(formatter.parse(formatTime));
|
return formatter1078.format(formatter.parse(formatTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user