dengyj il y a 3 ans
Parent
commit
73e109ccc1

+ 0 - 192
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/controller/DynamicBaseCameraController.java

@@ -1,192 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.controller;
-
-import cn.hutool.core.lang.Assert;
-import com.jisco.dynamicweight.dynamicbasebatchstation.model.DynamicBaseBatchStation;
-import com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera;
-import com.jisco.dynamicweight.dynamicbasecamera.service.IDynamicBaseCameraService;
-import com.jisco.dynamicweight.dynamicbasecamera.service.IFLVService;
-import com.jisco.dynamicweight.util.ExcelUtil;
-import com.jisco.dynamicweight.util.UserUtil;
-import com.jisco.dynamicweight.util.VideoUtil;
-import com.steerinfo.framework.controller.BaseRESTfulController;
-import com.steerinfo.framework.controller.RESTfulResult;
-import com.steerinfo.framework.service.pagehelper.PageList;
-import com.steerinfo.framework.utils.collection.ListUtils;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.bytedeco.javacv.*;
-import org.bytedeco.opencv.opencv_core.IplImage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Required;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
-import sun.misc.BASE64Encoder;
-
-import javax.imageio.ImageIO;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.awt.image.BufferedImage;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.nio.Buffer;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-
-/**
- * DynamicBaseCamera RESTful接口:
- *
- * @author generator
- * @version 1.0-SNAPSHORT 2022-02-15 09:14
- * 类描述
- * 修订历史:
- * 日期:2022-02-15
- * 作者:generator
- * 参考:
- * 描述:DynamicBaseCamera RESTful接口
- * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
- * @see null
- */
-@RestController
-@RequestMapping("/${api.version}/dynamicbasecameras")
-public class DynamicBaseCameraController extends BaseRESTfulController {
-
-    @Autowired
-    IDynamicBaseCameraService dynamicBaseCameraService;
-
-    @Autowired
-    IFLVService flvService;
-
-    @ApiOperation(value = "获取列表", notes = "分页查询")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
-            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
-    })
-    //@RequiresPermissions("dynamicbasecamera:view")
-    @GetMapping(value = "/")
-    public RESTfulResult list(@RequestParam HashMap parmas, Integer pageNum, Integer pageSize) {
-        PageList<DynamicBaseCamera> list = dynamicBaseCameraService.queryForPage(parmas, pageNum, pageSize);
-        return success(list);
-    }
-
-    @ApiOperation(value = "获取列表", notes = "分页模糊查询")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
-            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
-    })
-    //@RequiresPermissions("dynamicbasecamera:view")
-    @GetMapping(value = "/like/")
-    public RESTfulResult listLike(@RequestParam HashMap parmas, Integer pageNum, Integer pageSize) {
-        PageList<DynamicBaseCamera> list = dynamicBaseCameraService.queryLikeForPage(parmas, pageNum, pageSize);
-        return success(list);
-    }
-
-    @ApiOperation(value = "创建", notes = "根据DynamicBaseCamera对象创建")
-    @ApiImplicitParam(name = "dynamicBaseCamera", value = "详细实体dynamicBaseCamera", required = true, dataType = "DynamicBaseCamera")
-    //@RequiresPermissions("dynamicbasecamera:create")
-    @PostMapping(value = "/")
-    public RESTfulResult add(@RequestBody DynamicBaseCamera model) {
-        model.setCreateManNo(UserUtil.getCurrentUserId());
-        model.setCreateManName(UserUtil.getCurrentUserName());
-        model.setCreateTime(new Date());
-        DynamicBaseCamera dynamicBaseCamera = dynamicBaseCameraService.add(model);
-        return success(dynamicBaseCamera);
-    }
-
-    @ApiOperation(value = "导出Excel", notes = "导出Excel")
-    @PostMapping(value = "/exportExcel")//String
-    public void exportExcel(HttpServletResponse response) throws IOException {
-        List<DynamicBaseCamera> list = dynamicBaseCameraService.query(null);
-        ExcelUtil.exportExcel(response, list, DynamicBaseCamera.class, "动态秤站点视频配置");
-    }
-
-    @ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
-    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
-    //@RequiresPermissions("dynamicbasecamera:view")
-    @GetMapping(value = "/{id}")
-    public RESTfulResult get(@PathVariable String id) {
-        DynamicBaseCamera dynamicBaseCamera = dynamicBaseCameraService.getById(id);
-        return success(dynamicBaseCamera);
-    }
-
-    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的dynamicBaseCamera信息来更新详细信息")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "dynamicBaseCamera", value = "详细实体dynamicBaseCamera", required = true, dataType = "DynamicBaseCamera")
-    })
-    //@RequiresPermissions("dynamicbasecamera:update")
-    @PutMapping(value = "/{id}", produces = "application/json;charset=UTF-8")
-    public RESTfulResult update(@PathVariable String id, @RequestBody DynamicBaseCamera model) {
-        model.setId(id);
-        model.setUpdateManNo(UserUtil.getCurrentUserId());
-        model.setUpdateManName(UserUtil.getCurrentUserName());
-        model.setUpdateTime(new Date());
-        DynamicBaseCamera dynamicBaseCamera = dynamicBaseCameraService.modify(model);
-        return success(dynamicBaseCamera);
-    }
-
-    @ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
-    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
-    //@RequiresPermissions("dynamicbasecamera:delete")
-    @DeleteMapping(value = "/{id}")//String
-    public RESTfulResult delete(@PathVariable String id) {
-        List<String> list = Arrays.asList(id.split(","));
-        if (ListUtils.isNotEmpty(list)) {
-            List<String> ids = ListUtils.convertList(list);
-            dynamicBaseCameraService.delete(ids);
-        }
-        return success();
-    }
-
-    //无需nginx推流服务器,本身服务器够强就行,切可以集群部署
-    @GetMapping(value = "/video/flv/live/", produces = {"video/x-flv;charset=UTF-8"})
-    public void flvLive(@RequestParam(value = "id") String id, @RequestParam(value = "verificationCode") String verificationCode, HttpServletResponse response,
-                        HttpServletRequest request) {
-        DynamicBaseCamera camera = dynamicBaseCameraService.getById(id);
-        String url = VideoUtil.getRTSPUrl(camera);
-        String starttime = request.getParameter("starttime");
-        String endtime = request.getParameter("endtime");
-        if (!StringUtils.isEmpty(starttime) && !StringUtils.isEmpty(endtime)) {
-            //回放
-            url = VideoUtil.getRTSPPlayBackUrl(camera);
-            starttime = starttime.replaceAll("-", "");
-            endtime = endtime.replaceAll("-", "");
-            url += "?starttime=" + starttime + "&endtime=" + endtime;
-        }
-
-        //非网关时开启这里,flvjs插件播放
-        response.setHeader("Access-Control-Allow-Origin", "*");//走网关时去掉这行
-        flvService.open(url, id, response, request);
-    }
-
-    /**
-     * 截图
-     *
-     * @param id
-     * @return java.lang.Object
-     * @author jitwxs
-     * @date 2022/2/15 11:39
-     */
-    @GetMapping("shot")
-    public RESTfulResult shot(@RequestParam String id) throws IOException, InterruptedException {
-//        long start = System.currentTimeMillis();
-        DynamicBaseCamera camera = dynamicBaseCameraService.getById(id);
-        if (Objects.isNull(camera)) return failed(null, "未查询到摄像头配置信息");
-        String url = VideoUtil.getRTSPUrl(camera);
-        FFmpegFrameGrabber fFmpegFrameGrabber = new FFmpegFrameGrabber(url);
-        fFmpegFrameGrabber.start();
-        fFmpegFrameGrabber.getAudioChannels();
-        Frame frame = fFmpegFrameGrabber.grabImage();
-        Java2DFrameConverter java2DFrameConverter = new Java2DFrameConverter();
-        BufferedImage bufferedImage = java2DFrameConverter.convert(frame);
-        fFmpegFrameGrabber.stop();
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();//io流
-        ImageIO.write(bufferedImage, "jpeg", baos);//写入流中
-        byte[] bytes = baos.toByteArray();//转换成字节
-        BASE64Encoder encoder = new BASE64Encoder();
-        String jpg_base64 = encoder.encodeBuffer(bytes).trim();//转换成base64串
-        jpg_base64 = jpg_base64.replaceAll("\n", "").replaceAll("\r", "");//删除 \r\n
-        return success("data:image/jpeg;base64," + jpg_base64);
-    }
-}

+ 0 - 39
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/factories/Converter.java

