648540858
2024-05-29 764d04b497356ba6bcbb75fd42b51eca750f7223
src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
old mode 100644 new mode 100755
@@ -1,31 +1,46 @@
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;
    /**
@@ -39,42 +54,88 @@
     * 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;
    /**
     * GMT unix系统时间戳,单位秒
     */
    private Long createStamp;
    /**
     * 存活时间,单位秒
     */
    @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;
@@ -87,7 +148,49 @@
    @Override
    public int compareTo(@NotNull StreamPushItem streamPushItem) {
        return Long.valueOf(this.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 {
@@ -111,28 +214,39 @@
        }
    }
    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;
    }
@@ -152,11 +266,11 @@
        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;
    }
@@ -177,14 +291,6 @@
        this.originUrl = originUrl;
    }
    public Long getCreateStamp() {
        return createStamp;
    }
    public void setCreateStamp(Long createStamp) {
        this.createStamp = createStamp;
    }
    public Long getAliveSecond() {
        return aliveSecond;
    }
@@ -193,14 +299,134 @@
        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;
    }
    @Override
    public String getMediaServerId() {
        return mediaServerId;
    }
    @Override
    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);
//    }
}