当前位置: 首页 > news >正文

Ui互联网门户网站建设中国 日本 韩国

Ui互联网门户网站建设,中国 日本 韩国,简单医院网站,湛江有人做网站 的吗需求:现在有一批https的监控视频流URL,需要对视频流进行每三秒截屏一次,并保存到本地路径,png格式,以当前时间命名。代码:import org.bytedeco.javacv.FFmpegFrameGrabber; import org.bytedeco.javacv.Fra…

需求:

现在有一批https的监控视频流URL,需要对视频流进行每三秒截屏一次,并保存到本地路径,png格式,以当前时间命名。

代码:

import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.Java2DFrameConverter;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Main {public static void main(String[] args) throws IOException {//视频路径URLString file = "https://os7.com/v3/openlive/K95.m3u8?expire=1731&id=5658&ev=100";FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(file);grabber.setOption("rtsp_transport", "tcp"); // 使用tcp的方式,不然会丢包很严重// grabber.setImageWidth(1920);// grabber.setImageHeight(1080);// 设置采集器构造超时时间(单位微秒,1秒=1000000微秒)grabber.setOption("stimeout", "9000000");System.out.println("grabber start");grabber.start();//1.播放视频
/*CanvasFrame canvasFrame = new CanvasFrame("摄像机");canvasFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);canvasFrame.setAlwaysOnTop(true);OpenCVFrameConverter.ToMat converter = new OpenCVFrameConverter.ToMat();while (true){Frame frame = grabber.grabImage();opencv_core.Mat mat = converter.convertToMat(frame);canvasFrame.showImage(frame);}*/// 2.帧截图while (true) {try {Date date = new Date();SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss");System.out.println("当前时间" + dateFormat.format(date));File outPut = new File("D:\\截屏\\截取1\\" + dateFormat.format(date) + ".png");Frame frame = grabber.grabImage();if (frame != null) {/*** 发送post请求*/
//            try {
//                HttpUtil.doPostToJson("http://sc.dev-forestrycloud.cn/detect",frame);
//            } catch (Exception e) {
//                throw new RuntimeException(e);
//            }ImageIO.write(FrameToBufferedImage(frame), "png", outPut);System.out.println("图片已保存");}//睡眠三秒钟Thread.currentThread().sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blockgrabber.stop();grabber.release();e.printStackTrace();}}}/*** 创建BufferedImage对象*/public static BufferedImage FrameToBufferedImage(Frame frame) {Java2DFrameConverter converter = new Java2DFrameConverter();BufferedImage bufferedImage = converter.getBufferedImage(frame);
//        bufferedImage=rotateClockwise90(bufferedImage);return bufferedImage;}/*** 处理图片,将图片旋转90度。*/
//    public static BufferedImage rotateClockwise90(BufferedImage bi) {
//        int width = bi.getWidth();
//        int height = bi.getHeight();
//        BufferedImage bufferedImage = new BufferedImage(height, width, bi.getType());
//        for (int i = 0; i < width; i++)
//            for (int j = 0; j < height; j++)
//                bufferedImage.setRGB(j, i, bi.getRGB(i, j));
//        return bufferedImage;
//    }
}

这是一个Maven工程,还需要在pom文件导入如下依赖

        <dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.4.4</version></dependency>

运行

打包(jar包)

由于IDAE太吃内存了,截取视频流需要挂在后台一直跑,我们打包丢在cmd里跑

因为在Maven中引入了依赖,所以打包前要在pom文件加入如下build

    <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>2.5.5</version><configuration><archive><manifest><mainClass>com.yj.TCPClient.upload.App</mainClass></manifest></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><!-- 添加此项后,可直接使用mvn package | mvn install --><!-- 不添加此项,需直接使用mvn package assembly:single --><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins>
</build>

直接使用Maven进行package

打包完成后target下会有两个jar包

带-with-dependencies的就是含有依赖的jar包

打开cmd Java-jar

发现报错了,找不到或无法加载主类 com.yj.TCPClient.upload.App

使用压缩软件打开此jar包下的META-INF

再用记事本打开MANIFEST.MF

用来是Main-Class出现了错误,我们自己手动修改一下

主类路径,就是java包下main方法的相对路径

修改后

然后再跑一次

方法二

参考了下面博客打包它的Main-Class是正确的

解决IDEA打Jar包找不到或无法加载主类问题_敲代码的余文乐的博客-CSDN博客_启动jar包找不到或无法加载主类

按照上面这篇博客重新打包一次,在项目的out下会生成一个jar包,可以直接跑

检查一下,这个jar包的MANIFEST.MF

正确!

对比一下,IDEA与cmd消耗内存对比

http://www.yidumall.com/news/16360.html

相关文章:

  • 哪里有网站建设的文章网络服务商主要包括哪些
  • 房地产市场现状福州百度首页优化
  • 怎样做网站规划网络营销做的好的企业
  • 咸阳做网站托管百度有几种推广方式
  • 网站别人帮做的要注意什么东西网站排名优化首页
  • 保定seo建站seo外链发布平台有哪些
  • wordpress餐饮贵州seo学校
  • 公司网站换服务器怎么做百度收藏夹使用方法
  • 网站建设心得体会南阳网站优化公司
  • 云南旅游网页设计毕业论文seo自动刷外链工具
  • 上海网站建设高端怎么创建自己的免费网址
  • wordpress文章末尾关键词优化技巧有哪些
  • 信息推广网站点不开的那种怎么做灰色关键词排名
  • 网站logo如何替换代理推广
  • 荆州网站seoseo最新技巧
  • 广州安全教育平台作业网站优化方案范文
  • 网站推荐界面济南网络优化网站
  • 网站建设用几级域名合适网站死链检测工具
  • 设计师建站网站合肥网络推广软件系统
  • 做网站商城怎么样东莞百度seo排名
  • 成都外贸网站建设费用seo网络推广培训
  • Ag网站制作贵阳百度推广电话
  • 做资讯网站成都网多多
  • 高校党支部网站建设百度地图导航
  • 网站项目开发流程有哪七步潍坊自动seo
  • 佛山做网站郑州seo公司哪家好
  • 自己电脑上做的网站 怎么让别人看如何查看一个网站的访问量
  • 网站实现中英文公司网站建设要多少钱
  • 网站的链接要怎么做北京seo代理公司
  • 重庆企业网站开发服务器软件怎么推广