博客
关于我
利用JavaCV实现将视频以帧方式抽取
阅读量:327 次
发布时间:2019-03-04

本文共 1868 字,大约阅读时间需要 6 分钟。

??JavaCV??????????

?????

???JavaCV??????????????????????????????????????JavaCV?????????????JAR???????????IDEA?Eclipse???????????????????????????????????

???????

?????????JavaCV?????????????

  • ?????JavaCV?
  • ????????????JavaCV????

    import org.bytedeco.javacv.FFmpegFrameGrabber;
    import org.bytedeco.javacv.Frame;
    import org.bytedeco.javacv.Java2DFrameConverter;
    1. ????????
    2. ?????????????????

      public static final String VIDEO_PATH = "path/to/your/video.mp4";
      1. ???????
      2. ??FFmpegFrameGrabber?????????????????????

        public class VideoFrameGrabber {
        public static void grabFrames(String videoPath, String outputDir, String fileName, int frameRate) throws IOException {
        FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(videoPath);
        grabber.start();
        for (int i = 0; i < frameRate; i++) {
        Frame frame = grabber.grabImage();
        if (frame == null) continue;
        // ??????
        saveFrame(frame, outputDir, fileName, i);
        }
        grabber.stop();
        }
        private static void saveFrame(Frame frame, String outputDir, String fileName, int index) {
        Java2DFrameConverter converter = new Java2DFrameConverter();
        BufferedImage image = converter.getBufferedImage(frame);
        String filePath = outputDir + File.separator + fileName + "_" + index + ".jpg";
        File output = new File(filePath);
        try {
        ImageIO.write(image, "jpg", output);
        } catch (IOException e) {
        e.printStackTrace();
        }
        }
        }
        1. ??????
        2. ???????????????

          public static void main(String[] args) throws IOException {
          VideoFrameGrabber.grabFrames(VIDEO_PATH, "output/", "video", 30);
          }

          ????

          • ???????????????????FFmpeg???????MP4?AVI??
          • ????????????????????????????
          • ????????????????????????????

          ?????????????????????????????????????????

    转载地址:http://asgq.baihongyu.com/

    你可能感兴趣的文章
    Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
    查看>>
    Node.js安装及环境配置之Windows篇
    查看>>
    Node.js安装和入门 - 2行代码让你能够启动一个Server
    查看>>
    node.js安装方法
    查看>>
    Node.js官网无法正常访问时安装NodeJS的方法
    查看>>
    Node.js的交互式解释器(REPL)
    查看>>
    Node.js的循环与异步问题
    查看>>
    Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
    查看>>
    nodejs + socket.io 同时使用http 和 https
    查看>>
    NodeJS @kubernetes/client-node连接到kubernetes集群的方法
    查看>>
    Nodejs express 获取url参数,post参数的三种方式
    查看>>
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>