ZLMMediaNodeServerService.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package com.genersoft.iot.vmp.media.zlm;
  2. import com.alibaba.fastjson2.JSON;
  3. import com.alibaba.fastjson2.JSONArray;
  4. import com.alibaba.fastjson2.JSONObject;
  5. import com.genersoft.iot.vmp.common.CommonCallback;
  6. import com.genersoft.iot.vmp.media.IMediaNodeServerService;
  7. import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Component;
  10. import org.springframework.stereotype.Service;
  11. @Service("zlm")
  12. public class ZLMMediaNodeServerService implements IMediaNodeServerService {
  13. @Autowired
  14. private ZLMRESTfulUtils zlmresTfulUtils;
  15. @Autowired
  16. private ZLMServerFactory zlmServerFactory;
  17. @Override
  18. public int createRTPServer(MediaServerItem mediaServerItem, String streamId, long ssrc, Integer port, Boolean onlyAuto, Boolean reUsePort, Integer tcpMode) {
  19. return zlmServerFactory.createRTPServer(mediaServerItem, streamId, ssrc, port, onlyAuto, reUsePort, tcpMode);;
  20. }
  21. @Override
  22. public void closeRtpServer(MediaServerItem mediaServerItem, String streamId) {
  23. zlmresTfulUtils.closeStreams(mediaServerItem, "rtp", streamId);
  24. }
  25. @Override
  26. public void closeRtpServer(MediaServerItem mediaServerItem, String streamId, CommonCallback<Boolean> callback) {
  27. zlmServerFactory.closeRtpServer(mediaServerItem, streamId, callback);
  28. }
  29. @Override
  30. public void closeStreams(MediaServerItem mediaServerItem, String app, String stream) {
  31. zlmresTfulUtils.closeStreams(mediaServerItem, app, stream);
  32. }
  33. @Override
  34. public Boolean updateRtpServerSSRC(MediaServerItem mediaServerItem, String streamId, String ssrc) {
  35. return zlmServerFactory.updateRtpServerSSRC(mediaServerItem, streamId, ssrc);
  36. }
  37. @Override
  38. public boolean checkNodeId(MediaServerItem mediaServerItem) {
  39. if (mediaServerItem == null) {
  40. return false;
  41. }
  42. JSONObject responseJSON = zlmresTfulUtils.getMediaServerConfig(mediaServerItem);
  43. if (responseJSON != null) {
  44. JSONArray data = responseJSON.getJSONArray("data");
  45. if (data != null && !data.isEmpty()) {
  46. ZLMServerConfig zlmServerConfig= JSON.parseObject(JSON.toJSONString(data.get(0)), ZLMServerConfig.class);
  47. return zlmServerConfig.getGeneralMediaServerId().equals(mediaServerItem.getId());
  48. }else {
  49. return false;
  50. }
  51. }else {
  52. return false;
  53. }
  54. }
  55. @Override
  56. public void online(MediaServerItem mediaServerItem) {
  57. }
  58. }