From 764d04b497356ba6bcbb75fd42b51eca750f7223 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 29 五月 2024 15:02:51 +0800 Subject: [PATCH] 调整上级观看消息的发送 --- src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java | 131 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 107 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java b/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java index d6015e0..a8c5338 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java +++ b/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java @@ -1,48 +1,51 @@ package com.genersoft.iot.vmp.media.service; import com.genersoft.iot.vmp.common.CommonCallback; -import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; +import com.genersoft.iot.vmp.common.StreamInfo; +import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem; +import com.genersoft.iot.vmp.media.bean.MediaInfo; +import com.genersoft.iot.vmp.media.bean.MediaServer; import com.genersoft.iot.vmp.service.bean.MediaServerLoad; import com.genersoft.iot.vmp.service.bean.SSRCInfo; +import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import java.util.List; +import java.util.Map; /** * 濯掍綋鏈嶅姟鑺傜偣 */ public interface IMediaServerService { - List<MediaServerItem> getAllOnlineList(); + List<MediaServer> getAllOnlineList(); - List<MediaServerItem> getAll(); + List<MediaServer> getAll(); - List<MediaServerItem> getAllFromDatabase(); + List<MediaServer> getAllFromDatabase(); - List<MediaServerItem> getAllOnline(); + List<MediaServer> getAllOnline(); - MediaServerItem getOne(String generalMediaServerId); + MediaServer getOne(String generalMediaServerId); void syncCatchFromDatabase(); - MediaServerItem getMediaServerForMinimumLoad(Boolean hasAssist); + MediaServer getMediaServerForMinimumLoad(Boolean hasAssist); - void updateVmServer(List<MediaServerItem> mediaServerItemList); + void updateVmServer(List<MediaServer> mediaServerItemList); - SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String presetSsrc, boolean ssrcCheck, - boolean isPlayback, Integer port, Boolean onlyAuto, Boolean reUsePort, Integer tcpMode); + SSRCInfo openRTPServer(MediaServer mediaServerItem, String streamId, String presetSsrc, boolean ssrcCheck, + boolean isPlayback, Integer port, Boolean onlyAuto, Boolean disableAudio, Boolean reUsePort, Integer tcpMode); - SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback, Integer port, Boolean onlyAuto); + void closeRTPServer(MediaServer mediaServerItem, String streamId); - void closeRTPServer(MediaServerItem mediaServerItem, String streamId); - - void closeRTPServer(MediaServerItem mediaServerItem, String streamId, CommonCallback<Boolean> callback); - Boolean updateRtpServerSSRC(MediaServerItem mediaServerItem, String streamId, String ssrc); + void closeRTPServer(MediaServer mediaServerItem, String streamId, CommonCallback<Boolean> callback); + Boolean updateRtpServerSSRC(MediaServer mediaServerItem, String streamId, String ssrc); void closeRTPServer(String mediaServerId, String streamId); - void clearRTPServer(MediaServerItem mediaServerItem); + void clearRTPServer(MediaServer mediaServerItem); - void update(MediaServerItem mediaSerItem); + void update(MediaServer mediaSerItem); void addCount(String mediaServerId); @@ -52,21 +55,101 @@ void clearMediaServerForOnline(); - void add(MediaServerItem mediaSerItem); + void add(MediaServer mediaSerItem); - void resetOnlineServerItem(MediaServerItem serverItem); + void resetOnlineServerItem(MediaServer serverItem); - MediaServerItem checkMediaServer(String ip, int port, String secret, String type); + MediaServer checkMediaServer(String ip, int port, String secret, String type); boolean checkMediaRecordServer(String ip, int port); void delete(String id); - MediaServerItem getDefaultMediaServer(); + MediaServer getDefaultMediaServer(); - MediaServerLoad getLoad(MediaServerItem mediaServerItem); + MediaServerLoad getLoad(MediaServer mediaServerItem); - List<MediaServerItem> getAllWithAssistPort(); + List<MediaServer> getAllWithAssistPort(); - MediaServerItem getOneFromDatabase(String id); + MediaServer getOneFromDatabase(String id); + + boolean stopSendRtp(MediaServer mediaInfo, String app, String stream, String ssrc); + + boolean initStopSendRtp(MediaServer mediaInfo, String app, String stream, String ssrc); + + boolean deleteRecordDirectory(MediaServer mediaServerItem, String app, String stream, String date, String fileName); + + List<StreamInfo> getMediaList(MediaServer mediaInfo, String app, String stream, String callId); + + Boolean connectRtpServer(MediaServer mediaServerItem, String address, int port, String stream); + + void getSnap(MediaServer mediaServerItemInuse, String streamUrl, int timeoutSec, int expireSec, String path, String fileName); + + MediaInfo getMediaInfo(MediaServer mediaServerItem, String app, String stream); + + Boolean pauseRtpCheck(MediaServer mediaServerItem, String streamKey); + + boolean resumeRtpCheck(MediaServer mediaServerItem, String streamKey); + + String getFfmpegCmd(MediaServer mediaServer, String cmdKey); + + void closeStreams(MediaServer mediaServerItem, String app, String stream); + + WVPResult<String> addFFmpegSource(MediaServer mediaServerItem, String srcUrl, String dstUrl, int timeoutMs, boolean enableAudio, boolean enableMp4, String ffmpegCmdKey); + + WVPResult<String> addStreamProxy(MediaServer mediaServerItem, String app, String stream, String url, boolean enableAudio, boolean enableMp4, String rtpType); + + Boolean delFFmpegSource(MediaServer mediaServerItem, String streamKey); + + Boolean delStreamProxy(MediaServer mediaServerItem, String streamKey); + + Map<String, String> getFFmpegCMDs(MediaServer mediaServer); + + /** + * 鏍规嵁搴旂敤鍚嶅拰娴両D鑾峰彇鎾斁鍦板潃, 閫氳繃zlm鎺ュ彛妫�鏌ユ槸鍚﹀瓨鍦� + * @param app + * @param stream + * @return + */ + StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId,String addr, boolean authority); + + + /** + * 鏍规嵁搴旂敤鍚嶅拰娴両D鑾峰彇鎾斁鍦板潃, 閫氳繃zlm鎺ュ彛妫�鏌ユ槸鍚﹀瓨鍦�, 杩斿洖鐨刬p浣跨敤杩滅▼璁块棶ip锛岄�傜敤涓巣lm涓巜vp鍦ㄤ竴鍙颁富鏈虹殑鎯呭喌 + * @param app + * @param stream + * @return + */ + StreamInfo getStreamInfoByAppAndStreamWithCheck(String app, String stream, String mediaServerId, boolean authority); + + /** + * 鏍规嵁搴旂敤鍚嶅拰娴両D鑾峰彇鎾斁鍦板潃, 鍙槸鍦板潃鎷兼帴 + * @param app + * @param stream + * @return + */ + StreamInfo getStreamInfoByAppAndStream(MediaServer mediaServerItem, String app, String stream, MediaInfo mediaInfo, String callId); + + /** + * 鏍规嵁搴旂敤鍚嶅拰娴両D鑾峰彇鎾斁鍦板潃, 鍙槸鍦板潃鎷兼帴锛岃繑鍥炵殑ip浣跨敤杩滅▼璁块棶ip锛岄�傜敤涓巣lm涓巜vp鍦ㄤ竴鍙颁富鏈虹殑鎯呭喌 + * @param app + * @param stream + * @return + */ + StreamInfo getStreamInfoByAppAndStream(MediaServer mediaServer, String app, String stream, MediaInfo mediaInfo, String addr, String callId, boolean isPlay); + + Boolean isStreamReady(MediaServer mediaServer, String rtp, String streamId); + + void startSendRtpPassive(MediaServer mediaServer, SendRtpItem sendRtpItem, Integer timeout); + + void startSendRtp(MediaServer mediaServer, SendRtpItem sendRtpItem); + + SendRtpItem createSendRtpItem(MediaServer mediaServerItem, String addressStr, int port, String ssrc, String requesterId, String deviceId, String channelId, boolean mediaTransmissionTCP, boolean rtcp); + + SendRtpItem createSendRtpItem(MediaServer serverItem, String ip, int port, String ssrc, String platformId, + String app, String stream, String channelId, boolean tcp, boolean rtcp); + + MediaServer getMediaServerByAppAndStream(String app, String stream); + + Long updateDownloadProcess(MediaServer mediaServerItem, String app, String stream); } -- Gitblit v1.8.0