old mode 100644
new mode 100755
| | |
| | | package com.genersoft.iot.vmp.media.zlm.dto; |
| | | |
| | | import com.genersoft.iot.vmp.common.StreamInfo; |
| | | import com.genersoft.iot.vmp.gb28181.bean.GbStream; |
| | | import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent; |
| | | import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam; |
| | | import com.genersoft.iot.vmp.utils.DateUtil; |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import org.jetbrains.annotations.NotNull; |
| | | |
| | | import java.util.List; |
| | | |
| | | |
| | | @Schema(description = "推流信息") |
| | | public class StreamPushItem extends GbStream implements Comparable<StreamPushItem>{ |
| | | |
| | | /** |
| | | * id |
| | | */ |
| | | @Schema(description = "id") |
| | | private Integer id; |
| | | |
| | | /** |
| | | * 应用名 |
| | | */ |
| | | @Schema(description = "应用名") |
| | | private String app; |
| | | |
| | | /** |
| | | * 流id |
| | | */ |
| | | @Schema(description = "流id") |
| | | private String stream; |
| | | |
| | | /** |
| | | * 观看总人数,包括hls/rtsp/rtmp/http-flv/ws-flv |
| | | */ |
| | | private String totalReaderCount; |
| | | @Schema(description = "观看总人数") |
| | | private Integer totalReaderCount; |
| | | |
| | | /** |
| | | * 协议 包括hls/rtsp/rtmp/http-flv/ws-flv |
| | | */ |
| | | @Schema(description = "协议 包括hls/rtsp/rtmp/http-flv/ws-flv") |
| | | private List<MediaSchema> schemas; |
| | | |
| | | /** |
| | |
| | | * mp4_vod=6, |
| | | * device_chn=7 |
| | | */ |
| | | @Schema(description = "产生源类型") |
| | | private int originType; |
| | | |
| | | /** |
| | | * 客户端和服务器网络信息,可能为null类型 |
| | | */ |
| | | private MediaItem.OriginSock originSock; |
| | | @Schema(description = "客户端和服务器网络信息,可能为null类型") |
| | | private OnStreamChangedHookParam.OriginSock originSock; |
| | | |
| | | /** |
| | | * 产生源类型的字符串描述 |
| | | */ |
| | | @Schema(description = "产生源类型的字符串描述") |
| | | private String originTypeStr; |
| | | |
| | | /** |
| | | * 产生源的url |
| | | */ |
| | | @Schema(description = "产生源的url") |
| | | private String originUrl; |
| | | |
| | | /** |
| | | * 存活时间,单位秒 |
| | | */ |
| | | @Schema(description = "存活时间,单位秒") |
| | | private Long aliveSecond; |
| | | |
| | | /** |
| | | * 音视频轨道 |
| | | */ |
| | | private List<MediaItem.MediaTrack> tracks; |
| | | @Schema(description = "音视频轨道") |
| | | private List<OnStreamChangedHookParam.MediaTrack> tracks; |
| | | |
| | | /** |
| | | * 音视频轨道 |
| | | */ |
| | | @Schema(description = "音视频轨道") |
| | | private String vhost; |
| | | |
| | | /** |
| | | * 使用的流媒体ID |
| | | */ |
| | | @Schema(description = "使用的流媒体ID") |
| | | private String mediaServerId; |
| | | |
| | | /** |
| | | * 使用的服务ID |
| | | */ |
| | | @Schema(description = "使用的服务ID") |
| | | private String serverId; |
| | | |
| | | /** |
| | | * 推流时间 |
| | | */ |
| | | @Schema(description = "推流时间") |
| | | private String pushTime; |
| | | |
| | | /** |
| | | * 更新时间 |
| | | */ |
| | | @Schema(description = "更新时间") |
| | | private String updateTime; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @Schema(description = "创建时间") |
| | | private String createTime; |
| | | |
| | | /** |
| | | * 是否正在推流 |
| | | */ |
| | | @Schema(description = "是否正在推流") |
| | | private boolean pushIng; |
| | | |
| | | /** |
| | | * 是否自己平台的推流 |
| | | */ |
| | | @Schema(description = "是否自己平台的推流") |
| | | private boolean self; |
| | | |
| | | |
| | | |
| | | public String getVhost() { |
| | | return vhost; |
| | |
| | | |
| | | @Override |
| | | public int compareTo(@NotNull StreamPushItem streamPushItem) { |
| | | return Long.valueOf(super.createStamp - streamPushItem.getCreateStamp().intValue()).intValue(); |
| | | return Long.valueOf(DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(super.createTime) |
| | | - DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(streamPushItem.getCreateTime())).intValue(); |
| | | } |
| | | |
| | | public StreamPushItem getInstance(StreamInfo streamInfo) { |
| | | StreamPushItem streamPushItem = new StreamPushItem(); |
| | | streamPushItem.setApp(streamInfo.getApp()); |
| | | streamPushItem.setMediaServerId(streamInfo.getMediaServerId()); |
| | | streamPushItem.setStream(streamInfo.getStream()); |
| | | streamPushItem.setAliveSecond(streamInfo.getMediaInfo().getAliveSecond()); |
| | | // streamPushItem.setOriginSock(streamInfo.getMediaInfo().getOriginSock()); |
| | | streamPushItem.setTotalReaderCount(streamInfo.getMediaInfo().getReaderCount()); |
| | | streamPushItem.setOriginType(streamInfo.getOriginType()); |
| | | // streamPushItem.setOriginTypeStr(streamInfo.getMediaInfo().getOriginTypeStr()); |
| | | // streamPushItem.setOriginUrl(streamInfo.getMediaInfo().getOriginUrl()); |
| | | streamPushItem.setCreateTime(DateUtil.getNow()); |
| | | streamPushItem.setAliveSecond(streamInfo.getMediaInfo().getAliveSecond()); |
| | | streamPushItem.setStatus(true); |
| | | streamPushItem.setStreamType("push"); |
| | | // streamPushItem.setVhost(streamInfo.getVhost()); |
| | | streamPushItem.setServerId(streamInfo.getMediaServerId()); |
| | | return streamPushItem; |
| | | |
| | | } |
| | | |
| | | public static StreamPushItem getInstance(MediaArrivalEvent event, String serverId){ |
| | | StreamPushItem streamPushItem = new StreamPushItem(); |
| | | streamPushItem.setApp(event.getApp()); |
| | | streamPushItem.setMediaServerId(event.getMediaServer().getId()); |
| | | streamPushItem.setStream(event.getStream()); |
| | | streamPushItem.setAliveSecond(event.getMediaInfo().getAliveSecond()); |
| | | // streamPushItem.setOriginSock(streamInfo.getMediaInfo().getOriginSock()); |
| | | streamPushItem.setTotalReaderCount(event.getMediaInfo().getReaderCount()); |
| | | streamPushItem.setOriginType(event.getMediaInfo().getOriginType()); |
| | | // streamPushItem.setOriginTypeStr(streamInfo.getMediaInfo().getOriginTypeStr()); |
| | | // streamPushItem.setOriginUrl(streamInfo.getMediaInfo().getOriginUrl()); |
| | | streamPushItem.setCreateTime(DateUtil.getNow()); |
| | | streamPushItem.setAliveSecond(event.getMediaInfo().getAliveSecond()); |
| | | streamPushItem.setStatus(true); |
| | | streamPushItem.setStreamType("push"); |
| | | // streamPushItem.setVhost(streamInfo.getVhost()); |
| | | streamPushItem.setServerId(serverId); |
| | | return streamPushItem; |
| | | } |
| | | |
| | | public static class MediaSchema { |
| | |
| | | } |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | @Override |
| | | public String getApp() { |
| | | return app; |
| | | } |
| | | |
| | | @Override |
| | | public void setApp(String app) { |
| | | this.app = app; |
| | | } |
| | | |
| | | @Override |
| | | public String getStream() { |
| | | return stream; |
| | | } |
| | | |
| | | @Override |
| | | public void setStream(String stream) { |
| | | this.stream = stream; |
| | | } |
| | | |
| | | public String getTotalReaderCount() { |
| | | public Integer getTotalReaderCount() { |
| | | return totalReaderCount; |
| | | } |
| | | |
| | | public void setTotalReaderCount(String totalReaderCount) { |
| | | public void setTotalReaderCount(Integer totalReaderCount) { |
| | | this.totalReaderCount = totalReaderCount; |
| | | } |
| | | |
| | |
| | | this.originType = originType; |
| | | } |
| | | |
| | | public MediaItem.OriginSock getOriginSock() { |
| | | public OnStreamChangedHookParam.OriginSock getOriginSock() { |
| | | return originSock; |
| | | } |
| | | |
| | | public void setOriginSock(MediaItem.OriginSock originSock) { |
| | | public void setOriginSock(OnStreamChangedHookParam.OriginSock originSock) { |
| | | this.originSock = originSock; |
| | | } |
| | | |
| | |
| | | this.aliveSecond = aliveSecond; |
| | | } |
| | | |
| | | public List<MediaItem.MediaTrack> getTracks() { |
| | | public List<OnStreamChangedHookParam.MediaTrack> getTracks() { |
| | | return tracks; |
| | | } |
| | | |
| | | public void setTracks(List<MediaItem.MediaTrack> tracks) { |
| | | public void setTracks(List<OnStreamChangedHookParam.MediaTrack> tracks) { |
| | | this.tracks = tracks; |
| | | } |
| | | |
| | |
| | | public void setMediaServerId(String mediaServerId) { |
| | | this.mediaServerId = mediaServerId; |
| | | } |
| | | |
| | | public String getServerId() { |
| | | return serverId; |
| | | } |
| | | |
| | | public void setServerId(String serverId) { |
| | | this.serverId = serverId; |
| | | } |
| | | |
| | | |
| | | public String getPushTime() { |
| | | return pushTime; |
| | | } |
| | | |
| | | public void setPushTime(String pushTime) { |
| | | this.pushTime = pushTime; |
| | | } |
| | | |
| | | public String getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(String updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | |
| | | @Override |
| | | public String getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | @Override |
| | | public void setCreateTime(String createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public boolean isPushIng() { |
| | | return pushIng; |
| | | } |
| | | |
| | | public void setPushIng(boolean pushIng) { |
| | | this.pushIng = pushIng; |
| | | } |
| | | |
| | | public boolean isSelf() { |
| | | return self; |
| | | } |
| | | |
| | | public void setSelf(boolean self) { |
| | | this.self = self; |
| | | } |
| | | |
| | | // @Override |
| | | // public Integer getGbStreamId() { |
| | | // return super.getGbStreamId(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void setGbStreamId(Integer gbStreamId) { |
| | | // super.setGbStreamId(gbStreamId); |
| | | // } |
| | | // |
| | | // |
| | | // public String getGbId() { |
| | | // return super.getGbId(); |
| | | // } |
| | | // |
| | | // public void setGbId(String gbId) { |
| | | // super.setGbId(gbId); |
| | | // } |
| | | // |
| | | // public String getName() { |
| | | // return super.getName(); |
| | | // } |
| | | // |
| | | // public void setName(String name) { |
| | | // super.setName(name); |
| | | // } |
| | | // |
| | | // public double getLongitude() { |
| | | // return super.getLongitude(); |
| | | // } |
| | | // |
| | | // public void setLongitude(double longitude) { |
| | | // super.setLongitude(longitude); |
| | | // } |
| | | // |
| | | // public double getLatitude() { |
| | | // return super.getLatitude(); |
| | | // } |
| | | // |
| | | // public void setLatitude(double latitude) { |
| | | // super.setLatitude(latitude); |
| | | // } |
| | | // |
| | | // public String getStreamType() { |
| | | // return super.getStreamType(); |
| | | // } |
| | | // |
| | | // public void setStreamType(String streamType) { |
| | | // super.setStreamType(streamType); |
| | | // } |
| | | // |
| | | // public boolean isStatus() { |
| | | // return super.isStatus(); |
| | | // } |
| | | // |
| | | // public void setStatus(boolean status) { |
| | | // super.setStatus(status); |
| | | // } |
| | | |
| | | } |
| | | |