@@ -1,39 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.factories;
-
-import javax.servlet.AsyncContext;
-import java.io.IOException;
-
-public interface Converter {
-
-	/**
-	 * 获取该转换的key
-	 */
-	public String getKey();
-
-	/**
-	 * 获取该转换的url
-	 * 
-	 * @return
-	 */
-	public String getUrl();
-
-	/**
-	 * 添加一个流输出
-	 * 
-	 * @param entity
-	 */
-	public void addOutputStreamEntity(String key, AsyncContext entity) throws IOException;
-
-	/**
-	 * 退出转换
-	 */
-	public void exit();
-
-	/**
-	 * 启动
-	 */
-	public void start();
-
-
-
-}

+ 0 - 248
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/factories/ConverterFactories.java

@@ -1,248 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.factories;
-
-import org.bytedeco.ffmpeg.avcodec.AVPacket;
-import org.bytedeco.ffmpeg.global.avcodec;
-import org.bytedeco.javacv.FFmpegFrameGrabber;
-import org.bytedeco.javacv.FFmpegFrameRecorder;
-import org.bytedeco.javacv.Frame;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.AsyncContext;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * javacv转包装<br/>
- * 无须转码,更低的资源消耗,更低的延迟<br/>
- * 确保流来源视频H264格式,音频AAC格式
- * 
- * @author hzj
- */
-public class ConverterFactories extends Thread implements Converter {
-	private static Logger logger	= LoggerFactory.getLogger( ConverterFactories.class );
-
-	public volatile boolean runing = true;
-	/**
-	 * 读流器
-	 */
-	private FFmpegFrameGrabber grabber;
-	/**
-	 * 转码器
-	 */
-	private FFmpegFrameRecorder recorder;
-
-	/**
-	 * 转FLV格式的头信息<br/>
-	 * 如果有第二个客户端播放首先要返回头信息
-	 */
-	private byte[] headers;
-	/**
-	 * 保存转换好的流
-	 */
-	private ByteArrayOutputStream stream;
-	/**
-	 * 流地址,h264,aac
-	 */
-	private String url;
-	/**
-	 * 流输出
-	 */
-	private List<AsyncContext> outEntitys;
-
-	/**
-	 * key用于表示这个转换器
-	 */
-	private String key;
-
-	/**
-	 * 转换队列
-	 */
-	private Map<String, Converter> factories;
-
-	private String videoId;
-
-	public ConverterFactories(String url, String key, Map<String, Converter> factories, List<AsyncContext> outEntitys,String videoId) {
-		this.url = url;
-		this.key = key;
-		this.factories = factories;
-		this.outEntitys = outEntitys;
-		this.videoId = videoId;
-	}
-
-	@Override
-	public void run() {
-		boolean isCloseGrabberAndResponse = true;
-		try {
-			//抓取
-			grabber = new FFmpegFrameGrabber(url);
-			if ("rtsp".equals(url.substring(0, 4))) {
-				grabber.setOption("rtsp_transport", "tcp");
-				grabber.setOption("stimeout", "5000000");
-			}
-			grabber.start();
-			//end
-			if (avcodec.AV_CODEC_ID_H264 == grabber.getVideoCodec()
-					&& (grabber.getAudioChannels() == 0 || avcodec.AV_CODEC_ID_AAC == grabber.getAudioCodec())) {
-				logger.info("this url:{} converterFactories start", url);
-				// 来源视频H264格式,音频AAC格式
-				// 无须转码,更低的资源消耗,更低的延迟
-				stream = new ByteArrayOutputStream();
-				recorder = new FFmpegFrameRecorder(stream, grabber.getImageWidth(), grabber.getImageHeight(),
-						grabber.getAudioChannels());
-			 	recorder.setInterleaved(true);
-				recorder.setVideoOption("preset", "ultrafast");
-				recorder.setVideoOption("tune", "zerolatency");
-				recorder.setVideoOption("crf", "25");
-				recorder.setFrameRate(grabber.getFrameRate());
-				recorder.setSampleRate(grabber.getSampleRate());
-				if (grabber.getAudioChannels() > 0) {
-					recorder.setAudioChannels(grabber.getAudioChannels());
-					recorder.setAudioBitrate(grabber.getAudioBitrate());
-					recorder.setAudioCodec(grabber.getAudioCodec());
-				}
-				recorder.setFormat("flv");
-
-
-
-				recorder.setVideoBitrate(grabber.getVideoBitrate());
-			    recorder.setVideoCodec(grabber.getVideoCodec());
-				recorder.start(grabber.getFormatContext());//这个不报警告,但是不能加水印
-				//recorder.start();//这个能加水印,但是又警告
-				if (headers == null) {
-					headers = stream.toByteArray();
-					stream.reset();
-					writeResponse(headers);
-				}
-				while (runing) {
-				 	 AVPacket k = grabber.grabPacket();
-					if (k != null) {
-						try {
-							recorder.recordPacket(k);
-						} catch (Exception e) {
-						}
-						if (stream.size() > 0) {
-							byte[] b = stream.toByteArray();
-							stream.reset();
-							writeResponse(b);
-							if (outEntitys.isEmpty()) {
-								logger.info("没有输出退出");
-								break;
-							}
-						}
-						avcodec.av_packet_unref(k);
-					}
-					Thread.sleep(5);
-				}
-			} else {
-				////system.out.println("为什么会走到这?");
-				isCloseGrabberAndResponse = false;
-				// 需要转码为视频H264格式,音频AAC格式
-				ConverterTranFactories c = new ConverterTranFactories(url, key, factories, outEntitys,grabber,videoId);
-				factories.put(key, c);
-				c.start();
-			}
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-			logger.info("播放失败");
-
-		} finally {
-			closeConverter(isCloseGrabberAndResponse);
-			completeResponse(isCloseGrabberAndResponse);
-			logger.info("this url:{} converterFactories exit", url);
-
-		}
-	}
-
-	private boolean add = false;
-	/**
-	 * 输出FLV视频流
-	 * 
-	 * @param b
-	 */
-	public void writeResponse(byte[] b) {
-		Iterator<AsyncContext> it = outEntitys.iterator();
-		while (it.hasNext()) {
-			AsyncContext o = it.next();
-			try {
-				o.getResponse().getOutputStream().write(b);
-			} catch (Exception e) {
-				logger.info("移除一个输出");
-			 	o.complete();
-				it.remove();
-			}
-		}
-	}
-
-	/**
-	 * 退出转换
-	 */
-	public void closeConverter(boolean isCloseGrabberAndResponse) {
-		try{
-		 if (isCloseGrabberAndResponse) {
-			 grabber.close();
-			factories.remove(this.key);
-		 }
-			recorder.close();
-			stream.close();
-		}catch (Exception e){}
-	}
-
-	/**
-	 * 关闭异步响应
-	 * 
-	 * @param isCloseGrabberAndResponse
-	 */
-	public void completeResponse(boolean isCloseGrabberAndResponse) {
-		//system.out.println("isCloseGrabberAndResponse="+isCloseGrabberAndResponse);
-		if (isCloseGrabberAndResponse) {
-			Iterator<AsyncContext> it = outEntitys.iterator();
-			while (it.hasNext()) {
-				AsyncContext o = it.next();
-				//system.out.println("o="+o);
-				//o.getResponse().setContentType("application/json;charset=utf-8");
-				try{
-					o.getResponse().flushBuffer();
-				}catch (Exception e){}
-
-				o.complete();
-				it.remove();
-			}
-		}
-	}
-
-	@Override
-	public String getKey() {
-		return this.key;
-	}
-
-	@Override
-	public String getUrl() {
-		return this.url;
-	}
-
-	@Override
-	public void addOutputStreamEntity(String key, AsyncContext entity) throws IOException {
-		if (headers == null) {
-			outEntitys.add(entity);
-		} else {
-			entity.getResponse().getOutputStream().write(headers);
-			entity.getResponse().getOutputStream().flush();
-			outEntitys.add(entity);
-		}
-	}
-
-	@Override
-	public void exit() {
-		this.runing = false;
-		try {
-			this.join();
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-		}
-	}
-
-}

+ 0 - 221
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/factories/ConverterTranFactories.java

