`
stjauns
  • 浏览: 87499 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java-Swing界面的摄像头\高拍仪抓图功能,有预览视频-使用xuggle。

    博客分类:
  • JAVA
阅读更多
需求:要直接使用SWING来抓高拍仪的图,亦即支持摄像头。
曾经试过要用JMF2,但是安装使用复杂不说,貌似还有windows版本不兼容问题。试了试,部署后恶评如潮。
最终决定换成xuggle,参见:http://www.xuggle.com/
首页的一句话:A free open-source library for Java developers to uncompress, manipulate, and compress recorded or live video in real time.

废话不多说,先上图:
分辨率支持是依赖硬件的,我们批量采购的高拍仪最高支持的两种分辨率直接备选。
1、分辨率选择:


2、连接硬件-通过USB


3、低清分辨率


4、高清分辨率


5、抓图结果高清


6、抓图结果低清


未处理的:没检查是否硬件被占用、没检查硬件是否连接。
部署超过10台高拍仪使用超过一年,没发现大问题。小问题直接reset就可以了。
发现高清分辨率很吃硬件配置。
功能基本上只用到了些皮毛。

源代码附件中,xuggle-xuggler-5.4.jar原文件大小接近40M,其中包括多个操作系统平台支持,被我删剩下windows平台的支持文件。需要多个平台支持的请去官网下载。
  • 大小: 18.5 KB
  • 大小: 16.4 KB
  • 大小: 159 KB
  • 大小: 207.6 KB
  • 大小: 70.1 KB
  • 大小: 207.2 KB
分享到:
评论
10 楼 Csf_java 2016-11-09  
是不是少了什么东西?加载不了dll吗?
Exception in thread "Thread-3" java.lang.UnsatisfiedLinkError: no xuggle in java.library.path
9 楼 zaizai13 2015-11-27  
请问我的为什么总是报
log4j:WARN No appenders could be found for logger (org.ffmpeg).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "Thread-2" java.lang.IllegalArgumentException: could not open file: 0; Error: No such device
at com.skydragon.transms.demo.WebCamDialog$1.run(WebCamDialog.java:217)
at java.lang.Thread.run(Unknown Source)

这样的在错误呢
8 楼 stjauns 2015-11-13  
chairmanwang 写道
楼主您好,我使用了您的程序,但是程序报错
log4j:WARN No appenders could be found for logger (org.ffmpeg).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "Thread-3" java.lang.IllegalArgumentException: could not open file: 0; Error: No such device
at com.skydragon.transms.demo.WebCamDialog$1.run(WebCamDialog.java:216)
at java.lang.Thread.run(Thread.java:662)
请问是不是不能调用本机的摄像头?

看起来像是无法打开摄像头
你要看看在控制面板里面能不能打开摄像头
7 楼 chairmanwang 2015-11-03  
楼主您好,我使用了您的程序,但是程序报错
log4j:WARN No appenders could be found for logger (org.ffmpeg).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "Thread-3" java.lang.IllegalArgumentException: could not open file: 0; Error: No such device
at com.skydragon.transms.demo.WebCamDialog$1.run(WebCamDialog.java:216)
at java.lang.Thread.run(Thread.java:662)
请问是不是不能调用本机的摄像头?
6 楼 stjauns 2015-07-29  
daizhe 写道
楼主好!感谢分享!
我的系统是win7 64位,用您的代码把xuggle的jar包换成官方的40m的那个了,不然会报异常,现在经常出现
Exception in thread "Thread-2" java.lang.IllegalArgumentException: could not open file: 0; Error: No such device
at com.skydragon.transms.demo.WebCamDialog$1.run(WebCamDialog.java:218)
at java.lang.Thread.run(Unknown Source)
的异常,有时候系统重启,或者拔掉设备重连会好使,但大部分时候都报上面的异常。
我的笔记本自带摄像头,已经禁用了这个设备,还是不行。

想请问一下,是哪方面的问题。

这里的device Name是怎么来的?“0”是指标准输入吗?

另外,我看官方的文档里没有这个int retval = container.open(deviceName, IContainer.Type.READ, format, false, true,params, null);
是因为版本不同没查到吗?

非常感谢!

按你的描述,跟我们这里的一台机器表现类似,我们更换了连接的USB口,出现异常的几率少了很多。初步判断是USB口供电不足的问题。。。
open方法的参数不同应该是版本的问题吧
5 楼 daizhe 2015-07-23  
楼主好!感谢分享!
我的系统是win7 64位,用您的代码把xuggle的jar包换成官方的40m的那个了,不然会报异常,现在经常出现
Exception in thread "Thread-2" java.lang.IllegalArgumentException: could not open file: 0; Error: No such device
at com.skydragon.transms.demo.WebCamDialog$1.run(WebCamDialog.java:218)
at java.lang.Thread.run(Unknown Source)
的异常,有时候系统重启,或者拔掉设备重连会好使,但大部分时候都报上面的异常。
我的笔记本自带摄像头,已经禁用了这个设备,还是不行。

想请问一下,是哪方面的问题。

这里的device Name是怎么来的?“0”是指标准输入吗?

另外,我看官方的文档里没有这个int retval = container.open(deviceName, IContainer.Type.READ, format, false, true,params, null);
是因为版本不同没查到吗?

非常感谢!
4 楼 stjauns 2015-07-17  
liuyk0307 写道
楼主你好   首先非常感谢你的分享。我通过USB接口连接的摄像头,每次在运行程序的时候都得把usb接口断开再连上才能成功打开摄像头,请问这是怎么回事?谢谢

...看得到有错误抛出吗?或者调试看看这些代码的返回值是不是正确的
if (videoCoder != null) {
					videoCoder.close();
					videoCoder = null;
				}
				if (container != null) {
					container.close();
					container = null;
				}
3 楼 liuyk0307 2015-07-12  
楼主你好   首先非常感谢你的分享。我通过USB接口连接的摄像头,每次在运行程序的时候都得把usb接口断开再连上才能成功打开摄像头,请问这是怎么回事?谢谢
2 楼 stjauns 2013-09-04  
xiangyuwen 写道
xuggle那儿下载啊,好像 要安装饭强(那2个字不给发表)软件才能下载啊,

我在深圳,貌似不需要出墙哦~~~
http://www.xuggle.com/ 可以直接访问啊
我有上传一个附件的,不过只有windows32位版本的支持文件
1 楼 xiangyuwen 2013-08-20  
xuggle那儿下载啊,好像 要安装饭强(那2个字不给发表)软件才能下载啊,

相关推荐

Global site tag (gtag.js) - Google Analytics