南昌市物联网技防平台-后台
tangzy
2021-04-22 1d69f242bf4189875db9ce171a10343f99ba6557
1.录制视频添加用户id
6 files modified
128 ■■■■ changed files
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/entity/Alarm.java 1 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java 2 ●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml 3 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java 4 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java 4 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java 114 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/entity/Alarm.java
@@ -160,6 +160,7 @@
    private String cid;
    private String vaddress;
    private String aaddress;
    private String uids;
//    @TableLogic
//    private Integer isDeleted;
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -56,7 +56,7 @@
    void updateJtype(String id, String jtype, String bz);
    void updatePoliceStatus(String id, String status);
    void updateOne(Alarm alarm);
    void updateVaddress(String vaddress ,String jid);
    void updateVaddress(String vaddress,String uids ,String jid);
    void updateAaddress(String aaddress ,String jid);
    List<Map<String, Object>> selectScount(String time);
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -33,6 +33,7 @@
        <result column="cid" property="cid"/>
        <result column="vaddress" property="vaddress"/>
        <result column="aaddress" property="aaddress"/>
        <result column="uids" property="uids"/>
    </resultMap>
    <sql id="alarmCondition">
@@ -546,7 +547,7 @@
    </select>
    <update id="updateVaddress">
        update sys_alarm SET vaddress=#{vaddress} where id=#{jid}
        update sys_alarm SET vaddress=#{vaddress},uids=#{uids} where id=#{jid}
    </update>
    <update id="updateAaddress">
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -54,9 +54,9 @@
    List<Map<String, Object>> selectScount(String time);
    List<AlarmVO> selectListSe(String beginTime, String endTime);
    void updateJtype(String id, String jtype, String bz);
    void updateVaddress(String vaddress ,String jid);
    void updateVaddress(String vaddress,String uids,String jid);
    void updatePoliceStatus(String id, String status);
    void updateAaddress(String aaddress ,String jid);
    void updateAaddress(String aaddress,String jid);
    List<Map<String, Object>> selectEq(String time);
    /**
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -102,8 +102,8 @@
    }
    @Override
    public void updateVaddress(String vaddress, String jid) {
        baseMapper.updateVaddress(vaddress, jid);
    public void updateVaddress(String vaddress,String uids, String jid) {
        baseMapper.updateVaddress(vaddress,uids ,jid);
    }
    @Override
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java
@@ -67,6 +67,7 @@
    private static String PRF_MINIO_URL = "minio/jfpt/void/";
    private static  Thread thread;
    private static  String UUIDs;
    private static  String uids;
    /**
     * 详情
@@ -143,68 +144,69 @@
        return R.status(rvideoService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * @param sourcePath 源路径
     * @param jid 警情id
     * @throws Exception
     */
    @PostMapping("/rVoid")
    public String rVoid(String sourcePath,String jid) throws Exception {
        String webroot = "D:\\LXVideoServer\\3rd\\ffmpeg\\bin";
        String UUID = DateUtil.time();
        //目标路径
        String targetPath = PRE_URL + UUID + ".mp4";
        //返回前端路径
        String vaddress = null;
        Runtime run = null;
        try {
            run = Runtime.getRuntime();
            long start = System.currentTimeMillis();
            System.out.println(new File(webroot).getAbsolutePath());
            //通过视频url录制30s视频保存,格式为MP4
            String newJson = StringEscapeUtils.unescapeHtml4(sourcePath);
            Process p = run.exec(new File(webroot).getAbsolutePath() + "/ffmpeg -i " +newJson+ " -y -t 00:00:30 -codec copy -f mp4 " + targetPath);
            //释放进程
            p.getOutputStream().close();
            p.getInputStream().close();
            p.getErrorStream().close();
            p.waitFor();
            long end = System.currentTimeMillis();
            System.out.println(sourcePath + " convert success, costs:" + (end - start) + "ms");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //run调用lame解码器最后释放内存
            run.freeMemory();
            //返回路径
            vaddress = "https://web.byisf.com/" + PRF_MINIO_URL + UUID + ".mp4";
            //把路径通过警情id添加到警情信息
            alarmService.updateVaddress(vaddress,jid);
        }
        return vaddress;
    }
//    /**
//     * @param sourcePath 源路径
//     * @param jid 警情id
//     * @throws Exception
//     */
//    @PostMapping("/rVoid")
//    public String rVoid(String sourcePath,String jid) throws Exception {
//        String webroot = "D:\\LXVideoServer\\3rd\\ffmpeg\\bin";
//        String UUID = DateUtil.time();
//        //目标路径
//        String targetPath = PRE_URL + UUID + ".mp4";
//        //返回前端路径
//        String vaddress = null;
//        Runtime run = null;
//
//        try {
//
//            run = Runtime.getRuntime();
//
//            long start = System.currentTimeMillis();
//
//            System.out.println(new File(webroot).getAbsolutePath());
//            //通过视频url录制30s视频保存,格式为MP4
//            String newJson = StringEscapeUtils.unescapeHtml4(sourcePath);
//            Process p = run.exec(new File(webroot).getAbsolutePath() + "/ffmpeg -i " +newJson+ " -y -t 00:00:30 -codec copy -f mp4 " + targetPath);
//
//            //释放进程
//
//            p.getOutputStream().close();
//
//            p.getInputStream().close();
//
//            p.getErrorStream().close();
//
//            p.waitFor();
//
//            long end = System.currentTimeMillis();
//
//            System.out.println(sourcePath + " convert success, costs:" + (end - start) + "ms");
//
//        } catch (Exception e) {
//
//            e.printStackTrace();
//
//        } finally {
//            //run调用lame解码器最后释放内存
//            run.freeMemory();
//            //返回路径
//            vaddress = "https://web.byisf.com/" + PRF_MINIO_URL + UUID + ".mp4";
//            //把路径通过警情id添加到警情信息
//            alarmService.updateVaddress(vaddress,jid);
//        }
//        return vaddress;
//    }
        /**
     * Javacv录制视频
     */
    @PostMapping("/rVoids")
    public void rVoids(String url) {
    public void rVoids(String url,String uid) {
        String UUID = DateUtil.time();
        uids=uid;
        UUIDs=UUID;
        RecordVideoThread recordVideoThread = new RecordVideoThread();
        recordVideoThread.filePath = "D:\\software\\minio\\data\\jfpt\\void\\"+UUID + ".mp4";
@@ -226,7 +228,7 @@
        //返回路径
        vaddress = "https://web.byisf.com/" + PRF_MINIO_URL + UUIDs + ".mp4";
        //把路径通过警情id添加到警情信息
        alarmService.updateVaddress(vaddress,jid);
        alarmService.updateVaddress(vaddress,uids,jid);
        return vaddress;
    }