@@ -1,221 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.factories;
-
-import org.bytedeco.ffmpeg.global.avcodec;
-import org.bytedeco.javacv.FFmpegFrameGrabber;
-import org.bytedeco.javacv.FFmpegFrameRecorder;
-import org.bytedeco.javacv.Frame;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.AsyncContext;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * javacv转码<br/>
- * 流来源不是视频H264格式,音频AAC格式 转码为视频H264格式,音频AAC格式
- * 
- * @author hzj
- */
-public class ConverterTranFactories extends Thread implements Converter {
-	private static Logger logger	= LoggerFactory.getLogger( ConverterTranFactories.class );
-
-	public volatile boolean runing = true;
-	/**
-	 * 读流器
-	 */
-	private FFmpegFrameGrabber grabber;
-	/**
-	 * 转码器
-	 */
-	private FFmpegFrameRecorder recorder;
-	/**
-	 * 转FLV格式的头信息<br/>
-	 * 如果有第二个客户端播放首先要返回头信息
-	 */
-	private byte[] headers;
-	/**
-	 * 保存转换好的流
-	 */
-	private ByteArrayOutputStream stream;
-	/**
-	 * 流地址,h264,aac
-	 */
-	private String url;
-	/**
-	 * 流输出
-	 */
-	private List<AsyncContext> outEntitys;
-
-	/**
-	 * key用于表示这个转换器
-	 */
-	private String key;
-
-	/**
-	 * 转换队列
-	 */
-	private Map<String, Converter> factories;
-
-	private String videoId;
-
-	public ConverterTranFactories(String url, String key, Map<String, Converter> factories,
-                                  List<AsyncContext> outEntitys, FFmpegFrameGrabber grabber,String videoId) {
-		this.url = url;
-		this.key = key;
-		this.factories = factories;
-		this.outEntitys = outEntitys;
-		this.grabber = grabber;
-		this.videoId = videoId;
-	}
-
-	@Override
-	public void run() {
-		try {
-			logger.info("this url:{} converterTranFactories start", url);
-			grabber.setFrameRate(25);
-			if (grabber.getImageWidth() > 1920) {
-				grabber.setImageWidth(1920);
-			}
-			if (grabber.getImageHeight() > 1080) {
-				grabber.setImageHeight(1080);
-			}
-			stream = new ByteArrayOutputStream();
-			recorder = new FFmpegFrameRecorder(stream, grabber.getImageWidth(), grabber.getImageHeight(),
-					grabber.getAudioChannels());
-			recorder.setInterleaved(true);
-			recorder.setVideoOption("preset", "ultrafast");
-			recorder.setVideoOption("tune", "zerolatency");
-			recorder.setVideoOption("crf", "25");
-			recorder.setGopSize(50);
-			recorder.setFrameRate(25);
-			recorder.setSampleRate(grabber.getSampleRate());
-			if (grabber.getAudioChannels() > 0) {
-				recorder.setAudioChannels(grabber.getAudioChannels());
-				recorder.setAudioBitrate(grabber.getAudioBitrate());
-				recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
-			}
-			recorder.setFormat("flv");
-			recorder.setVideoBitrate(grabber.getVideoBitrate());
-			recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
-			recorder.start();
-			if (headers == null) {
-				headers = stream.toByteArray();
-				stream.reset();
-				writeResponse(headers);
-			}
-			while (runing) {
-				// 抓取一帧
-				Frame f = grabber.grab();
-				if (f != null) {
-					try {
-						// 转码
-						recorder.record(f);
-					} catch (Exception e) {
-					}
-					if (stream.size() > 0) {
-						byte[] b = stream.toByteArray();
-						stream.reset();
-						writeResponse(b);
-						if (outEntitys.isEmpty()) {
-							logger.info("没有输出退出");
-							break;
-						}
-					}
-				}
-				Thread.sleep(5);
-			}
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-
-		} finally {
-			closeConverter();
-			completeResponse();
-			logger.info("this url:{} converterTranFactories exit", url);
-			factories.remove(this.key);
-		}
-	}
-
-	private boolean add = false;
-	/**
-	 * 输出FLV视频流
-	 * 
-	 * @param b
-	 */
-	public void writeResponse(byte[] b) {
-		Iterator<AsyncContext> it = outEntitys.iterator();
-		while (it.hasNext()) {
-			AsyncContext o = it.next();
-			try {
-				o.getResponse().getOutputStream().write(b);
-			} catch (Exception e) {
-				logger.info("移除一个输出",e);
-				o.complete();
-				it.remove();
-			}
-		}
-
-	}
-
-	/**
-	 * 退出转换
-	 */
-	public void closeConverter() {
-		try{
-			grabber.close();
-			recorder.close();
-			stream.close();
-			factories.remove(this.key);
-		}catch (Exception e){}
-
-	}
-
-	/**
-	 * 关闭异步响应
-	 */
-	public void completeResponse() {
-		Iterator<AsyncContext> it = outEntitys.iterator();
-		while (it.hasNext()) {
-			AsyncContext o = it.next();
-			o.complete();
-			it.remove();
-		}
-	}
-
-	@Override
-	public String getKey() {
-		return this.key;
-	}
-
-	@Override
-	public String getUrl() {
-		return this.url;
-	}
-
-	@Override
-	public void addOutputStreamEntity(String key, AsyncContext entity) throws IOException {
-		if (headers == null) {
-			outEntitys.add(entity);
-		} else {
-			entity.getResponse().getOutputStream().write(headers);
-			entity.getResponse().getOutputStream().flush();
-			outEntitys.add(entity);
-		}
-	}
-
-	@Override
-	public void exit() {
-		this.runing = false;
-		try {
-			this.join();
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-		}
-	}
-
-
-
-}

+ 0 - 256
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/factories/HLSConverterFactories.java

