2021-04-02 19:04:01 +08:00
|
|
|
package com.genersoft.iot.vmp.service;
|
2021-03-30 18:46:34 +08:00
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
2021-11-24 10:02:47 +08:00
|
|
|
import com.genersoft.iot.vmp.common.StreamInfo;
|
2021-07-16 16:34:51 +08:00
|
|
|
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
|
2021-04-01 18:06:21 +08:00
|
|
|
import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
|
2021-03-30 18:46:34 +08:00
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
|
|
|
public interface IStreamProxyService {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 保存视频代理
|
|
|
|
* @param param
|
|
|
|
*/
|
2022-08-21 22:22:34 +08:00
|
|
|
StreamInfo save(StreamProxyItem param);
|
2021-03-30 18:46:34 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 添加视频代理到zlm
|
|
|
|
* @param param
|
|
|
|
* @return
|
|
|
|
*/
|
2021-04-01 18:06:21 +08:00
|
|
|
JSONObject addStreamProxyToZlm(StreamProxyItem param);
|
2021-03-30 18:46:34 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 从zlm移除视频代理
|
|
|
|
* @param param
|
|
|
|
* @return
|
|
|
|
*/
|
2021-04-01 18:06:21 +08:00
|
|
|
JSONObject removeStreamProxyFromZlm(StreamProxyItem param);
|
2021-03-30 18:46:34 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 分页查询
|
|
|
|
* @param page
|
|
|
|
* @param count
|
|
|
|
* @return
|
|
|
|
*/
|
2021-04-01 18:06:21 +08:00
|
|
|
PageInfo<StreamProxyItem> getAll(Integer page, Integer count);
|
2021-03-30 18:46:34 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 删除视频代理
|
|
|
|
* @param app
|
|
|
|
* @param stream
|
|
|
|
*/
|
|
|
|
void del(String app, String stream);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 启用视频代理
|
|
|
|
* @param app
|
|
|
|
* @param stream
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
boolean start(String app, String stream);
|
|
|
|
|
2022-01-27 18:08:19 +08:00
|
|
|
/**
|
|
|
|
* 更新状态
|
|
|
|
* @param status 状态
|
|
|
|
* @param app
|
|
|
|
* @param stream
|
|
|
|
*/
|
|
|
|
int updateStatus(boolean status, String app, String stream);
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-30 18:46:34 +08:00
|
|
|
/**
|
|
|
|
* 停用用视频代理
|
|
|
|
* @param app
|
|
|
|
* @param stream
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
boolean stop(String app, String stream);
|
2021-06-04 19:22:47 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取ffmpeg.cmd模板
|
|
|
|
* @return
|
|
|
|
*/
|
2021-07-26 11:40:32 +08:00
|
|
|
JSONObject getFFmpegCMDs(MediaServerItem mediaServerItem);
|
2021-11-24 15:09:43 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据app与stream获取streamProxy
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
StreamProxyItem getStreamProxyByAppAndStream(String app, String streamId);
|
2021-12-07 21:13:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 新的节点加入
|
2021-12-08 16:45:50 +08:00
|
|
|
* @param mediaServerId
|
2021-12-07 21:13:55 +08:00
|
|
|
* @return
|
|
|
|
*/
|
2021-12-08 16:45:50 +08:00
|
|
|
void zlmServerOnline(String mediaServerId);
|
2021-12-07 21:13:55 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 节点离线
|
|
|
|
* @param mediaServerId
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
void zlmServerOffline(String mediaServerId);
|
2021-12-08 16:45:50 +08:00
|
|
|
|
|
|
|
void clean();
|
2022-07-17 23:17:36 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 更新代理流
|
|
|
|
*/
|
|
|
|
boolean updateStreamProxy(StreamProxyItem streamProxyItem);
|
2021-03-30 18:46:34 +08:00
|
|
|
}
|