| | |
| | | |
| | | boolean deleteRecordDirectory(MediaServerItem mediaServerItem, String app, String stream, String date, String fileName); |
| | | |
| | | List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream); |
| | | List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream, String callId); |
| | | } |
| | |
| | | |
| | | boolean deleteRecordDirectory(MediaServerItem mediaServerItem, String app, String stream, String date, String fileName); |
| | | |
| | | List<StreamInfo> getMediaList(MediaServerItem mediaInfo, String app, String stream); |
| | | List<StreamInfo> getMediaList(MediaServerItem mediaInfo, String app, String stream, String callId); |
| | | } |
| | |
| | | package com.genersoft.iot.vmp.media.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.genersoft.iot.vmp.common.CommonCallback; |
| | | import com.genersoft.iot.vmp.common.StreamInfo; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream) { |
| | | public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream, String callId) { |
| | | IMediaNodeServerService mediaNodeServerService = nodeServerServiceMap.get(mediaServerItem.getType()); |
| | | if (mediaNodeServerService == null) { |
| | | logger.info("[getMediaList] 失败, mediaServerItem的类型: {},未找到对应的实现类", mediaServerItem.getType()); |
| | | return new ArrayList<>(); |
| | | } |
| | | return mediaNodeServerService.getMediaList(mediaServerItem, app, stream); |
| | | return mediaNodeServerService.getMediaList(mediaServerItem, app, stream, callId); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream) { |
| | | public List<StreamInfo> getMediaList(MediaServerItem mediaServerItem, String app, String stream, String callId) { |
| | | List<StreamInfo> streamInfoList = new ArrayList<>(); |
| | | JSONObject mediaList = zlmresTfulUtils.getMediaList(mediaServerItem, app, stream); |
| | | if (mediaList != null) { |
| | |
| | | JSONObject mediaJSON = data.getJSONObject(0); |
| | | JSONArray tracks = mediaJSON.getJSONArray("tracks"); |
| | | |
| | | if (authority) { |
| | | streamInfo = getStreamInfoByAppAndStream(mediaServerItem, app, stream, tracks, null, calld, true); |
| | | }else { |
| | | streamInfo = getStreamInfoByAppAndStream(mediaServerItem, app, stream, tracks, null,null, true); |
| | | StreamInfo streamInfo = getStreamInfoByAppAndStream(mediaServerItem, app, stream, tracks, null, callId, true); |
| | | if (streamInfo != null) { |
| | | streamInfoList.add(streamInfo); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (sendRtpItem != null) { |
| | | redisCatchStorage.deleteSendRTPServer(deviceId, sendRtpItem.getChannelId(), null, null); |
| | | MediaServerItem mediaInfo = mediaServerService.getOne(sendRtpItem.getMediaServerId()); |
| | | mediaServerService.stopSendRtp(mediaInfo, sendRtpItem.getApp(), sendRtpItem.getStream()); |
| | | mediaServerService.stopSendRtp(mediaInfo, sendRtpItem.getApp(), sendRtpItem.getStream(), null); |
| | | } |
| | | |
| | | audioBroadcastManager.del(deviceId, audioBroadcastCatch.getChannelId()); |
| | |
| | | package com.genersoft.iot.vmp.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSONArray; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.genersoft.iot.vmp.common.StreamInfo; |
| | | import com.genersoft.iot.vmp.conf.MediaConfig; |
| | | import com.genersoft.iot.vmp.media.bean.Track; |
| | | import com.genersoft.iot.vmp.media.service.IMediaServerService; |
| | | import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils; |
| | | import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; |
| | | import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo; |
| | | import com.genersoft.iot.vmp.media.service.IMediaServerService; |
| | | import com.genersoft.iot.vmp.service.IMediaService; |
| | | import com.genersoft.iot.vmp.storager.IRedisCatchStorage; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | if (streamAuthorityInfo != null) { |
| | | calld = streamAuthorityInfo.getCallId(); |
| | | } |
| | | List<StreamInfo> streamInfoList = mediaServerService.getMediaList(mediaInfo, app, stream); |
| | | List<StreamInfo> streamInfoList = mediaServerService.getMediaList(mediaInfo, app, stream, calld); |
| | | if (streamInfoList.isEmpty()) { |
| | | return null; |
| | | }else { |
| | |
| | | streamPushItem.setStream(item.getStream()); |
| | | streamPushItem.setAliveSecond(item.getAliveSecond()); |
| | | streamPushItem.setOriginSock(item.getOriginSock()); |
| | | streamPushItem.setTotalReaderCount(item.getTotalReaderCount()); |
| | | streamPushItem.setTotalReaderCount(item.getTotalReaderCount() + ""); |
| | | streamPushItem.setOriginType(item.getOriginType()); |
| | | streamPushItem.setOriginTypeStr(item.getOriginTypeStr()); |
| | | streamPushItem.setOriginUrl(item.getOriginUrl()); |
| | |
| | | onStreamChangedHookParam.setMediaServerId(mediaServerId); |
| | | onStreamChangedHookParam.setCreateStamp(System.currentTimeMillis()/1000); |
| | | onStreamChangedHookParam.setAliveSecond(0L); |
| | | onStreamChangedHookParam.setTotalReaderCount("0"); |
| | | onStreamChangedHookParam.setTotalReaderCount(0); |
| | | onStreamChangedHookParam.setOriginType(0); |
| | | onStreamChangedHookParam.setOriginTypeStr("0"); |
| | | onStreamChangedHookParam.setOriginTypeStr("unknown"); |
| | |
| | | } |
| | | |
| | | this.mediaServerId = streamInfo.getMediaServerId(); |
| | | this.track = streamInfo.getTracks(); |
| | | this.track = streamInfo.getTrack(); |
| | | this.startTime = streamInfo.getStartTime(); |
| | | this.endTime = streamInfo.getEndTime(); |
| | | this.progress = streamInfo.getProgress(); |
| | |
| | | this.mediaServerId = mediaServerId; |
| | | } |
| | | |
| | | public Object getTracks() { |
| | | return tracks; |
| | | public Track getTrack() { |
| | | return track; |
| | | } |
| | | |
| | | public void setTracks(Object tracks) { |
| | | this.tracks = tracks; |
| | | public void setTrack(Track track) { |
| | | this.track = track; |
| | | } |
| | | |
| | | public String getStartTime() { |