@@ -1,256 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.factories;
-
-
-import org.bytedeco.ffmpeg.avcodec.AVPacket;
-import org.bytedeco.ffmpeg.avformat.AVFormatContext;
-import org.bytedeco.ffmpeg.global.avcodec;
-import org.bytedeco.ffmpeg.global.avutil;
-import org.bytedeco.javacv.FFmpegFrameGrabber;
-import org.bytedeco.javacv.FFmpegFrameRecorder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.AsyncContext;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import static org.bytedeco.ffmpeg.global.avcodec.av_packet_unref;
-
-/**
- * javacv转包装<br/>
- * 无须转码,更低的资源消耗,更低的延迟<br/>
- * 确保流来源视频H264格式,音频AAC格式
- * 
- * @author hzj
- */
-public class HLSConverterFactories extends Thread implements Converter {
-
-	private static Logger logger	= LoggerFactory.getLogger( HLSConverterFactories.class );
-
-	public volatile boolean runing = true;
-	/**
-	 * 读流器
-	 */
-	private FFmpegFrameGrabber grabber;
-	/**
-	 * 转码器
-	 */
-	private FFmpegFrameRecorder recorder;
-
-	/**
-	 * 转FLV格式的头信息<br/>
-	 * 如果有第二个客户端播放首先要返回头信息
-	 */
-	private byte[] headers;
-	/**
-	 * 保存转换好的流
-	 */
-	private ByteArrayOutputStream stream;
-	/**
-	 * 流地址,h264,aac
-	 */
-	private String url;
-	/**
-	 * 流输出
-	 */
-	private List<AsyncContext> outEntitys;
-
-	/**
-	 * key用于表示这个转换器
-	 */
-	private String key;
-
-	/**
-	 * 转换队列
-	 */
-	private Map<String, Converter> factories;
-
-	public HLSConverterFactories(String url, String key, Map<String, Converter> factories, List<AsyncContext> outEntitys) {
-		this.url = url;
-		this.key = key;
-		this.factories = factories;
-		this.outEntitys = outEntitys;
-	}
-
-	@Override
-	public void run() {
-		boolean isCloseGrabberAndResponse = true;
-		try {
-			//抓取
-			grabber = new FFmpegFrameGrabber(url);
-			if ("rtsp".equals(url.substring(0, 4))) {
-				grabber.setOption("rtsp_transport", "tcp");
-				grabber.setOption("stimeout", "5000000");
-			}
-			grabber.start();
-
-			int bitrate = 2500000;// 比特率
-			double framerate;// 帧率
-			int err_index = 0;// 推流过程中出现错误的次数
-			int timebase;// 时钟基
-			long dts = 0, pts = 0;// pkt的dts、pts时间戳
-			//end
-			// 开启ffmpeg日志级别;QUIET是屏蔽所有,可选INFO、DEBUG、ERROR等
-
-
-			// 异常的framerate,强制使用25帧
-			if (grabber.getFrameRate() > 0 && grabber.getFrameRate() < 100) {
-				framerate = grabber.getFrameRate();
-			} else {
-				framerate = 25.0;
-			}
-
-			bitrate = grabber.getVideoBitrate();// 获取到的比特率 0
-
-				stream = new ByteArrayOutputStream();
-				recorder = new FFmpegFrameRecorder(url, grabber.getImageWidth(), grabber.getImageHeight(),
-						grabber.getAudioChannels());
-
-				//system.out.println("11111");
-				// 设置比特率
-				recorder.setVideoBitrate(bitrate);
-				// h264编/解码器
-				recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
-				// 设置音频编码
-				recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
-				// 视频帧率(保证视频质量的情况下最低25,低于25会出现闪屏)
-				recorder.setFrameRate(framerate);
-				// 关键帧间隔,一般与帧率相同或者是视频帧率的两倍
-				recorder.setGopSize((int) framerate);
-				// 解码器格式
-				recorder.setFormat("hls");
-				// 单个切片时长,单位是s,默认为2s
-				recorder.setOption("hls_time", "60");
-				// HLS播放的列表长度,0标识不做限制
-				recorder.setOption("hls_list_size", "0");
-				// 设置切片的ts文件序号起始值,默认从0开始,可以通过此项更改
-				recorder.setOption("start_number", "120");
-				/////
-			AVFormatContext fc = null;
-			fc = grabber.getFormatContext();
-			recorder.start(fc);
-			// 清空探测时留下的缓存
-//			grabber.flush();
-
-			AVPacket pkt = null;
-
-			for (int no_pkt_index = 0; no_pkt_index < 5 && err_index < 5;) {
-
-				pkt = grabber.grabPacket();
-				if (pkt == null || pkt.size() <= 0 || pkt.data() == null) {
-					Thread.sleep(1);
-					no_pkt_index++;
-					continue;
-				}
-				//system.out.println("----------------------");
-				// 获取到的pkt的dts,pts异常,将此包丢弃掉。
-				if (pkt.dts() == avutil.AV_NOPTS_VALUE && pkt.pts() == avutil.AV_NOPTS_VALUE || pkt.pts() < dts) {
-					err_index++;
-					av_packet_unref(pkt);
-					continue;
-				}
-				// 矫正dts,pts
-				pkt.pts(pts);
-				pkt.dts(dts);
-				err_index += (recorder.recordPacket(pkt) ? 0 : 1);
-				// pts,dts累加
-				timebase = grabber.getFormatContext().streams(pkt.stream_index()).time_base().den();
-
-				pts += (timebase / (int) framerate);
-				dts += (timebase / (int) framerate);
-			}
-
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-			logger.info("播放失败");
-			//可以在这里写个错误图片流返回,这样播放器就能看到问题了
-		} finally {
-			closeConverter(isCloseGrabberAndResponse);
-			completeResponse(isCloseGrabberAndResponse);
-			logger.info("this url:{} converterFactories exit", url);
-
-		}
-	}
-
-	/**
-	 * 输出FLV视频流
-	 * 
-	 * @param b
-	 */
-	public void writeResponse(byte[] b) {
-		Iterator<AsyncContext> it = outEntitys.iterator();
-		while (it.hasNext()) {
-			AsyncContext o = it.next();
-			try {
-				o.getResponse().getOutputStream().write(b);
-			} catch (Exception e) {
-				logger.info("移除一个输出");
-				it.remove();
-			}
-		}
-	}
-
-	/**
-	 * 退出转换
-	 */
-	public void closeConverter(boolean isCloseGrabberAndResponse) {
-		try{
-			grabber.close();
-			recorder.close();
-			stream.close();
-		}catch (Exception e){}
-
-	}
-
-	/**
-	 * 关闭异步响应
-	 * 
-	 * @param isCloseGrabberAndResponse
-	 */
-	public void completeResponse(boolean isCloseGrabberAndResponse) {
-		if (isCloseGrabberAndResponse) {
-			Iterator<AsyncContext> it = outEntitys.iterator();
-			while (it.hasNext()) {
-				AsyncContext o = it.next();
-				o.complete();
-			}
-		}
-	}
-
-	@Override
-	public String getKey() {
-		return this.key;
-	}
-
-	@Override
-	public String getUrl() {
-		return this.url;
-	}
-
-	@Override
-	public void addOutputStreamEntity(String key, AsyncContext entity) throws IOException {
-		if (headers == null) {
-			outEntitys.add(entity);
-		} else {
-			entity.getResponse().getOutputStream().write(headers);
-			entity.getResponse().getOutputStream().flush();
-			outEntitys.add(entity);
-		}
-	}
-
-	@Override
-	public void exit() {
-		this.runing = false;
-		try {
-			this.join();
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-		}
-	}
-
-
-
-}

+ 0 - 9
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/mapper/DynamicBaseCameraMapper.java

@@ -1,9 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.mapper;
-
-import com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera;
-import com.steerinfo.framework.mapper.IBaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface DynamicBaseCameraMapper extends IBaseMapper<DynamicBaseCamera, String> {
-}

+ 0 - 625
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/mapper/DynamicBaseCameraMapper.xml

