From b90dc789b429c31674c26bb3ff309b987afaa77a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 21 三月 2024 23:39:32 +0800 Subject: [PATCH] 优化媒体节点服务的代码结构 --- src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java | 68 ++++++++++++++++++++------------- 1 files changed, 41 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/bean/Track.java b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java similarity index 69% rename from src/main/java/com/genersoft/iot/vmp/media/bean/Track.java rename to src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java index 963474e..d808772 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/bean/Track.java +++ b/src/main/java/com/genersoft/iot/vmp/media/bean/MediaInfo.java @@ -11,7 +11,7 @@ * 瑙嗛淇℃伅 */ @Schema(description = "瑙嗛淇℃伅") -public class Track { +public class MediaInfo { @Schema(description = "瑙傜湅浜烘暟") private Integer readerCount; @Schema(description = "瑙嗛缂栫爜绫诲瀷") @@ -26,12 +26,14 @@ private Integer audioChannels; @Schema(description = "闊抽閲囨牱鐜�") private Integer audioSampleRate; + @Schema(description = "闊抽閲囨牱鐜�") + private Long duration; - public static Track getInstance(JSONObject jsonObject) { - Track track = new Track(); + public static MediaInfo getInstance(JSONObject jsonObject) { + MediaInfo mediaInfo = new MediaInfo(); Integer totalReaderCount = jsonObject.getInteger("totalReaderCount"); if (totalReaderCount != null) { - track.setReaderCount(totalReaderCount); + mediaInfo.setReaderCount(totalReaderCount); } JSONArray jsonArray = jsonObject.getJSONArray("tracks"); if (jsonArray.isEmpty()) { @@ -45,77 +47,81 @@ Integer sampleRate = trackJson.getInteger("sample_rate"); Integer height = trackJson.getInteger("height"); Integer width = trackJson.getInteger("height"); + Long duration = trackJson.getLongValue("duration"); if (channels != null) { - track.setAudioChannels(channels); + mediaInfo.setAudioChannels(channels); } if (sampleRate != null) { - track.setAudioSampleRate(sampleRate); + mediaInfo.setAudioSampleRate(sampleRate); } if (height != null) { - track.setHeight(height); + mediaInfo.setHeight(height); } if (width != null) { - track.setWidth(width); + mediaInfo.setWidth(width); + } + if (duration > 0L) { + mediaInfo.setDuration(duration); } if (codecId != null) { switch (codecId) { case 0: - track.setVideoCodec("H264"); + mediaInfo.setVideoCodec("H264"); break; case 1: - track.setVideoCodec("H265"); + mediaInfo.setVideoCodec("H265"); break; case 2: - track.setAudioCodec("AAC"); + mediaInfo.setAudioCodec("AAC"); break; case 3: - track.setAudioCodec("G711A"); + mediaInfo.setAudioCodec("G711A"); break; case 4: - track.setAudioCodec("G711U"); + mediaInfo.setAudioCodec("G711U"); break; } } } - return track; + return mediaInfo; } - public static Track getInstance(OnStreamChangedHookParam param) { + public static MediaInfo getInstance(OnStreamChangedHookParam param) { List<OnStreamChangedHookParam.MediaTrack> tracks = param.getTracks(); - Track track = new Track(); - track.setReaderCount(param.getTotalReaderCount()); + MediaInfo mediaInfo = new MediaInfo(); + mediaInfo.setReaderCount(param.getTotalReaderCount()); for (OnStreamChangedHookParam.MediaTrack mediaTrack : tracks) { switch (mediaTrack.getCodec_id()) { case 0: - track.setVideoCodec("H264"); + mediaInfo.setVideoCodec("H264"); break; case 1: - track.setVideoCodec("H265"); + mediaInfo.setVideoCodec("H265"); break; case 2: - track.setAudioCodec("AAC"); + mediaInfo.setAudioCodec("AAC"); break; case 3: - track.setAudioCodec("G711A"); + mediaInfo.setAudioCodec("G711A"); break; case 4: - track.setAudioCodec("G711U"); + mediaInfo.setAudioCodec("G711U"); break; } if (mediaTrack.getSample_rate() > 0) { - track.setAudioSampleRate(mediaTrack.getSample_rate()); + mediaInfo.setAudioSampleRate(mediaTrack.getSample_rate()); } if (mediaTrack.getChannels() > 0) { - track.setAudioChannels(mediaTrack.getChannels()); + mediaInfo.setAudioChannels(mediaTrack.getChannels()); } if (mediaTrack.getHeight() > 0) { - track.setHeight(mediaTrack.getHeight()); + mediaInfo.setHeight(mediaTrack.getHeight()); } if (mediaTrack.getWidth() > 0) { - track.setWidth(mediaTrack.getWidth()); + mediaInfo.setWidth(mediaTrack.getWidth()); } } - return track; + return mediaInfo; } public Integer getReaderCount() { @@ -173,4 +179,12 @@ public void setAudioSampleRate(Integer audioSampleRate) { this.audioSampleRate = audioSampleRate; } + + public Long getDuration() { + return duration; + } + + public void setDuration(Long duration) { + this.duration = duration; + } } -- Gitblit v1.8.0