| | |
| | | subscribe.response(mediaInfo, param);
|
| | | }
|
| | |
|
| | | List<OnStreamChangedHookParam.MediaTrack> tracks = param.getTracks();
|
| | | Track track = new Track();
|
| | | track.setReaderCount(param.getTotalReaderCount());
|
| | | for (OnStreamChangedHookParam.MediaTrack mediaTrack : tracks) {
|
| | | switch (mediaTrack.getCodec_id()) {
|
| | | case 0:
|
| | | track.setVideoCodec("H264");
|
| | | break;
|
| | | case 1:
|
| | | track.setVideoCodec("H265");
|
| | | break;
|
| | | case 2:
|
| | | track.setAudioCodec("AAC");
|
| | | break;
|
| | | case 3:
|
| | | track.setAudioCodec("G711A");
|
| | | break;
|
| | | case 4:
|
| | | track.setAudioCodec("G711U");
|
| | | break;
|
| | | }
|
| | | if (mediaTrack.getSample_rate() > 0) {
|
| | | track.setAudioSampleRate(mediaTrack.getSample_rate());
|
| | | }
|
| | | if (mediaTrack.getChannels() > 0) {
|
| | | track.setAudioChannels(mediaTrack.getChannels());
|
| | | }
|
| | | if (mediaTrack.getHeight() > 0) {
|
| | | track.setHeight(mediaTrack.getHeight());
|
| | | }
|
| | | if (mediaTrack.getWidth() > 0) {
|
| | | track.setWidth(mediaTrack.getWidth());
|
| | | }
|
| | | }
|
| | | // TODO 重构此处逻辑
|
| | | if (param.isRegist()) {
|
| | | // 处理流注册的鉴权信息, 流注销这里不再删除鉴权信息,下次来了新的鉴权信息会对就的进行覆盖
|
| | |
| | | callId = streamAuthorityInfo.getCallId();
|
| | | }
|
| | | StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaInfo,
|
| | | param.getApp(), param.getStream(), track, callId);
|
| | | param.getApp(), param.getStream(), Track.getInstance(param), callId);
|
| | | param.setStreamInfo(new StreamContent(streamInfoByAppAndStream));
|
| | | redisCatchStorage.addStream(mediaInfo, type, param.getApp(), param.getStream(), param);
|
| | | if (param.getOriginType() == OriginType.RTSP_PUSH.ordinal()
|
| | |
| | | }
|
| | | // 收到无人观看说明流也没有在往上级推送
|
| | | if (redisCatchStorage.isChannelSendingRTP(inviteInfo.getChannelId())) {
|
| | | List<SendRtpItem> sendRtpItems = redisCatchStorage.querySendRTPServerByChnnelId(
|
| | | List<SendRtpItem> sendRtpItems = redisCatchStorage.querySendRTPServerByChannelId(
|
| | | inviteInfo.getChannelId());
|
| | | if (sendRtpItems.size() > 0) {
|
| | | if (!sendRtpItems.isEmpty()) {
|
| | | for (SendRtpItem sendRtpItem : sendRtpItems) {
|
| | | ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(sendRtpItem.getPlatformId());
|
| | | try {
|