Merge branch 'wvp-28181-2.0' into wvp-pro-record
commit
01a619f9e3
|
@ -119,8 +119,8 @@ public interface ISIPCommander {
|
||||||
/**
|
/**
|
||||||
* 视频流停止
|
* 视频流停止
|
||||||
*/
|
*/
|
||||||
void streamByeCmd(String deviceId, String channelId, String ssrc, SipSubscribe.Event okEvent);
|
void streamByeCmd(String deviceId, String channelId, String stream, SipSubscribe.Event okEvent);
|
||||||
void streamByeCmd(String deviceId, String channelId, String ssrc);
|
void streamByeCmd(String deviceId, String channelId, String stream);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回放暂停
|
* 回放暂停
|
||||||
|
|
|
@ -92,6 +92,7 @@ public class ZLMRunner implements CommandLineRunner {
|
||||||
|
|
||||||
// 获取所有的zlm, 并开启主动连接
|
// 获取所有的zlm, 并开启主动连接
|
||||||
List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
|
List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
|
||||||
|
mediaServerService.updateVmServer(all);
|
||||||
if (all.size() == 0) {
|
if (all.size() == 0) {
|
||||||
all.add(mediaConfig.getMediaSerItem());
|
all.add(mediaConfig.getMediaSerItem());
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,8 @@ public interface IMediaServerService {
|
||||||
|
|
||||||
void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
|
void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
|
||||||
|
|
||||||
|
void updateVmServer(List<MediaServerItem> mediaServerItemList);
|
||||||
|
|
||||||
SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
|
SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
|
||||||
|
|
||||||
SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback);
|
SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback);
|
||||||
|
@ -74,6 +76,8 @@ public interface IMediaServerService {
|
||||||
|
|
||||||
void delete(String id);
|
void delete(String id);
|
||||||
|
|
||||||
|
void deleteDb(String id);
|
||||||
|
|
||||||
MediaServerItem getDefaultMediaServer();
|
MediaServerItem getDefaultMediaServer();
|
||||||
|
|
||||||
void updateMediaServerKeepalive(String mediaServerId, JSONObject data);
|
void updateMediaServerKeepalive(String mediaServerId, JSONObject data);
|
||||||
|
|
|
@ -46,8 +46,7 @@ import java.util.*;
|
||||||
* 媒体服务器节点管理
|
* 媒体服务器节点管理
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Order(value=2)
|
public class MediaServerServiceImpl implements IMediaServerService {
|
||||||
public class MediaServerServiceImpl implements IMediaServerService, CommandLineRunner {
|
|
||||||
|
|
||||||
private final static Logger logger = LoggerFactory.getLogger(MediaServerServiceImpl.class);
|
private final static Logger logger = LoggerFactory.getLogger(MediaServerServiceImpl.class);
|
||||||
|
|
||||||
|
@ -102,9 +101,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
|
||||||
* 初始化
|
* 初始化
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run(String... args) throws Exception {
|
public void updateVmServer(List<MediaServerItem> mediaServerItemList) {
|
||||||
logger.info("[缓存初始化] Media Server ");
|
logger.info("[缓存初始化] Media Server ");
|
||||||
List<MediaServerItem> mediaServerItemList = mediaServerMapper.queryAll();
|
|
||||||
for (MediaServerItem mediaServerItem : mediaServerItemList) {
|
for (MediaServerItem mediaServerItem : mediaServerItemList) {
|
||||||
if (StringUtils.isEmpty(mediaServerItem.getId())) {
|
if (StringUtils.isEmpty(mediaServerItem.getId())) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -225,7 +223,8 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
|
||||||
String key = (String) mediaServerKey;
|
String key = (String) mediaServerKey;
|
||||||
MediaServerItem mediaServerItem = (MediaServerItem) redisUtil.get(key);
|
MediaServerItem mediaServerItem = (MediaServerItem) redisUtil.get(key);
|
||||||
// 检查状态
|
// 检查状态
|
||||||
if (redisUtil.zScore(onlineKey, mediaServerItem.getId()) != null) {
|
Double aDouble = redisUtil.zScore(onlineKey, mediaServerItem.getId());
|
||||||
|
if (aDouble != null) {
|
||||||
mediaServerItem.setStatus(true);
|
mediaServerItem.setStatus(true);
|
||||||
}
|
}
|
||||||
result.add(mediaServerItem);
|
result.add(mediaServerItem);
|
||||||
|
@ -610,6 +609,11 @@ public class MediaServerServiceImpl implements IMediaServerService, CommandLineR
|
||||||
String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetup.getServerId() + "_" + id;
|
String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetup.getServerId() + "_" + id;
|
||||||
redisUtil.del(key);
|
redisUtil.del(key);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public void deleteDb(String id){
|
||||||
|
//同步删除数据库中的数据
|
||||||
|
mediaServerMapper.delOne(id);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMediaServerKeepalive(String mediaServerId, JSONObject data) {
|
public void updateMediaServerKeepalive(String mediaServerId, JSONObject data) {
|
||||||
|
|
|
@ -158,6 +158,7 @@ public class ServerController {
|
||||||
public WVPResult<String> deleteMediaServer(@RequestParam String id){
|
public WVPResult<String> deleteMediaServer(@RequestParam String id){
|
||||||
if (mediaServerService.getOne(id) != null) {
|
if (mediaServerService.getOne(id) != null) {
|
||||||
mediaServerService.delete(id);
|
mediaServerService.delete(id);
|
||||||
|
mediaServerService.deleteDb(id);
|
||||||
}else {
|
}else {
|
||||||
WVPResult<String> result = new WVPResult<>();
|
WVPResult<String> result = new WVPResult<>();
|
||||||
result.setCode(-1);
|
result.setCode(-1);
|
||||||
|
|
Loading…
Reference in New Issue