| | |
| | | */ |
| | | @Schema(description = "视频信息") |
| | | public class MediaInfo { |
| | | @Schema(description = "应用名") |
| | | private String app; |
| | | @Schema(description = "流ID") |
| | | private String stream; |
| | | @Schema(description = "流媒体节点") |
| | | private MediaServer mediaServer; |
| | | @Schema(description = "协议") |
| | | private String schema; |
| | | |
| | | @Schema(description = "观看人数") |
| | | private Integer readerCount; |
| | | @Schema(description = "视频编码类型") |
| | |
| | | private Integer audioSampleRate; |
| | | @Schema(description = "音频采样率") |
| | | private Long duration; |
| | | @Schema(description = "在线") |
| | | private Boolean online; |
| | | @Schema(description = "unknown = 0,rtmp_push=1,rtsp_push=2,rtp_push=3,pull=4,ffmpeg_pull=5,mp4_vod=6,device_chn=7") |
| | | private Integer originType; |
| | | @Schema(description = "存活时间,单位秒") |
| | | private Long aliveSecond; |
| | | @Schema(description = "数据产生速度,单位byte/s") |
| | | private Long bytesSpeed; |
| | | @Schema(description = "鉴权参数") |
| | | private String callId; |
| | | |
| | | public static MediaInfo getInstance(JSONObject jsonObject) { |
| | | public static MediaInfo getInstance(JSONObject jsonObject, MediaServer mediaServer) { |
| | | MediaInfo mediaInfo = new MediaInfo(); |
| | | mediaInfo.setMediaServer(mediaServer); |
| | | String app = jsonObject.getString("app"); |
| | | mediaInfo.setApp(app); |
| | | String stream = jsonObject.getString("stream"); |
| | | mediaInfo.setStream(stream); |
| | | String schema = jsonObject.getString("schema"); |
| | | mediaInfo.setSchema(schema); |
| | | Integer totalReaderCount = jsonObject.getInteger("totalReaderCount"); |
| | | Boolean online = jsonObject.getBoolean("online"); |
| | | Integer originType = jsonObject.getInteger("originType"); |
| | | Long aliveSecond = jsonObject.getLong("aliveSecond"); |
| | | Long bytesSpeed = jsonObject.getLong("bytesSpeed"); |
| | | if (totalReaderCount != null) { |
| | | mediaInfo.setReaderCount(totalReaderCount); |
| | | } |
| | | if (online != null) { |
| | | mediaInfo.setOnline(online); |
| | | } |
| | | if (originType != null) { |
| | | mediaInfo.setOriginType(originType); |
| | | } |
| | | if (aliveSecond != null) { |
| | | mediaInfo.setAliveSecond(aliveSecond); |
| | | } |
| | | if (bytesSpeed != null) { |
| | | mediaInfo.setBytesSpeed(bytesSpeed); |
| | | } |
| | | JSONArray jsonArray = jsonObject.getJSONArray("tracks"); |
| | | if (jsonArray.isEmpty()) { |
| | |
| | | return mediaInfo; |
| | | } |
| | | |
| | | public static MediaInfo getInstance(OnStreamChangedHookParam param) { |
| | | List<OnStreamChangedHookParam.MediaTrack> tracks = param.getTracks(); |
| | | public static MediaInfo getInstance(OnStreamChangedHookParam param, MediaServer mediaServer) { |
| | | |
| | | MediaInfo mediaInfo = new MediaInfo(); |
| | | mediaInfo.setApp(param.getApp()); |
| | | mediaInfo.setStream(param.getStream()); |
| | | mediaInfo.setSchema(param.getSchema()); |
| | | mediaInfo.setMediaServer(mediaServer); |
| | | mediaInfo.setReaderCount(param.getTotalReaderCount()); |
| | | mediaInfo.setOnline(param.isRegist()); |
| | | mediaInfo.setOriginType(param.getOriginType()); |
| | | mediaInfo.setAliveSecond(param.getAliveSecond()); |
| | | mediaInfo.setBytesSpeed(param.getBytesSpeed()); |
| | | List<OnStreamChangedHookParam.MediaTrack> tracks = param.getTracks(); |
| | | if (tracks == null || tracks.isEmpty()) { |
| | | return mediaInfo; |
| | | } |
| | | for (OnStreamChangedHookParam.MediaTrack mediaTrack : tracks) { |
| | | switch (mediaTrack.getCodec_id()) { |
| | | case 0: |
| | |
| | | public void setDuration(Long duration) { |
| | | this.duration = duration; |
| | | } |
| | | |
| | | public Boolean getOnline() { |
| | | return online; |
| | | } |
| | | |
| | | public void setOnline(Boolean online) { |
| | | this.online = online; |
| | | } |
| | | |
| | | public Integer getOriginType() { |
| | | return originType; |
| | | } |
| | | |
| | | public void setOriginType(Integer originType) { |
| | | this.originType = originType; |
| | | } |
| | | |
| | | public Long getAliveSecond() { |
| | | return aliveSecond; |
| | | } |
| | | |
| | | public void setAliveSecond(Long aliveSecond) { |
| | | this.aliveSecond = aliveSecond; |
| | | } |
| | | |
| | | public Long getBytesSpeed() { |
| | | return bytesSpeed; |
| | | } |
| | | |
| | | public void setBytesSpeed(Long bytesSpeed) { |
| | | this.bytesSpeed = bytesSpeed; |
| | | } |
| | | |
| | | public String getApp() { |
| | | return app; |
| | | } |
| | | |
| | | public void setApp(String app) { |
| | | this.app = app; |
| | | } |
| | | |
| | | public String getStream() { |
| | | return stream; |
| | | } |
| | | |
| | | public void setStream(String stream) { |
| | | this.stream = stream; |
| | | } |
| | | |
| | | public MediaServer getMediaServer() { |
| | | return mediaServer; |
| | | } |
| | | |
| | | public void setMediaServer(MediaServer mediaServer) { |
| | | this.mediaServer = mediaServer; |
| | | } |
| | | |
| | | public String getSchema() { |
| | | return schema; |
| | | } |
| | | |
| | | public void setSchema(String schema) { |
| | | this.schema = schema; |
| | | } |
| | | |
| | | public String getCallId() { |
| | | return callId; |
| | | } |
| | | |
| | | public void setCallId(String callId) { |
| | | this.callId = callId; |
| | | } |
| | | } |