648540858
2023-08-01 e5cba6022fa49747eecba79d4490bc10187befd7
Merge branch '2.6.8' into wvp-28181-2.0

# Conflicts:
# src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java
# src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
4个文件已修改
58 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/all-application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
@@ -43,8 +43,6 @@
    private Boolean pushAuthority = Boolean.TRUE;
    private Boolean gbSendStreamStrict = Boolean.FALSE;
    private Boolean syncChannelOnDeviceOnline = Boolean.FALSE;
    private Boolean sipLog = Boolean.FALSE;
@@ -204,14 +202,6 @@
    public void setPushAuthority(Boolean pushAuthority) {
        this.pushAuthority = pushAuthority;
    }
    public Boolean getGbSendStreamStrict() {
        return gbSendStreamStrict;
    }
    public void setGbSendStreamStrict(Boolean gbSendStreamStrict) {
        this.gbSendStreamStrict = gbSendStreamStrict;
    }
    public Boolean getSyncChannelOnDeviceOnline() {
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java
@@ -164,13 +164,9 @@
    public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId,
                                         String deviceId, String channelId, boolean tcp, boolean rtcp){
        // 默认为随机端口
        int localPort = 0;
        if (userSetting.getGbSendStreamStrict()) {
            localPort = sendRtpPortManager.getNextPort(serverItem);
            if (localPort == 0) {
                return null;
            }
        int localPort = sendRtpPortManager.getNextPort(serverItem);
        if (localPort == 0) {
            return null;
        }
        SendRtpItem sendRtpItem = new SendRtpItem();
        sendRtpItem.setIp(ip);
@@ -200,13 +196,10 @@
     */
    public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId,
                                         String app, String stream, String channelId, boolean tcp, boolean rtcp){
        // 默认为随机端口
        int localPort = 0;
        if (userSetting.getGbSendStreamStrict()) {
            localPort = sendRtpPortManager.getNextPort(serverItem);
            if (localPort == 0) {
                return null;
            }
        int localPort = sendRtpPortManager.getNextPort(serverItem);
        if (localPort == 0) {
            return null;
        }
        SendRtpItem sendRtpItem = new SendRtpItem();
        sendRtpItem.setIp(ip);
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
@@ -133,17 +133,29 @@
                    result.put("ChannelName", deviceChannel.getName());
                    result.put("ChannelCustomName", "");
                    result.put("FLV", inviteInfo.getStreamInfo().getFlv().getUrl());
                    result.put("HTTPS_FLV", inviteInfo.getStreamInfo().getHttps_flv().getUrl());
                    if(inviteInfo.getStreamInfo().getHttps_flv() != null) {
                        result.put("HTTPS_FLV", inviteInfo.getStreamInfo().getHttps_flv().getUrl());
                    }
                    result.put("WS_FLV", inviteInfo.getStreamInfo().getWs_flv().getUrl());
                    result.put("WSS_FLV", inviteInfo.getStreamInfo().getWss_flv().getUrl());
                    if(inviteInfo.getStreamInfo().getWss_flv() != null) {
                        result.put("WSS_FLV", inviteInfo.getStreamInfo().getWss_flv().getUrl());
                    }
                    result.put("RTMP", inviteInfo.getStreamInfo().getRtmp().getUrl());
                    result.put("RTMPS", inviteInfo.getStreamInfo().getRtmps().getUrl());
                    if (inviteInfo.getStreamInfo().getRtmps() != null) {
                        result.put("RTMPS", inviteInfo.getStreamInfo().getRtmps().getUrl());
                    }
                    result.put("HLS", inviteInfo.getStreamInfo().getHls().getUrl());
                    result.put("HTTPS_HLS", inviteInfo.getStreamInfo().getHttps_hls().getUrl());
                    if (inviteInfo.getStreamInfo().getHttps_hls() != null) {
                        result.put("HTTPS_HLS", inviteInfo.getStreamInfo().getHttps_hls().getUrl());
                    }
                    result.put("RTSP", inviteInfo.getStreamInfo().getRtsp().getUrl());
                    result.put("RTSPS", inviteInfo.getStreamInfo().getRtsps().getUrl());
                    if (inviteInfo.getStreamInfo().getRtsps() != null) {
                        result.put("RTSPS", inviteInfo.getStreamInfo().getRtsps().getUrl());
                    }
                    result.put("WEBRTC", inviteInfo.getStreamInfo().getRtc().getUrl());
                    result.put("HTTPS_WEBRTC", inviteInfo.getStreamInfo().getRtcs().getUrl());
                    if (inviteInfo.getStreamInfo().getRtcs() != null) {
                        result.put("HTTPS_WEBRTC", inviteInfo.getStreamInfo().getRtcs().getUrl());
                    }
                    result.put("CDN", "");
                    result.put("SnapURL", "");
                    result.put("Transport", device.getTransport());
src/main/resources/all-application.yml
@@ -187,9 +187,6 @@
    stream-on-demand: true
    # 推流鉴权, 默认开启
    push-authority: true
    # 国标级联发流严格模式,严格模式会使用与sdp信息中一致的端口发流,端口共享media.rtp.port-range,这会损失一些性能,
    # 非严格模式使用随机端口发流,性能更好, 默认关闭
    gb-send-stream-strict: false
    # 设备上线时是否自动同步通道
    sync-channel-on-device-online: false
    # 是否使用设备来源Ip作为回复IP, 不设置则为 false