gpt4 book ai didi

java - sarxos 的图书馆网络摄像头捕获不适用于覆盆子

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:38 28 4
gpt4 key购买 nike

我在 raspberry 上的 java 网络摄像头捕获库有问题。这是我的代码:

    System.out.println("start");
List<Webcam> list = Webcam.getWebcams();

System.out.println("checking " + list.size() + " Webcams");
for(Webcam webcam : list) {
//do sth
}

在 Windows 上我有以下输出:

start
[main] INFO com.github.sarxos.webcam.Webcam - WebcamDefaultDriver capture
driver will be used
checking 0 Webcams

在我的树莓派上我只得到

start
[main] INFO com.github.sarxos.webcam.Webcam - WebcamDefaultDriver capture
driver will be used

我试图找出库中有问题的代码,我发现它退出于:

executor.awaitTermination(timeout, tunit);

在 WebcamDiscoveryService.getWebcams() 中

参数是9223372036854775807和毫秒

为什么它不起作用(“该项目是可移植的(WinXP、Win7、Win8、Linux、Mac、Raspberry Pi)并且不需要在 PC 上安装任何额外的软件。”)。

有没有其他库可以这么简单?

最佳答案

记录一下我在ticket中提供的解决方案在 Github 上的 Webcam Capture API 项目中创建,以防有人遇到同样的问题并首先尝试 stackoverflow。

问题出在默认驱动程序上,它在 Raspberry Pi 上并不总是运行良好(只有一个 BridJ 版本支持 Raspberry Pi,但尚未发布到 Maven Central)。要解决此问题,可以将依赖于 BridJ 的默认驱动程序替换为不同的驱动程序,例如webcam-capture-driver-v4l4j在 Raspberry Pi 上最稳定,或者通过将 BridJ 0.6.3-SNAPSHOT 添加到类路径而不是 0.6.2。

对于 webcam-capture-driver-v4l4j,您必须在类路径中包含的 JAR 是:

对于网络摄像头捕获 0.3.10:

或者网络摄像头捕获 0.3.11:

添加这些后,可以从类路径中删除不再需要的 BridJ JAR。

代码:

static {
Webcam.setDriver(new V4l4jDriver()); // this is important
}

public static void main(String[] args) {
JFrame frame = new JFrame("V4L4J Webcam Capture Driver Demo");
frame.add(new WebcamPanel(Webcam.getDefault()));
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

有关更多详细信息,我会将所有感兴趣的人重定向到 ticket问题已解决。

关于java - sarxos 的图书馆网络摄像头捕获不适用于覆盆子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31844531/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com