From 44d216100b45c3337c593ee82ee68e7e0f35d24b Mon Sep 17 00:00:00 2001 From: Lawrence <1934378145@qq.com> Date: 星期三, 16 十二月 2020 20:29:19 +0800 Subject: [PATCH] 与master分支同步 --- src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 151 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java index d9e40e5..b58caae 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java @@ -1,16 +1,36 @@ package com.genersoft.iot.vmp.storager; import java.util.List; +import java.util.Map; +import com.alibaba.fastjson.JSONObject; +import com.genersoft.iot.vmp.common.PageResult; +import com.genersoft.iot.vmp.common.StreamInfo; +import com.genersoft.iot.vmp.conf.MediaServerConfig; import com.genersoft.iot.vmp.gb28181.bean.Device; +import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; +import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; /** * @Description:瑙嗛璁惧鏁版嵁瀛樺偍鎺ュ彛 - * @author: songww + * @author: swwheihei * @date: 2020骞�5鏈�6鏃� 涓嬪崍2:14:31 */ public interface IVideoManagerStorager { - + + /** + * 鏇存柊娴佸獟浣撲俊鎭� + * @param mediaServerConfig + * @return + */ + public boolean updateMediaInfo(MediaServerConfig mediaServerConfig); + + /** + * 鑾峰彇娴佸獟浣撲俊鎭� + * @return + */ + public MediaServerConfig getMediaInfo(); + /** * 鏍规嵁璁惧ID鍒ゆ柇璁惧鏄惁瀛樺湪 * @@ -33,7 +53,15 @@ * @param device 璁惧瀵硅薄 * @return true锛氬垱寤烘垚鍔� false锛氬垱寤哄け璐� */ - public boolean update(Device device); + public boolean updateDevice(Device device); + + /** + * 娣诲姞璁惧閫氶亾 + * + * @param deviceId 璁惧id + * @param channel 閫氶亾 + */ + public void updateChannel(String deviceId, DeviceChannel channel); /** * 鑾峰彇璁惧 @@ -42,15 +70,47 @@ * @return DShadow 璁惧瀵硅薄 */ public Device queryVideoDevice(String deviceId); - + + /** + * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾鍒楄〃 + * + * @param deviceId 璁惧ID + * @param page 鍒嗛〉 褰撳墠椤� + * @param count 姣忛〉鏁伴噺 + * @return + */ + public PageResult queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, String online, int page, int count); + + /** + * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾鍒楄〃 + * + * @param deviceId 璁惧ID + * @return + */ + public List<DeviceChannel> queryChannelsByDeviceId(String deviceId); + /** + * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾 + * @param deviceId 璁惧ID + * @param channelId 閫氶亾ID + */ + public DeviceChannel queryChannel(String deviceId, String channelId); + /** * 鑾峰彇澶氫釜璁惧 * * @param deviceIds 璁惧ID鏁扮粍 * @return List<Device> 璁惧瀵硅薄鏁扮粍 */ + public PageResult<Device> queryVideoDeviceList(String[] deviceIds, int page, int count); + + /** + * 鑾峰彇澶氫釜璁惧 + * + * @param deviceIds 璁惧ID鏁扮粍 + * @return List<Device> 璁惧瀵硅薄鏁扮粍 + */ public List<Device> queryVideoDeviceList(String[] deviceIds); - + /** * 鍒犻櫎璁惧 * @@ -74,4 +134,90 @@ * @return true锛氭洿鏂版垚鍔� false锛氭洿鏂板け璐� */ public boolean outline(String deviceId); + + /** + * 寮�濮嬫挱鏀炬椂灏嗘祦瀛樺叆 + * + * @param stream 娴佷俊鎭� + * @return + */ + public boolean startPlay(StreamInfo stream); + + /** + * 鍋滄鎾斁鏃跺垹闄� + * + * @return + */ + public boolean stopPlay(StreamInfo streamInfo); + + /** + * 鏌ユ壘瑙嗛娴� + * + * @return + */ + public StreamInfo queryPlay(StreamInfo streamInfo); + + /** + * 鏌ヨ瀛愯澶� + * + * @param deviceId + * @param channelId + * @param page + * @param count + * @return + */ + PageResult querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count); + + /** + * 鏇存柊缂撳瓨 + */ + public void updateCatch(); + + /** + * 娓呯┖閫氶亾 + * @param deviceId + */ + void cleanChannelsForDevice(String deviceId); + + StreamInfo queryPlayBySSRC(String ssrc); + + StreamInfo queryPlayByDevice(String deviceId, String code); + + Map<String, StreamInfo> queryPlayByDeviceId(String deviceId); + + boolean startPlayback(StreamInfo streamInfo); + + boolean stopPlayback(StreamInfo streamInfo); + + StreamInfo queryPlaybackByDevice(String deviceId, String channelId); + + StreamInfo queryPlaybackBySSRC(String ssrc); + + /** + * 鏇存柊鎴栨坊鍔犱笂绾у钩鍙� + * @param parentPlatform + */ + boolean updateParentPlatform(ParentPlatform parentPlatform); + + /** + * 鍒犻櫎涓婄骇骞冲彴 + * @param parentPlatform + */ + boolean deleteParentPlatform(ParentPlatform parentPlatform); + + + /** + * 鍒嗛〉鑾峰彇涓婄骇骞冲彴 + * @param page + * @param count + * @return + */ + public PageResult<ParentPlatform> queryParentPlatformList(int page, int count); + + /** + * 鑾峰彇涓婄骇骞冲彴 + * @param platformGbId + * @return + */ + public ParentPlatform queryParentPlatById(String platformGbId); } -- Gitblit v1.8.0