@@ -1,625 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.jisco.dynamicweight.dynamicbasecamera.mapper.DynamicBaseCameraMapper">
-  <resultMap id="BaseResultMap" type="com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera">
-    <id column="CAMERA_NO" jdbcType="VARCHAR" property="cameraNo" />
-    <result column="NAME" jdbcType="VARCHAR" property="name" />
-    <result column="MS_IP" jdbcType="VARCHAR" property="msIp" />
-    <result column="NVR_IP" jdbcType="VARCHAR" property="nvrIp" />
-    <result column="MS_PORT" jdbcType="DECIMAL" property="msPort" />
-    <result column="MS_CHANNEL" jdbcType="DECIMAL" property="msChannel" />
-    <result column="CAMERA_IP" jdbcType="VARCHAR" property="cameraIp" />
-    <result column="RSTP_PORT" jdbcType="DECIMAL" property="rstpPort" />
-    <result column="VEDIO_TYPE" jdbcType="DECIMAL" property="vedioType" />
-    <result column="CAMERA_CHANNEL" jdbcType="DECIMAL" property="cameraChannel" />
-    <result column="USERNAME" jdbcType="VARCHAR" property="username" />
-    <result column="PASSWORD" jdbcType="VARCHAR" property="password" />
-    <result column="MANUFACTURER" jdbcType="VARCHAR" property="manufacturer" />
-    <result column="MEMO" jdbcType="VARCHAR" property="memo" />
-    <result column="VALID_FLAG" jdbcType="VARCHAR" property="validFlag" />
-    <result column="CREATE_MAN_NO" jdbcType="VARCHAR" property="createManNo" />
-    <result column="CREATE_MAN_NAME" jdbcType="VARCHAR" property="createManName" />
-    <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
-    <result column="UPDATE_MAN_NO" jdbcType="VARCHAR" property="updateManNo" />
-    <result column="UPDATE_MAN_NAME" jdbcType="VARCHAR" property="updateManName" />
-    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
-  </resultMap>
-  <sql id="columns">
-    CAMERA_NO, NAME, MS_IP, NVR_IP, MS_PORT, MS_CHANNEL, CAMERA_IP, RSTP_PORT, VEDIO_TYPE, 
-    CAMERA_CHANNEL, USERNAME, PASSWORD, MANUFACTURER, MEMO, VALID_FLAG, CREATE_MAN_NO, 
-    CREATE_MAN_NAME, CREATE_TIME, UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME
-  </sql>
-  <sql id="columns_alias">
-    t.CAMERA_NO, t.NAME, t.MS_IP, t.NVR_IP, t.MS_PORT, t.MS_CHANNEL, t.CAMERA_IP, t.RSTP_PORT, 
-    t.VEDIO_TYPE, t.CAMERA_CHANNEL, t.USERNAME, t.PASSWORD, t.MANUFACTURER, t.MEMO, t.VALID_FLAG, 
-    t.CREATE_MAN_NO, t.CREATE_MAN_NAME, t.CREATE_TIME, t.UPDATE_MAN_NO, t.UPDATE_MAN_NAME, 
-    t.UPDATE_TIME
-  </sql>
-  <sql id="select">
-    SELECT <include refid="columns"/> FROM DYNAMIC_BASE_CAMERA
-  </sql>
-  <sql id="select_alias">
-    SELECT <include refid="columns_alias"/> FROM DYNAMIC_BASE_CAMERA t
-  </sql>
-  <sql id="where">
-    <where> 
-      <if test="cameraNo != null and cameraNo != ''">
-        and CAMERA_NO = #{cameraNo}
-      </if>
-      <if test="name != null and name != ''">
-        and NAME = #{name}
-      </if>
-      <if test="msIp != null and msIp != ''">
-        and MS_IP = #{msIp}
-      </if>
-      <if test="nvrIp != null and nvrIp != ''">
-        and NVR_IP = #{nvrIp}
-      </if>
-      <if test="msPort != null">
-        and MS_PORT = #{msPort}
-      </if>
-      <if test="msChannel != null">
-        and MS_CHANNEL = #{msChannel}
-      </if>
-      <if test="cameraIp != null and cameraIp != ''">
-        and CAMERA_IP = #{cameraIp}
-      </if>
-      <if test="rstpPort != null">
-        and RSTP_PORT = #{rstpPort}
-      </if>
-      <if test="vedioType != null">
-        and VEDIO_TYPE = #{vedioType}
-      </if>
-      <if test="cameraChannel != null">
-        and CAMERA_CHANNEL = #{cameraChannel}
-      </if>
-      <if test="username != null and username != ''">
-        and USERNAME = #{username}
-      </if>
-      <if test="password != null and password != ''">
-        and PASSWORD = #{password}
-      </if>
-      <if test="manufacturer != null and manufacturer != ''">
-        and MANUFACTURER = #{manufacturer}
-      </if>
-      <if test="memo != null and memo != ''">
-        and MEMO = #{memo}
-      </if>
-      <if test="validFlag != null and validFlag != ''">
-        and VALID_FLAG = #{validFlag}
-      </if>
-      <if test="createManNo != null and createManNo != ''">
-        and CREATE_MAN_NO = #{createManNo}
-      </if>
-      <if test="createManName != null and createManName != ''">
-        and CREATE_MAN_NAME = #{createManName}
-      </if>
-      <if test="createTime != null">
-        and TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = #{createTime}
-      </if>
-      <if test="updateManNo != null and updateManNo != ''">
-        and UPDATE_MAN_NO = #{updateManNo}
-      </if>
-      <if test="updateManName != null and updateManName != ''">
-        and UPDATE_MAN_NAME = #{updateManName}
-      </if>
-      <if test="updateTime != null">
-        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
-      </if>
-    </where>
-  </sql>
-  <sql id="whereLike">
-    <where> 
-      <if test="cameraNo != null and cameraNo != ''">
-        and CAMERA_NO LIKE '%${cameraNo}%'
-      </if>
-      <if test="name != null and name != ''">
-        and NAME LIKE '%${name}%'
-      </if>
-      <if test="msIp != null and msIp != ''">
-        and MS_IP LIKE '%${msIp}%'
-      </if>
-      <if test="nvrIp != null and nvrIp != ''">
-        and NVR_IP LIKE '%${nvrIp}%'
-      </if>
-      <if test="msPort != null">
-        and MS_PORT = #{msPort}
-      </if>
-      <if test="msChannel != null">
-        and MS_CHANNEL = #{msChannel}
-      </if>
-      <if test="cameraIp != null and cameraIp != ''">
-        and CAMERA_IP LIKE '%${cameraIp}%'
-      </if>
-      <if test="rstpPort != null">
-        and RSTP_PORT = #{rstpPort}
-      </if>
-      <if test="vedioType != null">
-        and VEDIO_TYPE = #{vedioType}
-      </if>
-      <if test="cameraChannel != null">
-        and CAMERA_CHANNEL = #{cameraChannel}
-      </if>
-      <if test="username != null and username != ''">
-        and USERNAME LIKE '%${username}%'
-      </if>
-      <if test="password != null and password != ''">
-        and PASSWORD LIKE '%${password}%'
-      </if>
-      <if test="manufacturer != null and manufacturer != ''">
-        and MANUFACTURER LIKE '%${manufacturer}%'
-      </if>
-      <if test="memo != null and memo != ''">
-        and MEMO LIKE '%${memo}%'
-      </if>
-      <if test="validFlag != null and validFlag != ''">
-        and VALID_FLAG LIKE '%${validFlag}%'
-      </if>
-      <if test="createManNo != null and createManNo != ''">
-        and CREATE_MAN_NO LIKE '%${createManNo}%'
-      </if>
-      <if test="createManName != null and createManName != ''">
-        and CREATE_MAN_NAME LIKE '%${createManName}%'
-      </if>
-      <if test="createTime != null">
-        and TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = #{createTime}
-      </if>
-      <if test="updateManNo != null and updateManNo != ''">
-        and UPDATE_MAN_NO LIKE '%${updateManNo}%'
-      </if>
-      <if test="updateManName != null and updateManName != ''">
-        and UPDATE_MAN_NAME LIKE '%${updateManName}%'
-      </if>
-      <if test="updateTime != null">
-        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
-      </if>
-    </where>
-  </sql>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
-    delete from DYNAMIC_BASE_CAMERA
-    where CAMERA_NO = #{cameraNo,jdbcType=VARCHAR}
-  </delete>
-  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
-    delete from DYNAMIC_BASE_CAMERA
-    where 1!=1 
-      <if test="name != null and name != ''">
-        or NAME = #{name}
-      </if>
-      <if test="msIp != null and msIp != ''">
-        or MS_IP = #{msIp}
-      </if>
-      <if test="nvrIp != null and nvrIp != ''">
-        or NVR_IP = #{nvrIp}
-      </if>
-      <if test="msPort != null">
-        or MS_PORT = #{msPort}
-      </if>
-      <if test="msChannel != null">
-        or MS_CHANNEL = #{msChannel}
-      </if>
-      <if test="cameraIp != null and cameraIp != ''">
-        or CAMERA_IP = #{cameraIp}
-      </if>
-      <if test="rstpPort != null">
-        or RSTP_PORT = #{rstpPort}
-      </if>
-      <if test="vedioType != null">
-        or VEDIO_TYPE = #{vedioType}
-      </if>
-      <if test="cameraChannel != null">
-        or CAMERA_CHANNEL = #{cameraChannel}
-      </if>
-      <if test="username != null and username != ''">
-        or USERNAME = #{username}
-      </if>
-      <if test="password != null and password != ''">
-        or PASSWORD = #{password}
-      </if>
-      <if test="manufacturer != null and manufacturer != ''">
-        or MANUFACTURER = #{manufacturer}
-      </if>
-      <if test="memo != null and memo != ''">
-        or MEMO = #{memo}
-      </if>
-      <if test="validFlag != null and validFlag != ''">
-        or VALID_FLAG = #{validFlag}
-      </if>
-      <if test="createManNo != null and createManNo != ''">
-        or CREATE_MAN_NO = #{createManNo}
-      </if>
-      <if test="createManName != null and createManName != ''">
-        or CREATE_MAN_NAME = #{createManName}
-      </if>
-      <if test="createTime != null">
-        or TO_CHAR(CREATE_TIME,'yyyy-MM-dd') = '#{createTime}'
-      </if>
-      <if test="updateManNo != null and updateManNo != ''">
-        or UPDATE_MAN_NO = #{updateManNo}
-      </if>
-      <if test="updateManName != null and updateManName != ''">
-        or UPDATE_MAN_NAME = #{updateManName}
-      </if>
-      <if test="updateTime != null">
-        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
-      </if>
-  </delete>
-  <insert id="insert" parameterType="com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera">
-    insert into DYNAMIC_BASE_CAMERA (CAMERA_NO, NAME, MS_IP, 
-      NVR_IP, MS_PORT, MS_CHANNEL, 
-      CAMERA_IP, RSTP_PORT, VEDIO_TYPE, 
-      CAMERA_CHANNEL, USERNAME, PASSWORD, 
-      MANUFACTURER, MEMO, VALID_FLAG, 
-      CREATE_MAN_NO, CREATE_MAN_NAME, CREATE_TIME, 
-      UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME
-      )
-    values (#{cameraNo,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{msIp,jdbcType=VARCHAR}, 
-      #{nvrIp,jdbcType=VARCHAR}, #{msPort,jdbcType=DECIMAL}, #{msChannel,jdbcType=DECIMAL}, 
-      #{cameraIp,jdbcType=VARCHAR}, #{rstpPort,jdbcType=DECIMAL}, #{vedioType,jdbcType=DECIMAL}, 
-      #{cameraChannel,jdbcType=DECIMAL}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
-      #{manufacturer,jdbcType=VARCHAR}, #{memo,jdbcType=VARCHAR}, #{validFlag,jdbcType=VARCHAR}, 
-      #{createManNo,jdbcType=VARCHAR}, #{createManName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
-      #{updateManNo,jdbcType=VARCHAR}, #{updateManName,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}
-      )
-  </insert>
-  <insert id="insertSelective" parameterType="com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera">
-    insert into DYNAMIC_BASE_CAMERA
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="cameraNo != null">
-        CAMERA_NO,
-      </if>
-      <if test="name != null">
-        NAME,
-      </if>
-      <if test="msIp != null">
-        MS_IP,
-      </if>
-      <if test="nvrIp != null">
-        NVR_IP,
-      </if>
-      <if test="msPort != null">
-        MS_PORT,
-      </if>
-      <if test="msChannel != null">
-        MS_CHANNEL,
-      </if>
-      <if test="cameraIp != null">
-        CAMERA_IP,
-      </if>
-      <if test="rstpPort != null">
-        RSTP_PORT,
-      </if>
-      <if test="vedioType != null">
-        VEDIO_TYPE,
-      </if>
-      <if test="cameraChannel != null">
-        CAMERA_CHANNEL,
-      </if>
-      <if test="username != null">
-        USERNAME,
-      </if>
-      <if test="password != null">
-        PASSWORD,
-      </if>
-      <if test="manufacturer != null">
-        MANUFACTURER,
-      </if>
-      <if test="memo != null">
-        MEMO,
-      </if>
-      <if test="validFlag != null">
-        VALID_FLAG,
-      </if>
-      <if test="createManNo != null">
-        CREATE_MAN_NO,
-      </if>
-      <if test="createManName != null">
-        CREATE_MAN_NAME,
-      </if>
-      <if test="createTime != null">
-        CREATE_TIME,
-      </if>
-      <if test="updateManNo != null">
-        UPDATE_MAN_NO,
-      </if>
-      <if test="updateManName != null">
-        UPDATE_MAN_NAME,
-      </if>
-      <if test="updateTime != null">
-        UPDATE_TIME,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="cameraNo != null">
-        #{cameraNo,jdbcType=VARCHAR},
-      </if>
-      <if test="name != null">
-        #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="msIp != null">
-        #{msIp,jdbcType=VARCHAR},
-      </if>
-      <if test="nvrIp != null">
-        #{nvrIp,jdbcType=VARCHAR},
-      </if>
-      <if test="msPort != null">
-        #{msPort,jdbcType=DECIMAL},
-      </if>
-      <if test="msChannel != null">
-        #{msChannel,jdbcType=DECIMAL},
-      </if>
-      <if test="cameraIp != null">
-        #{cameraIp,jdbcType=VARCHAR},
-      </if>
-      <if test="rstpPort != null">
-        #{rstpPort,jdbcType=DECIMAL},
-      </if>
-      <if test="vedioType != null">
-        #{vedioType,jdbcType=DECIMAL},
-      </if>
-      <if test="cameraChannel != null">
-        #{cameraChannel,jdbcType=DECIMAL},
-      </if>
-      <if test="username != null">
-        #{username,jdbcType=VARCHAR},
-      </if>
-      <if test="password != null">
-        #{password,jdbcType=VARCHAR},
-      </if>
-      <if test="manufacturer != null">
-        #{manufacturer,jdbcType=VARCHAR},
-      </if>
-      <if test="memo != null">
-        #{memo,jdbcType=VARCHAR},
-      </if>
-      <if test="validFlag != null">
-        #{validFlag,jdbcType=VARCHAR},
-      </if>
-      <if test="createManNo != null">
-        #{createManNo,jdbcType=VARCHAR},
-      </if>
-      <if test="createManName != null">
-        #{createManName,jdbcType=VARCHAR},
-      </if>
-      <if test="createTime != null">
-        #{createTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="updateManNo != null">
-        #{updateManNo,jdbcType=VARCHAR},
-      </if>
-      <if test="updateManName != null">
-        #{updateManName,jdbcType=VARCHAR},
-      </if>
-      <if test="updateTime != null">
-        #{updateTime,jdbcType=TIMESTAMP},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKey" parameterType="com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera">
-    update DYNAMIC_BASE_CAMERA
-    set NAME = #{name,jdbcType=VARCHAR},
-      MS_IP = #{msIp,jdbcType=VARCHAR},
-      NVR_IP = #{nvrIp,jdbcType=VARCHAR},
-      MS_PORT = #{msPort,jdbcType=DECIMAL},
-      MS_CHANNEL = #{msChannel,jdbcType=DECIMAL},
-      CAMERA_IP = #{cameraIp,jdbcType=VARCHAR},
-      RSTP_PORT = #{rstpPort,jdbcType=DECIMAL},
-      VEDIO_TYPE = #{vedioType,jdbcType=DECIMAL},
-      CAMERA_CHANNEL = #{cameraChannel,jdbcType=DECIMAL},
-      USERNAME = #{username,jdbcType=VARCHAR},
-      PASSWORD = #{password,jdbcType=VARCHAR},
-      MANUFACTURER = #{manufacturer,jdbcType=VARCHAR},
-      MEMO = #{memo,jdbcType=VARCHAR},
-      VALID_FLAG = #{validFlag,jdbcType=VARCHAR},
-      CREATE_MAN_NO = #{createManNo,jdbcType=VARCHAR},
-      CREATE_MAN_NAME = #{createManName,jdbcType=VARCHAR},
-      CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
-      UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR},
-      UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
-      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}
-    where CAMERA_NO = #{cameraNo,jdbcType=VARCHAR}
-  </update>
-  <update id="updateByPrimaryKeySelective" parameterType="com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera">
-    update DYNAMIC_BASE_CAMERA
-    <set>
-      <if test="name != null">
-        NAME = #{name,jdbcType=VARCHAR},
-      </if>
-      <if test="msIp != null">
-        MS_IP = #{msIp,jdbcType=VARCHAR},
-      </if>
-      <if test="nvrIp != null">
-        NVR_IP = #{nvrIp,jdbcType=VARCHAR},
-      </if>
-      <if test="msPort != null">
-        MS_PORT = #{msPort,jdbcType=DECIMAL},
-      </if>
-      <if test="msChannel != null">
-        MS_CHANNEL = #{msChannel,jdbcType=DECIMAL},
-      </if>
-      <if test="cameraIp != null">
-        CAMERA_IP = #{cameraIp,jdbcType=VARCHAR},
-      </if>
-      <if test="rstpPort != null">
-        RSTP_PORT = #{rstpPort,jdbcType=DECIMAL},
-      </if>
-      <if test="vedioType != null">
-        VEDIO_TYPE = #{vedioType,jdbcType=DECIMAL},
-      </if>
-      <if test="cameraChannel != null">
-        CAMERA_CHANNEL = #{cameraChannel,jdbcType=DECIMAL},
-      </if>
-      <if test="username != null">
-        USERNAME = #{username,jdbcType=VARCHAR},
-      </if>
-      <if test="password != null">
-        PASSWORD = #{password,jdbcType=VARCHAR},
-      </if>
-      <if test="manufacturer != null">
-        MANUFACTURER = #{manufacturer,jdbcType=VARCHAR},
-      </if>
-      <if test="memo != null">
-        MEMO = #{memo,jdbcType=VARCHAR},
-      </if>
-      <if test="validFlag != null">
-        VALID_FLAG = #{validFlag,jdbcType=VARCHAR},
-      </if>
-      <if test="createManNo != null">
-        CREATE_MAN_NO = #{createManNo,jdbcType=VARCHAR},
-      </if>
-      <if test="createManName != null">
-        CREATE_MAN_NAME = #{createManName,jdbcType=VARCHAR},
-      </if>
-      <if test="createTime != null">
-        CREATE_TIME = #{createTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="updateManNo != null">
-        UPDATE_MAN_NO = #{updateManNo,jdbcType=VARCHAR},
-      </if>
-      <if test="updateManName != null">
-        UPDATE_MAN_NAME = #{updateManName,jdbcType=VARCHAR},
-      </if>
-      <if test="updateTime != null">
-        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
-      </if>
-    </set>
-    where CAMERA_NO = #{cameraNo,jdbcType=VARCHAR}
-  </update>
-  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
-    <include refid="select"/>
-    where CAMERA_NO = #{cameraNo,jdbcType=VARCHAR}
-  </select>
-  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-    <include refid="select"/>
-    <include refid="where"/>
-  </select>
-  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-    <include refid="select"/>
-    <include refid="whereLike"/>
-  </select>
-  <insert id="batchInsert" parameterType="java.util.List">
-    insert into DYNAMIC_BASE_CAMERA 
-      (CAMERA_NO, 
-      NAME, MS_IP, NVR_IP, 
-      MS_PORT, MS_CHANNEL, CAMERA_IP, 
-      RSTP_PORT, VEDIO_TYPE, CAMERA_CHANNEL, 
-      USERNAME, PASSWORD, MANUFACTURER, 
-      MEMO, VALID_FLAG, CREATE_MAN_NO, 
-      CREATE_MAN_NAME, CREATE_TIME, 
-      UPDATE_MAN_NO, UPDATE_MAN_NAME, UPDATE_TIME
-      )
-    ( <foreach collection="list" item="item" separator="union all"> 
-   select  
-      #{item.cameraNo,jdbcType=VARCHAR}, 
-      #{item.name,jdbcType=VARCHAR}, #{item.msIp,jdbcType=VARCHAR}, #{item.nvrIp,jdbcType=VARCHAR}, 
-      #{item.msPort,jdbcType=DECIMAL}, #{item.msChannel,jdbcType=DECIMAL}, #{item.cameraIp,jdbcType=VARCHAR}, 
-      #{item.rstpPort,jdbcType=DECIMAL}, #{item.vedioType,jdbcType=DECIMAL}, #{item.cameraChannel,jdbcType=DECIMAL}, 
-      #{item.username,jdbcType=VARCHAR}, #{item.password,jdbcType=VARCHAR}, #{item.manufacturer,jdbcType=VARCHAR}, 
-      #{item.memo,jdbcType=VARCHAR}, #{item.validFlag,jdbcType=VARCHAR}, #{item.createManNo,jdbcType=VARCHAR}, 
-      #{item.createManName,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, 
-      #{item.updateManNo,jdbcType=VARCHAR}, #{item.updateManName,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}
-       from dual  
-   </foreach> )
-  </insert>
-  <update id="batchUpdate" parameterType="java.util.List">
-     update DYNAMIC_BASE_CAMERA
-     set
-       CAMERA_NO=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.cameraNo,jdbcType=VARCHAR}
-       </foreach>
-       ,NAME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.name,jdbcType=VARCHAR}
-       </foreach>
-       ,MS_IP=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.msIp,jdbcType=VARCHAR}
-       </foreach>
-       ,NVR_IP=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.nvrIp,jdbcType=VARCHAR}
-       </foreach>
-       ,MS_PORT=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.msPort,jdbcType=DECIMAL}
-       </foreach>
-       ,MS_CHANNEL=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.msChannel,jdbcType=DECIMAL}
-       </foreach>
-       ,CAMERA_IP=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.cameraIp,jdbcType=VARCHAR}
-       </foreach>
-       ,RSTP_PORT=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.rstpPort,jdbcType=DECIMAL}
-       </foreach>
-       ,VEDIO_TYPE=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.vedioType,jdbcType=DECIMAL}
-       </foreach>
-       ,CAMERA_CHANNEL=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.cameraChannel,jdbcType=DECIMAL}
-       </foreach>
-       ,USERNAME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.username,jdbcType=VARCHAR}
-       </foreach>
-       ,PASSWORD=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.password,jdbcType=VARCHAR}
-       </foreach>
-       ,MANUFACTURER=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.manufacturer,jdbcType=VARCHAR}
-       </foreach>
-       ,MEMO=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.memo,jdbcType=VARCHAR}
-       </foreach>
-       ,VALID_FLAG=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.validFlag,jdbcType=VARCHAR}
-       </foreach>
-       ,CREATE_MAN_NO=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.createManNo,jdbcType=VARCHAR}
-       </foreach>
-       ,CREATE_MAN_NAME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.createManName,jdbcType=VARCHAR}
-       </foreach>
-       ,CREATE_TIME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
-       </foreach>
-       ,UPDATE_MAN_NO=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.updateManNo,jdbcType=VARCHAR}
-       </foreach>
-       ,UPDATE_MAN_NAME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.updateManName,jdbcType=VARCHAR}
-       </foreach>
-       ,UPDATE_TIME=
-       <foreach collection="list" item="item" index="index" separator=" " open="case CAMERA_NO" close="end">
-          when #{item.cameraNo,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
-       </foreach>
-     where CAMERA_NO in 
-     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
-    #{item.cameraNo,jdbcType=VARCHAR}
-     </foreach> 
-  </update>
-  <delete id="batchDelete" parameterType="java.util.List">
-    delete from DYNAMIC_BASE_CAMERA
-    where CAMERA_NO in 
-    <foreach collection="list" item="id" open="(" close=")" separator=",">
-      #{id}
-    </foreach>
-  </delete>
-  <!-- 友情提示!!!-->
-  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
-</mapper>

