liusuyi
2024-07-30 9cc1e95b63fde336ebf4df413b3d1e79ece375f0
修改:同步流媒体优化
已修改1个文件
21 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java
@@ -40,6 +40,7 @@
    private CameraSDKFactory cameraSDKFactory;
    @Value("${mediamtx.host}")
    String mediamtxHost;
    /**
     * 查询流媒体管理
     *
@@ -192,8 +193,10 @@
        //需要更新的数据,参数顺序注意
        sameList(vtdus, names).stream().forEach(vtdu -> {
            StreamInfo streamInfo = mediaService.getPathInfo(vtdu.getName());
            if (!streamInfo.getRtspSource().equals(vtdu.getRtspSource())) {
                mediaService.editPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
            if (streamInfo != null) {
                if (streamInfo.getRtspSource() != null && !streamInfo.getRtspSource().equals(vtdu.getRtspSource())) {
                    mediaService.editPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
                }
            }
        });
        //需要删除的数据
@@ -205,14 +208,18 @@
            mediaService.addPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
        });
    }
    @Override
    public void addChanToVtdu(ArdCameras camera, ArdChannel channel) {
        String name = camera.getId() + "_" + channel.getChanNo();
        String rtspSource="";
        switch (camera.getFactory())
        {
            case "1": rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch" + channel.getChanNo() + "/main/av_stream";break;
            case "2": rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/cam/realmonitor?channel=" + channel.getChanNo() + "&subtype=0";break;
        String rtspSource = "";
        switch (camera.getFactory()) {
            case "1":
                rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/h264/ch" + channel.getChanNo() + "/main/av_stream";
                break;
            case "2":
                rtspSource = "rtsp://" + camera.getUsername() + ":" + camera.getPassword() + "@" + camera.getIp() + ":" + camera.getRtspPort() + "/cam/realmonitor?channel=" + channel.getChanNo() + "&subtype=0";
                break;
        }
        //删除流媒体