IStreamPushService.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package com.genersoft.iot.vmp.service;
  2. import com.genersoft.iot.vmp.gb28181.bean.GbStream;
  3. import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
  4. import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
  5. import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
  6. import com.genersoft.iot.vmp.service.bean.StreamPushItemFromRedis;
  7. import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
  8. import com.github.pagehelper.PageInfo;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * @author lin
  13. */
  14. public interface IStreamPushService {
  15. List<StreamPushItem> handleJSON(String json, MediaServerItem mediaServerItem);
  16. /**
  17. * 将应用名和流ID加入国标关联
  18. * @param stream
  19. * @return
  20. */
  21. boolean saveToGB(GbStream stream);
  22. /**
  23. * 将应用名和流ID移出国标关联
  24. * @param stream
  25. * @return
  26. */
  27. boolean removeFromGB(GbStream stream);
  28. /**
  29. * 获取
  30. */
  31. PageInfo<StreamPushItem> getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId);
  32. List<StreamPushItem> getPushList(String mediaSererId);
  33. StreamPushItem transform(OnStreamChangedHookParam item);
  34. StreamPushItem getPush(String app, String streamId);
  35. /**
  36. * 停止一路推流
  37. * @param app 应用名
  38. * @param streamId 流ID
  39. */
  40. boolean stop(String app, String streamId);
  41. /**
  42. * 新的节点加入
  43. */
  44. void zlmServerOnline(String mediaServerId);
  45. /**
  46. * 节点离线
  47. */
  48. void zlmServerOffline(String mediaServerId);
  49. /**
  50. * 清空
  51. */
  52. void clean();
  53. boolean saveToRandomGB();
  54. /**
  55. * 批量添加
  56. */
  57. void batchAdd(List<StreamPushItem> streamPushExcelDtoList);
  58. /**
  59. * 中止多个推流
  60. */
  61. boolean batchStop(List<GbStream> streamPushItems);
  62. /**
  63. * 导入时批量增加
  64. */
  65. void batchAddForUpload(List<StreamPushItem> streamPushItems, Map<String, List<String[]>> streamPushItemsForAll);
  66. /**
  67. * 全部离线
  68. */
  69. void allStreamOffline();
  70. /**
  71. * 推流离线
  72. */
  73. void offline(List<StreamPushItemFromRedis> offlineStreams);
  74. /**
  75. * 推流上线
  76. */
  77. void online(List<StreamPushItemFromRedis> onlineStreams);
  78. /**
  79. * 增加推流
  80. */
  81. boolean add(StreamPushItem stream);
  82. /**
  83. * 获取全部的app+Streanm 用于判断推流列表是新增还是修改
  84. * @return
  85. */
  86. List<String> getAllAppAndStream();
  87. /**
  88. * 获取统计信息
  89. * @return
  90. */
  91. ResourceBaseInfo getOverview();
  92. Map<String, StreamPushItem> getAllAppAndStreamMap();
  93. }