+ 0 - 349
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/model/DynamicBaseCamera.java

@@ -1,349 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.model;
-
-import com.steerinfo.framework.model.IBasePO;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-@ApiModel(value="null")
-public class DynamicBaseCamera implements IBasePO<String> {
-    /**
-     * 摄像头编号(ID)(CAMERA_NO,VARCHAR,20)
-     */
-    @ApiModelProperty(value="摄像头编号(ID)",required=true)
-    private String cameraNo;
-
-    /**
-     * 名称(NAME,VARCHAR,50)
-     */
-    @ApiModelProperty(value="名称",required=true)
-    private String name;
-
-    /**
-     * 流媒体IP(MS_IP,VARCHAR,15)
-     */
-    @ApiModelProperty(value="流媒体IP",required=false)
-    private String msIp;
-
-    /**
-     * 硬盘录像机IP(NVR_IP,VARCHAR,15)
-     */
-    @ApiModelProperty(value="硬盘录像机IP",required=false)
-    private String nvrIp;
-
-    /**
-     * 流媒体端口号(MS_PORT,DECIMAL,38)
-     */
-    @ApiModelProperty(value="流媒体端口号",required=false)
-    private BigDecimal msPort;
-
-    /**
-     * 流媒体通道号(MS_CHANNEL,DECIMAL,38)
-     */
-    @ApiModelProperty(value="流媒体通道号",required=false)
-    private BigDecimal msChannel;
-
-    /**
-     * 摄像头IP(CAMERA_IP,VARCHAR,15)
-     */
-    @ApiModelProperty(value="摄像头IP",required=false)
-    private String cameraIp;
-
-    /**
-     * RSTP端口(RSTP_PORT,DECIMAL,0)
-     */
-    @ApiModelProperty(value="RSTP端口",required=true)
-    private Short rstpPort;
-
-    /**
-     * 码流类型(VEDIO_TYPE,DECIMAL,0)
-     */
-    @ApiModelProperty(value="码流类型",required=true)
-    private Short vedioType;
-
-    /**
-     * 摄像头通道号(CAMERA_CHANNEL,DECIMAL,0)
-     */
-    @ApiModelProperty(value="摄像头通道号",required=true)
-    private Short cameraChannel;
-
-    /**
-     * 用户名(USERNAME,VARCHAR,20)
-     */
-    @ApiModelProperty(value="用户名",required=true)
-    private String username;
-
-    /**
-     * 密码(PASSWORD,VARCHAR,20)
-     */
-    @ApiModelProperty(value="密码",required=true)
-    private String password;
-
-    /**
-     * 摄像头厂家(MANUFACTURER,VARCHAR,30)
-     */
-    @ApiModelProperty(value="摄像头厂家",required=true)
-    private String manufacturer;
-
-    /**
-     * 备注(MEMO,VARCHAR,200)
-     */
-    @ApiModelProperty(value="备注",required=false)
-    private String memo;
-
-    /**
-     * 状态(0:无效;1:有效)(VALID_FLAG,VARCHAR,1)
-     */
-    @ApiModelProperty(value="状态(0:无效;1:有效)",required=true)
-    private String validFlag;
-
-    /**
-     * 创建人编号(CREATE_MAN_NO,VARCHAR,20)
-     */
-    @ApiModelProperty(value="创建人编号",required=true)
-    private String createManNo;
-
-    /**
-     * 创建人姓名(CREATE_MAN_NAME,VARCHAR,30)
-     */
-    @ApiModelProperty(value="创建人姓名",required=true)
-    private String createManName;
-
-    /**
-     * 创建时间(YYYY-MM-DD HH:mm:SS)(CREATE_TIME,TIMESTAMP,7)
-     */
-    @ApiModelProperty(value="创建时间(YYYY-MM-DD HH:mm:SS)",required=true)
-    private Date createTime;
-
-    /**
-     * 修改人编号(UPDATE_MAN_NO,VARCHAR,20)
-     */
-    @ApiModelProperty(value="修改人编号",required=false)
-    private String updateManNo;
-
-    /**
-     * 修改人姓名(UPDATE_MAN_NAME,VARCHAR,30)
-     */
-    @ApiModelProperty(value="修改人姓名",required=false)
-    private String updateManName;
-
-    /**
-     * 修改时间(YYYY-MM-DD HH:mm:SS)(UPDATE_TIME,TIMESTAMP,7)
-     */
-    @ApiModelProperty(value="修改时间(YYYY-MM-DD HH:mm:SS)",required=false)
-    private Date updateTime;
-
-    private static final long serialVersionUID = 1L;
-
-    @Override
-    public String getId() {
-        return this.cameraNo;
-    }
-
-    @Override
-    public void setId(String cameraNo) {
-        this.cameraNo = cameraNo == null ? null : cameraNo.trim();
-    }
-
-    public String getCameraNo() {
-        return cameraNo;
-    }
-
-    public void setCameraNo(String cameraNo) {
-        this.cameraNo = cameraNo == null ? null : cameraNo.trim();
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name == null ? null : name.trim();
-    }
-
-    public String getMsIp() {
-        return msIp;
-    }
-
-    public void setMsIp(String msIp) {
-        this.msIp = msIp == null ? null : msIp.trim();
-    }
-
-    public String getNvrIp() {
-        return nvrIp;
-    }
-
-    public void setNvrIp(String nvrIp) {
-        this.nvrIp = nvrIp == null ? null : nvrIp.trim();
-    }
-
-    public BigDecimal getMsPort() {
-        return msPort;
-    }
-
-    public void setMsPort(BigDecimal msPort) {
-        this.msPort = msPort;
-    }
-
-    public BigDecimal getMsChannel() {
-        return msChannel;
-    }
-
-    public void setMsChannel(BigDecimal msChannel) {
-        this.msChannel = msChannel;
-    }
-
-    public String getCameraIp() {
-        return cameraIp;
-    }
-
-    public void setCameraIp(String cameraIp) {
-        this.cameraIp = cameraIp == null ? null : cameraIp.trim();
-    }
-
-    public Short getRstpPort() {
-        return rstpPort;
-    }
-
-    public void setRstpPort(Short rstpPort) {
-        this.rstpPort = rstpPort;
-    }
-
-    public Short getVedioType() {
-        return vedioType;
-    }
-
-    public void setVedioType(Short vedioType) {
-        this.vedioType = vedioType;
-    }
-
-    public Short getCameraChannel() {
-        return cameraChannel;
-    }
-
-    public void setCameraChannel(Short cameraChannel) {
-        this.cameraChannel = cameraChannel;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username == null ? null : username.trim();
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password == null ? null : password.trim();
-    }
-
-    public String getManufacturer() {
-        return manufacturer;
-    }
-
-    public void setManufacturer(String manufacturer) {
-        this.manufacturer = manufacturer == null ? null : manufacturer.trim();
-    }
-
-    public String getMemo() {
-        return memo;
-    }
-
-    public void setMemo(String memo) {
-        this.memo = memo == null ? null : memo.trim();
-    }
-
-    public String getValidFlag() {
-        return validFlag;
-    }
-
-    public void setValidFlag(String validFlag) {
-        this.validFlag = validFlag == null ? null : validFlag.trim();
-    }
-
-    public String getCreateManNo() {
-        return createManNo;
-    }
-
-    public void setCreateManNo(String createManNo) {
-        this.createManNo = createManNo == null ? null : createManNo.trim();
-    }
-
-    public String getCreateManName() {
-        return createManName;
-    }
-
-    public void setCreateManName(String createManName) {
-        this.createManName = createManName == null ? null : createManName.trim();
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getUpdateManNo() {
-        return updateManNo;
-    }
-
-    public void setUpdateManNo(String updateManNo) {
-        this.updateManNo = updateManNo == null ? null : updateManNo.trim();
-    }
-
-    public String getUpdateManName() {
-        return updateManName;
-    }
-
-    public void setUpdateManName(String updateManName) {
-        this.updateManName = updateManName == null ? null : updateManName.trim();
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", cameraNo=").append(cameraNo);
-        sb.append(", name=").append(name);
-        sb.append(", msIp=").append(msIp);
-        sb.append(", nvrIp=").append(nvrIp);
-        sb.append(", msPort=").append(msPort);
-        sb.append(", msChannel=").append(msChannel);
-        sb.append(", cameraIp=").append(cameraIp);
-        sb.append(", rstpPort=").append(rstpPort);
-        sb.append(", vedioType=").append(vedioType);
-        sb.append(", cameraChannel=").append(cameraChannel);
-        sb.append(", username=").append(username);
-        sb.append(", password=").append(password);
-        sb.append(", manufacturer=").append(manufacturer);
-        sb.append(", memo=").append(memo);
-        sb.append(", validFlag=").append(validFlag);
-        sb.append(", createManNo=").append(createManNo);
-        sb.append(", createManName=").append(createManName);
-        sb.append(", createTime=").append(createTime);
-        sb.append(", updateManNo=").append(updateManNo);
-        sb.append(", updateManName=").append(updateManName);
-        sb.append(", updateTime=").append(updateTime);
-        sb.append(", serialVersionUID=").append(serialVersionUID);
-        sb.append("]");
-        return sb.toString();
-    }
-}

