IStreamProxyService.java 2.4 KB

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