IStreamProxyService.java 2.3 KB

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