+ 0 - 21
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/service/IDynamicBaseCameraService.java

@@ -1,21 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.service;
-
-import com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera;
-import com.steerinfo.framework.service.IBaseService;
-
-/**
- * DynamicBaseCamera服务接口:
- * @author generator
- * @version 1.0-SNAPSHORT 2022-02-15 09:14
- * 类描述
- * 修订历史:
- * 日期:2022-02-15
- * 作者:generator
- * 参考:
- * 描述:DynamicBaseCamera服务接口
- * @see null
- * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
- */
-public interface IDynamicBaseCameraService extends IBaseService<DynamicBaseCamera, String>{
-
-}

+ 0 - 16
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/service/IFLVService.java

@@ -1,16 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.service;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public interface IFLVService {
-
-	/**
-	 * 打开一个流地址
-	 * 
-	 * @param url
-	 * @param response
-	 */
-	public void open(String url, String videoId, HttpServletResponse response, HttpServletRequest request);
-
-}

+ 0 - 34
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/service/impl/DynamicBaseCameraServiceImpl.java

@@ -1,34 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.service.impl;
-
-import com.jisco.dynamicweight.dynamicbasecamera.mapper.DynamicBaseCameraMapper;
-import com.jisco.dynamicweight.dynamicbasecamera.model.DynamicBaseCamera;
-import com.jisco.dynamicweight.dynamicbasecamera.service.IDynamicBaseCameraService;
-import com.steerinfo.framework.mapper.IBaseMapper;
-import com.steerinfo.framework.service.impl.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * DynamicBaseCamera服务实现:
- * @author generator
- * @version 1.0-SNAPSHORT 2022-02-15 09:14
- * 类描述
- * 修订历史:
- * 日期:2022-02-15
- * 作者:generator
- * 参考:
- * 描述:DynamicBaseCamera服务实现
- * @see null
- * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
- */
-@Service(value = "dynamicBaseCameraService")
-public class DynamicBaseCameraServiceImpl extends BaseServiceImpl<DynamicBaseCamera, String> implements IDynamicBaseCameraService {
-
-    @Autowired
-    private DynamicBaseCameraMapper dynamicBaseCameraMapper;
-
-    @Override
-    protected IBaseMapper<DynamicBaseCamera, String> getMapper() {
-        return dynamicBaseCameraMapper;
-    }
-}

