From 2c1dbe63de3d370d0b0f20fea474326e88b9ca23 Mon Sep 17 00:00:00 2001 From: lawrencehj <1934378145@qq.com> Date: 星期三, 10 三月 2021 14:39:40 +0800 Subject: [PATCH] 增加接收Bye请求后停止向上级推流功能 --- src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java | 186 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 128 insertions(+), 58 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 2680922..10360b0 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java @@ -1,34 +1,21 @@ 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; +import com.genersoft.iot.vmp.vmanager.platform.bean.ChannelReduce; +import com.genersoft.iot.vmp.gb28181.bean.MobilePosition; +import com.github.pagehelper.PageInfo; /** * @Description:瑙嗛璁惧鏁版嵁瀛樺偍鎺ュ彛 * @author: swwheihei * @date: 2020骞�5鏈�6鏃� 涓嬪崍2:14:31 */ +@SuppressWarnings("rawtypes") public interface IVideoManagerStorager { - - /** - * 鏇存柊娴佸獟浣撲俊鎭� - * @param mediaServerConfig - * @return - */ - public boolean updateMediaInfo(MediaServerConfig mediaServerConfig); - - /** - * 鑾峰彇娴佸獟浣撲俊鎭� - * @return - */ - public MediaServerConfig getMediaInfo(); /** * 鏍规嵁璁惧ID鍒ゆ柇璁惧鏄惁瀛樺湪 @@ -61,6 +48,21 @@ * @param channel 閫氶亾 */ public void updateChannel(String deviceId, DeviceChannel channel); + + /** + * 寮�濮嬫挱鏀� + * @param deviceId 璁惧id + * @param channelId 閫氶亾ID + * @param streamId 娴佸湴鍧� + */ + public void startPlay(String deviceId, String channelId, String streamId); + + /** + * 鍋滄鎾斁 + * @param deviceId 璁惧id + * @param channelId 閫氶亾ID + */ + public void stopPlay(String deviceId, String channelId); /** * 鑾峰彇璁惧 @@ -78,7 +80,7 @@ * @param count 姣忛〉鏁伴噺 * @return */ - public PageResult queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, String online, int page, int count); + public PageInfo queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, Boolean online, int page, int count); /** * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾鍒楄〃 @@ -87,6 +89,7 @@ * @return */ public List<DeviceChannel> queryChannelsByDeviceId(String deviceId); + /** * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾 * @param deviceId 璁惧ID @@ -94,21 +97,20 @@ */ public DeviceChannel queryChannel(String deviceId, String channelId); - /** + /** * 鑾峰彇澶氫釜璁惧 - * - * @param deviceIds 璁惧ID鏁扮粍 + * @param page 褰撳墠椤垫暟 + * @param count 姣忛〉鏁伴噺 * @return List<Device> 璁惧瀵硅薄鏁扮粍 */ - public PageResult<Device> queryVideoDeviceList(String[] deviceIds, int page, int count); + public PageInfo<Device> queryVideoDeviceList(int page, int count); /** * 鑾峰彇澶氫釜璁惧 * - * @param deviceIds 璁惧ID鏁扮粍 * @return List<Device> 璁惧瀵硅薄鏁扮粍 */ - public List<Device> queryVideoDeviceList(String[] deviceIds); + public List<Device> queryVideoDeviceList(); /** * 鍒犻櫎璁惧 @@ -134,27 +136,6 @@ */ 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); /** * 鏌ヨ瀛愯澶� @@ -165,12 +146,8 @@ * @param count * @return */ - PageResult querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count); + PageInfo querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count); - /** - * 鏇存柊缂撳瓨 - */ - public void updateCatch(); /** * 娓呯┖閫氶亾 @@ -178,17 +155,110 @@ */ void cleanChannelsForDevice(String deviceId); - StreamInfo queryPlayBySSRC(String ssrc); - StreamInfo queryPlayByDevice(String deviceId, String code); + /** + * 鏇存柊涓婄骇骞冲彴 + * @param parentPlatform + */ + boolean updateParentPlatform(ParentPlatform parentPlatform); - Map<String, StreamInfo> queryPlayByDeviceId(String deviceId); - boolean startPlayBlack(StreamInfo streamInfo); + /** + * 娣诲姞涓婄骇骞冲彴 + * @param parentPlatform + */ + boolean addParentPlatform(ParentPlatform parentPlatform); - boolean stopPlayBlack(StreamInfo streamInfo); + /** + * 鍒犻櫎涓婄骇骞冲彴 + * @param parentPlatform + */ + boolean deleteParentPlatform(ParentPlatform parentPlatform); - StreamInfo queryPlayBlackByDevice(String deviceId, String channelId); - StreamInfo queryPlayBlackBySSRC(String ssrc); + /** + * 鍒嗛〉鑾峰彇涓婄骇骞冲彴 + * @param page + * @param count + * @return + */ + PageInfo<ParentPlatform> queryParentPlatformList(int page, int count); + + /** + * 鑾峰彇鎵�鏈夊凡鍚敤鐨勫钩鍙� + * @return + */ + List<ParentPlatform> queryEnableParentPlatformList(boolean enable); + + /** + * 鑾峰彇涓婄骇骞冲彴 + * @param platformGbId + * @return + */ + ParentPlatform queryParentPlatById(String platformGbId); + + /** + * 鎵�鏈夊钩鍙扮绾� + */ + void outlineForAllParentPlatform(); + + /** + * 鏌ヨ閫氶亾淇℃伅锛屼笉鍖哄垎璁惧(宸插叧鑱斿钩鍙版垨鍏ㄩ儴) + */ + PageInfo<ChannelReduce> queryAllChannelList(int page, int count, String query, Boolean online, Boolean channelType, String platformId, Boolean inPlatform); + + /** + * 鏌ヨ璁惧鐨勯�氶亾淇℃伅 + */ + List<ChannelReduce> queryChannelListInParentPlatform(String platformId); + + + /** + * 鏇存柊涓婄骇骞冲彴鐨勯�氶亾淇℃伅 + * @param platformId + * @param channelReduces + * @return + */ + int updateChannelForGB(String platformId, List<ChannelReduce> channelReduces); + + /** + * 绉婚櫎涓婄骇骞冲彴鐨勯�氶亾淇℃伅 + * @param platformId + * @param channelReduces + * @return + */ + int delChannelForGB(String platformId, List<ChannelReduce> channelReduces); + + + DeviceChannel queryChannelInParentPlatform(String platformId, String channelId); + + Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId); + + + /** + * 娣诲姞Mobile Position璁惧绉诲姩浣嶇疆 + * @param MobilePosition + * @return + */ + public boolean insertMobilePosition(MobilePosition mobilePosition); + + /** + * 鏌ヨ绉诲姩浣嶇疆杞ㄨ抗 + * @param deviceId + * @param startTime + * @param endTime + */ + public List<MobilePosition> queryMobilePositions(String deviceId, String startTime, String endTime); + + /** + * 鏌ヨ鏈�鏂扮Щ鍔ㄤ綅缃� + * @param deviceId + */ + public MobilePosition queryLatestPosition(String deviceId); + + /** + * 鍒犻櫎鎸囧畾璁惧鐨勬墍鏈夌Щ鍔ㄤ綅缃� + * @param deviceId + */ + public int clearMobilePositionsByDeviceId(String deviceId); } -- Gitblit v1.8.0