Обнаружение устройства веб-камеры с помощью java

Я использую JMF для управления своей веб-камерой. Моя веб-камера USB отлично работает с JMF, однако я использовал ее в JMStudio, когда я делаю этот вызов из своего java-кода.

deviceListVector = CaptureDeviceManager.getDeviceList( null );

однако мое «устройство захвата звука» обнаружено, моя веб-камера USB на vfw://0 не обнаружена. Чтобы уточнить, устройство захвата звука и USB-камера — это совершенно разные устройства. Как я могу правильно определить веб-камеру USB и ее форматы из JMF?

Заранее спасибо


person Prakash Panjwani    schedule 07.12.2009    source источник


Ответы (2)


Также вы можете попробовать LTI-Civil или Xuggler.

person Art Clarke    schedule 11.12.2009

Чтобы обнаружить только веб-камеры, вы должны передать аргумент методу getDeviceList(Format) (вместо null):

Vector<Object> devices = CaptureDeviceManager.getDeviceList(new Format("RGB"));
Iterator<Object> di = devices.iterator();
while (di.hasNext()) {
    CaptureDeviceInfo info = (CaptureDeviceInfo) di.next();
    System.out.println(info);
}

Это должно распечатать все ваши веб-камеры - встроенные и подключенные к USB. Я протестировал этот код, и он работает для меня.

Если это не поможет (поскольку JMF очень старый и некоторые части кода могут быть устаревшими), вы можете попробовать использовать часть моего Захват с веб-камеры. Он корректно работает с большинством платформ — Windows x86 и x64, Linux x86 и x64, Mac OS и т. д. Если вы решите попробовать, вам придется написать что-то вроде этого, чтобы перечислить все ваши устройства с веб-камерой:

List<Webcam> webcams = Webcam.getDevices();

Обратите внимание, что он также может работать поверх JMF — чтобы заменить встроенный драйвер по умолчанию на JMF, вам нужно будет добавить драйвер JMF JAR в путь к классам и вызовите его перед выводом списка веб-камер:

Webcam.setDriver(new JmfDriver());

Надеюсь, это поможет.

person Bartosz Firyn    schedule 14.11.2012
comment
.. привет, я скачал ваш файл, но не смог его запустить? Зачем? не могли бы вы помочь мне? - person Java D; 03.05.2013
comment
@kapil В случае проблем с проектом Webcam Capture создайте новый тикет на странице проекта github .com/sarxos/webcam-capture/issues - person Bartosz Firyn; 07.05.2013
comment
@Bartosz .. но у меня есть простая проблема: я уже импортировал ваш проект в netbeans, НО он не может запуститься, это означает, что когда я пытаюсь запустить, опция запуска отключается .. почему? - person Java D; 08.05.2013
comment
@kapil, трудно сказать, что не так с проектом, не изучив его. Пожалуйста, создайте новую проблему на странице проекта, и мы решим, в чем проблема. - person Bartosz Firyn; 16.05.2013
comment
@Bartosz .. не могли бы вы сказать мне, можно ли проводить видеоконференции из вашего кода? - person Java D; 17.05.2013
comment
@kapil, все функции библиотеки с кучей примеров описаны на странице проекта. Вы можете провести видеоконференцию с помощью захвата веб-камеры + xuggler. Если у вас есть другие вопросы, задавайте их на странице проекта. - person Bartosz Firyn; 17.05.2013
comment
@Bartosz .. тогда есть готовый код? а где страница проекта? - person Java D; 17.05.2013