+ 0 - 95
src/main/java/com/jisco/dynamicweight/dynamicbasecamera/service/impl/FLVService.java

@@ -1,95 +0,0 @@
-package com.jisco.dynamicweight.dynamicbasecamera.service.impl;
-
-import com.jisco.dynamicweight.dynamicbasecamera.factories.Converter;
-import com.jisco.dynamicweight.dynamicbasecamera.factories.ConverterFactories;
-import com.jisco.dynamicweight.dynamicbasecamera.service.IFLVService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-import javax.servlet.AsyncContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * FLV流转换
- * 
- * @author hzj
- */
-
-@Service(value = "flvService")
-public class FLVService implements IFLVService {
-	private static Logger logger	= LoggerFactory.getLogger( FLVService.class );
-	private Map<String, Converter> converters = new HashMap<String, Converter>();
-
-	@Override
-	public void open(String url,String videoId, HttpServletResponse response, HttpServletRequest request) {
-		String key = md5(url);
-
-		AsyncContext async = request.startAsync();
-		async.setTimeout(0);
-		if (converters.containsKey(key) && url.indexOf("/tracks")==-1) {
-			Converter c = converters.get(key);
-			try {
-				c.addOutputStreamEntity(key, async);
-			} catch (IOException e) {
-				logger.error(e.getMessage(), e);
-				throw new IllegalArgumentException(e.getMessage());
-			}
-		} else {
-		   Converter converter = converters.get(key);
-			if(converter!=null){
-				converter.exit();
-			}
-			List<AsyncContext> outs = new ArrayList<AsyncContext>();
-			outs.add(async);
-			ConverterFactories c = new ConverterFactories(url, key, converters, outs,videoId);
-			c.start();
-			converters.put(key, c);
-		}
-
-		response.setContentType("video/x-flv");
-		response.setHeader("Connection", "keep-alive");
-
-		try {
-			//response.getWriter().write("{\"code\":200}");
-			response.setStatus(HttpServletResponse.SC_OK);
-			response.flushBuffer();
-		} catch (IOException e) {
-			logger.error(e.getMessage(), e);
-		}
-	}
-
-	public String md5(String plainText) {
-		StringBuilder buf = null;
-		try {
-			MessageDigest md = MessageDigest.getInstance("MD5");
-			md.update(plainText.getBytes());
-			byte b[] = md.digest();
-			int i;
-			buf = new StringBuilder("");
-			for (int offset = 0; offset < b.length; offset++) {
-				i = b[offset];
-				if (i < 0)
-				{
-					i += 256;
-				}
-				if (i < 16)
-				{
-					buf.append("0");
-				}
-				buf.append(Integer.toHexString(i));
-			}
-		} catch (NoSuchAlgorithmException e) {
-			logger.error(e.getMessage(), e);
-		}
-		return buf.toString();
-	}
-
-}