IStreamProxyService.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package com.genersoft.iot.vmp.service;
  2. import com.alibaba.fastjson2.JSONObject;
  3. import com.genersoft.iot.vmp.common.GeneralCallback;
  4. import com.genersoft.iot.vmp.common.StreamInfo;
  5. import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
  6. import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
  7. import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
  8. import com.github.pagehelper.PageInfo;
  9. public interface IStreamProxyService {
  10. /**
  11. * 保存视频代理
  12. * @param param
  13. */
  14. void save(StreamProxyItem param, GeneralCallback<StreamInfo> callback);
  15. /**
  16. * 添加视频代理到zlm
  17. * @param param
  18. * @return
  19. */
  20. JSONObject addStreamProxyToZlm(StreamProxyItem param);
  21. /**
  22. * 从zlm移除视频代理
  23. * @param param
  24. * @return
  25. */
  26. JSONObject removeStreamProxyFromZlm(StreamProxyItem param);
  27. /**
  28. * 分页查询
  29. * @param page
  30. * @param count
  31. * @return
  32. */
  33. PageInfo<StreamProxyItem> getAll(Integer page, Integer count);
  34. /**
  35. * 删除视频代理
  36. * @param app
  37. * @param stream
  38. */
  39. void del(String app, String stream);
  40. /**
  41. * 启用视频代理
  42. * @param app
  43. * @param stream
  44. * @return
  45. */
  46. boolean start(String app, String stream);
  47. /**
  48. * 更新状态
  49. * @param status 状态
  50. * @param app
  51. * @param stream
  52. */
  53. int updateStatus(boolean status, String app, String stream);
  54. /**
  55. * 停用用视频代理
  56. * @param app
  57. * @param stream
  58. * @return
  59. */
  60. boolean stop(String app, String stream);
  61. /**
  62. * 获取ffmpeg.cmd模板
  63. * @return
  64. */
  65. JSONObject getFFmpegCMDs(MediaServerItem mediaServerItem);
  66. /**
  67. * 根据app与stream获取streamProxy
  68. * @return
  69. */
  70. StreamProxyItem getStreamProxyByAppAndStream(String app, String streamId);
  71. /**
  72. * 新的节点加入
  73. * @param mediaServerId
  74. * @return
  75. */
  76. void zlmServerOnline(String mediaServerId);
  77. /**
  78. * 节点离线
  79. * @param mediaServerId
  80. * @return
  81. */
  82. void zlmServerOffline(String mediaServerId);
  83. void clean();
  84. /**
  85. * 更新代理流
  86. */
  87. boolean updateStreamProxy(StreamProxyItem streamProxyItem);
  88. /**
  89. * 获取统计信息
  90. * @return
  91. */
  92. ResourceBaseInfo getOverview();
  93. }