2021-04-02 19:04:01 +08:00
|
|
|
package com.genersoft.iot.vmp.service;
|
|
|
|
|
|
|
|
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
|
2022-11-08 19:58:36 +08:00
|
|
|
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
|
2021-07-26 11:40:32 +08:00
|
|
|
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
|
2021-04-02 19:04:01 +08:00
|
|
|
import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
|
2022-07-12 17:33:17 +08:00
|
|
|
import com.genersoft.iot.vmp.service.bean.StreamPushItemFromRedis;
|
2022-10-24 15:20:35 +08:00
|
|
|
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
|
2021-04-02 19:04:01 +08:00
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
|
|
|
import java.util.List;
|
2022-02-24 16:55:06 +08:00
|
|
|
import java.util.Map;
|
2021-04-02 19:04:01 +08:00
|
|
|
|
2022-11-10 16:48:17 +08:00
|
|
|
/**
|
|
|
|
* @author lin
|
|
|
|
*/
|
2021-04-02 19:04:01 +08:00
|
|
|
public interface IStreamPushService {
|
|
|
|
|
2021-07-26 11:40:32 +08:00
|
|
|
List<StreamPushItem> handleJSON(String json, MediaServerItem mediaServerItem);
|
2021-04-02 19:04:01 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 将应用名和流ID加入国标关联
|
|
|
|
* @param stream
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
boolean saveToGB(GbStream stream);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 将应用名和流ID移出国标关联
|
|
|
|
* @param stream
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
boolean removeFromGB(GbStream stream);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取
|
|
|
|
*/
|
2022-02-07 14:12:34 +08:00
|
|
|
PageInfo<StreamPushItem> getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId);
|
|
|
|
|
2021-12-08 16:45:50 +08:00
|
|
|
List<StreamPushItem> getPushList(String mediaSererId);
|
2021-11-24 11:19:52 +08:00
|
|
|
|
2022-11-08 19:58:36 +08:00
|
|
|
StreamPushItem transform(OnStreamChangedHookParam item);
|
2021-12-03 10:18:50 +08:00
|
|
|
|
|
|
|
StreamPushItem getPush(String app, String streamId);
|
2021-12-04 17:27:23 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 停止一路推流
|
|
|
|
* @param app 应用名
|
|
|
|
* @param streamId 流ID
|
|
|
|
*/
|
|
|
|
boolean stop(String app, String streamId);
|
|
|
|
|
2021-12-07 21:13:55 +08:00
|
|
|
/**
|
|
|
|
* 新的节点加入
|
|
|
|
*/
|
2021-12-08 16:45:50 +08:00
|
|
|
void zlmServerOnline(String mediaServerId);
|
2021-12-07 21:13:55 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 节点离线
|
|
|
|
*/
|
|
|
|
void zlmServerOffline(String mediaServerId);
|
|
|
|
|
2022-07-12 17:33:17 +08:00
|
|
|
/**
|
|
|
|
* 清空
|
|
|
|
*/
|
2021-12-08 16:45:50 +08:00
|
|
|
void clean();
|
2021-12-13 17:20:23 +08:00
|
|
|
|
2022-07-12 17:33:17 +08:00
|
|
|
|
2021-12-13 17:20:23 +08:00
|
|
|
boolean saveToRandomGB();
|
2022-01-16 10:40:57 +08:00
|
|
|
|
2022-07-12 17:33:17 +08:00
|
|
|
/**
|
|
|
|
* 批量添加
|
|
|
|
*/
|
2022-01-16 10:40:57 +08:00
|
|
|
void batchAdd(List<StreamPushItem> streamPushExcelDtoList);
|
2022-02-07 18:30:43 +08:00
|
|
|
|
2022-07-12 17:33:17 +08:00
|
|
|
/**
|
|
|
|
* 中止多个推流
|
|
|
|
*/
|
2022-02-07 18:30:43 +08:00
|
|
|
boolean batchStop(List<GbStream> streamPushItems);
|
2022-02-11 16:45:06 +08:00
|
|
|
|
2022-07-12 17:33:17 +08:00
|
|
|
/**
|
|
|
|
* 导入时批量增加
|
|
|
|
*/
|
2022-02-24 16:55:06 +08:00
|
|
|
void batchAddForUpload(List<StreamPushItem> streamPushItems, Map<String, List<String[]>> streamPushItemsForAll);
|
2022-07-12 17:33:17 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 全部离线
|
|
|
|
*/
|
|
|
|
void allStreamOffline();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 推流离线
|
|
|
|
*/
|
|
|
|
void offline(List<StreamPushItemFromRedis> offlineStreams);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 推流上线
|
|
|
|
*/
|
|
|
|
void online(List<StreamPushItemFromRedis> onlineStreams);
|
|
|
|
|
2022-07-22 16:02:14 +08:00
|
|
|
/**
|
|
|
|
* 增加推流
|
|
|
|
*/
|
|
|
|
boolean add(StreamPushItem stream);
|
2022-08-18 16:17:23 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取全部的app+Streanm 用于判断推流列表是新增还是修改
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
List<String> getAllAppAndStream();
|
2022-10-24 15:20:35 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取统计信息
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
ResourceBaceInfo getOverview();
|
2021-04-02 19:04:01 +08:00
|
|
|
}
|