首页 > 系统相关 >FFmpeg Java录制windows USB摄像头

FFmpeg Java录制windows USB摄像头

时间:2022-11-17 17:38:35浏览次数:57  
标签:canvas Java FFmpeg windows frame FFmpegFrameGrabber grabber org 摄像头

一、版本

<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.5.8</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>5.1.2-1.5.8</version>
</dependency>

二、打开本地摄像头

public static void main(String[] args) throws Exception {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("Vimicro USB2.0 UVC PC Camera");//"D:\\yN6jj3LAI68A.mp4"
grabber.setFormat("vfwcap");
grabber.start(); //开始获取摄像头数据
CanvasFrame canvas = new CanvasFrame("摄像头");//新建一个窗口
canvas.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
canvas.setAlwaysOnTop(true);
while (true) {
if (!canvas.isDisplayable()) {//窗口是否关闭
grabber.stop();//停止抓取
System.exit(-1);//退出
}

Frame frame = grabber.grab();

canvas.showImage(frame);//获取摄像头图像并放到窗口上显示, 这里的Frame frame=grabber.grab(); frame是一帧视频图像
//Thread.sleep(50);//50毫秒刷新一次图像
}
}

三、碰到的几个异常
打开本地文件与在线流都没问题,当调用本地摄像头时,一定要指定format
否则:org.bytedeco.javacv.FFmpegFrameGrabber$Exception: avformat_open_input() error -2: 
查看什么格式:ffmpeg -devices

查看摄像头的Name:  ffmpeg.exe -list_devices true -f dshow -i dummy 

标签:canvas,Java,FFmpeg,windows,frame,FFmpegFrameGrabber,grabber,org,摄像头
From: https://www.cnblogs.com/jamin/p/16900147.html

相关文章

  • 2022.11.17 Java 面向对象的介绍
    属性+方法=类面向过程与面向对象不可分割,面向对象是由一个个面向过程组成,就像教育部由一个个老师组成。面向对象的本质:以类的方式组织代码,以对象的形式组织(封装)数据;......
  • 自学Java注意,注意细节快速掌握
    自学Java必须注意的问题    第一,刚开始学Java编程的时候,确实挺嘈人的,一个非常小的问题,可能就是一个字母拼错了,你就是找不出问题在哪里,这是每个初学者都会面临的问......
  • JavaScript语法-特殊语法、流程控制语句
    JavaScript语法-特殊语法<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>特殊语法</title><script>//1、语句以;结尾.......
  • JavaScript对象RegExp1和GloBal
    JavaScript对象_RegExp1RegExp:正则表达式对象1.正则表达式:定义字符串的组成规则1.单个字符:[]如:[a][ab][a-zA-Z0-9]......
  • JavaScript简介和JavaScript发展史
    JavaScript简介:概念:一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有Javascript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了功能︰可以来......
  • JavaScript_语法_变量JavaScript_语法_变量_typeof
    ------------恢复内容开始------------JavaScript_语法_变量变量:一小块存储数据的内存空间Java语言是强类型语言类,而JavaScript是弱类型语言......
  • python windows psutil获取基本监控指标
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@auhorbyruiy####pipinstallparamiko-ihttps://pypi.tuna.tsinghua.edu.cn/simple##p......
  • JavaScript对象Date和Math
    JavaScript_对象_DateDate:日期但对象1.创建vardate=newDate();2.方法toLocaleString():返回当前date对象对应的时间本地字符串格式......
  • 【书籍分享】Java编程思想(Think In Java) 第四版 完整中文高清文字版 非扫描版【pdf版+
    自取:https://url03.ctfile.com/f/24333903-724740746-79fa44?p=5831(访问密码:5831),进入下载页面,选择【普通下载】压缩包内容:chm版本:pdf版本:......
  • [Java] HttpServletRequest
    HttpServletRequest位于javax.servlet.http,简单来说就是一个请求的封装[请求头数据+正文数据]一个域对象相关方法获取请求头方法StringgetHeader(Stringname):获取......