From 460f73555e8c8fe484339d2241b4f46070d44e1b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: Fri, 27 Dec 2024 10:42:40 +0800
Subject: [PATCH] =?UTF-8?q?[=E6=8E=A8=E6=B5=81=E8=AE=BE=E5=A4=87]=20?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8E=A8=E6=B5=81=E4=B8=AD=E9=87=8D=E5=90=AF?=
=?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=AF=BC=E8=87=B4=E6=97=A0=E6=B3=95=E7=BB=A7?=
=?UTF-8?q?=E7=BB=AD=E6=92=AD=E6=94=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../iot/vmp/media/bean/MediaInfo.java | 111 +++++++++---------
.../media/zlm/ZLMMediaNodeServerService.java | 16 +--
.../vmp/streamPush/dao/StreamPushMapper.java | 4 +-
3 files changed, 66 insertions(+), 65 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java
index b8da5678..c4a0615b 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java
@@ -106,63 +106,62 @@ public class MediaInfo {
}
}
JSONArray jsonArray = jsonObject.getJSONArray("tracks");
- if (jsonArray.isEmpty()) {
- return null;
- }
- for (int i = 0; i < jsonArray.size(); i++) {
- JSONObject trackJson = jsonArray.getJSONObject(i);
- Integer channels = trackJson.getInteger("channels");
- Integer codecId = trackJson.getInteger("codec_id");
- Integer codecType = trackJson.getInteger("codec_type");
- Integer sampleRate = trackJson.getInteger("sample_rate");
- Integer height = trackJson.getInteger("height");
- Integer width = trackJson.getInteger("width");
- Integer fps = trackJson.getInteger("fps");
- Integer loss = trackJson.getInteger("loss");
- Integer frames = trackJson.getInteger("frames");
- Long keyFrames = trackJson.getLongValue("key_frames");
- Integer gop_interval_ms = trackJson.getInteger("gop_interval_ms");
- Long gop_size = trackJson.getLongValue("gop_size");
+ if (!jsonArray.isEmpty()) {
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject trackJson = jsonArray.getJSONObject(i);
+ Integer channels = trackJson.getInteger("channels");
+ Integer codecId = trackJson.getInteger("codec_id");
+ Integer codecType = trackJson.getInteger("codec_type");
+ Integer sampleRate = trackJson.getInteger("sample_rate");
+ Integer height = trackJson.getInteger("height");
+ Integer width = trackJson.getInteger("width");
+ Integer fps = trackJson.getInteger("fps");
+ Integer loss = trackJson.getInteger("loss");
+ Integer frames = trackJson.getInteger("frames");
+ Long keyFrames = trackJson.getLongValue("key_frames");
+ Integer gop_interval_ms = trackJson.getInteger("gop_interval_ms");
+ Long gop_size = trackJson.getLongValue("gop_size");
- Long duration = trackJson.getLongValue("duration");
- if (channels != null) {
- mediaInfo.setAudioChannels(channels);
- }
- if (sampleRate != null) {
- mediaInfo.setAudioSampleRate(sampleRate);
- }
- if (height != null) {
- mediaInfo.setHeight(height);
- }
- if (width != null) {
- mediaInfo.setWidth(width);
- }
- if (fps != null) {
- mediaInfo.setFps(fps);
- }
- if (loss != null) {
- mediaInfo.setLoss(loss);
- }
- if (duration > 0L) {
- mediaInfo.setDuration(duration);
- }
- if (codecId != null) {
- switch (codecId) {
- case 0:
- mediaInfo.setVideoCodec("H264");
- break;
- case 1:
- mediaInfo.setVideoCodec("H265");
- break;
- case 2:
- mediaInfo.setAudioCodec("AAC");
- break;
- case 3:
- mediaInfo.setAudioCodec("G711A");
- break;
- case 4:
- mediaInfo.setAudioCodec("G711U");
- break;
+ Long duration = trackJson.getLongValue("duration");
+ if (channels != null) {
+ mediaInfo.setAudioChannels(channels);
+ }
+ if (sampleRate != null) {
+ mediaInfo.setAudioSampleRate(sampleRate);
+ }
+ if (height != null) {
+ mediaInfo.setHeight(height);
+ }
+ if (width != null) {
+ mediaInfo.setWidth(width);
+ }
+ if (fps != null) {
+ mediaInfo.setFps(fps);
+ }
+ if (loss != null) {
+ mediaInfo.setLoss(loss);
+ }
+ if (duration > 0L) {
+ mediaInfo.setDuration(duration);
+ }
+ if (codecId != null) {
+ switch (codecId) {
+ case 0:
+ mediaInfo.setVideoCodec("H264");
+ break;
+ case 1:
+ mediaInfo.setVideoCodec("H265");
+ break;
+ case 2:
+ mediaInfo.setAudioCodec("AAC");
+ break;
+ case 3:
+ mediaInfo.setAudioCodec("G711A");
+ break;
+ case 4:
+ mediaInfo.setAudioCodec("G711U");
+ break;
+ }
}
}
}
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java
index 802b7eb6..dc665d32 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java
@@ -178,15 +178,17 @@ public class ZLMMediaNodeServerService implements IMediaNodeServerService {
JSONObject mediaList = zlmresTfulUtils.getMediaList(mediaServer, app, stream);
if (mediaList != null) {
if (mediaList.getInteger("code") == 0) {
- JSONArray data = mediaList.getJSONArray("data");
- if (data == null) {
+ JSONArray dataArray = mediaList.getJSONArray("data");
+ if (dataArray == null) {
return streamInfoList;
}
- JSONObject mediaJSON = data.getJSONObject(0);
- MediaInfo mediaInfo = MediaInfo.getInstance(mediaJSON, mediaServer, userSetting.getServerId());
- StreamInfo streamInfo = getStreamInfoByAppAndStream(mediaServer, app, stream, mediaInfo, callId, true);
- if (streamInfo != null) {
- streamInfoList.add(streamInfo);
+ for (int i = 0; i < dataArray.size(); i++) {
+ JSONObject mediaJSON = dataArray.getJSONObject(0);
+ MediaInfo mediaInfo = MediaInfo.getInstance(mediaJSON, mediaServer, userSetting.getServerId());
+ StreamInfo streamInfo = getStreamInfoByAppAndStream(mediaServer, mediaInfo.getApp(), mediaInfo.getStream(), mediaInfo, callId, true);
+ if (streamInfo != null) {
+ streamInfoList.add(streamInfo);
+ }
}
}
}
diff --git a/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java b/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java
index ce28fa9b..dfdb3421 100755
--- a/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/streamPush/dao/StreamPushMapper.java
@@ -48,9 +48,9 @@ public interface StreamPushMapper {
" from " +
" wvp_stream_push st " +
" LEFT join wvp_device_channel wdc " +
- " on st.id = wdc.data_device_id " +
+ " on wdc.data_type = 2 and st.id = wdc.data_device_id " +
" WHERE " +
- " wdc.data_type = 2 " +
+ " 1=1 " +
" AND (st.app LIKE concat('%',#{query},'%') escape '/' OR st.stream LIKE concat('%',#{query},'%') escape '/' " +
" OR wdc.gb_device_id LIKE concat('%',#{query},'%') escape '/' OR wdc.gb_name LIKE concat('%',#{query},'%') escape '/') " +
" AND st.pushing=1" +