2017-03-07 2 views
0

Hintergrund:JxCapture osx Kamera Ausgabe

Ich habe ein künstliche Intelligenz Projekt auf Aktivitätserkennung Uhr zu tun, dass ich eine Kamera zu verwenden, erfordert, und es hat in Java sein. Es muss auch die eingebaute Kamera sein, da ich keine Webcam besitze. Wenn ich versuche, die Kamera in Java mit JxCapture zu verwenden, bekomme ich den gleichen (glücklicherweise nicht so kryptischen) Fehler, der unten im unteren Bereich aufgeführt ist. Der Fehler scheint darauf hinzudeuten, dass Java oder zumindest diese Bibliothek und einige andere meinen eingebauten Kamera-Feed nicht aufnehmen können. Ich bemerkte dies als hatte auch ein ähnliches Problem, wo es die Kamera nicht erkennen konnte.

import com.teamdev.jxcapture.Codec; 
import com.teamdev.jxcapture.EncodingParameters; 
import com.teamdev.jxcapture.VideoCapture; 
import com.teamdev.jxcapture.video.VideoFormat; 
import com.teamdev.jxcapture.video.VideoSource; 

import java.io.File; 
import java.util.List; 

/* 
* This example demonstrates the video capture from web camera. 
* <pre> 
* Platforms:   
* Image source:  WebCamera 
* Output video format: 
* Output file:   
* 
* @author Serge Piletsky 
*/ 
public class TemplateRun 
{ 
    public static void main(String[] args) throws Exception 
    { 
     VideoCapture videoCapture = VideoCapture.create(VideoFormat.WMV); 
     // This is where things go south. 
     Thread.sleep(1000); 
     .... 
    } 
} 

Research:

Ich habe meinen gerechten Anteil an Forschung zu diesem Thema durchgeführt. Einige haben vorgeschlagen, Work arounds wie die Verwendung eines der Windows-Betriebssysteme, Bildschirm-Aufnahme-Foto-Kabine oder Facetime-Betrieb, ect .., aber keiner wirklich wirklich die Frage selbst beantwortet. Ich habe OpenCV/JavaCV noch nicht versucht, weil ich keine weitere Zeit verschwenden wollte, um das gleiche Problem zu bekommen. Der Code wird auch kompiliert und ausgeführt (mit Ausnahme des Fehlers) und kann sogar zu den Variablen gelangen, so dass die Bibliotheken per se funktionieren. Ist es ein Problem mit einem Framework in Java/OSX? Gibt es Möglichkeiten, das zu beheben? Gibt es eine schöne moderne Arbeit?

482 [main] ERROR com.teamdev.jxcapture.VideoCapture - No compatible video capture modules found for running operating system. 
availableVideoSources = [LionVideoDevice[Name='FaceTime HD Camera (Built-in)'; Enabled=false]] 
webCamera = LionVideoDevice[Name='FaceTime HD Camera (Built-in)'; Enabled=false] 
Exception in thread "main" java.lang.NullPointerException 
at TemplateRun.main(TemplateRun.java:34) 

HardWare:

Kamera: V5.16 Facetime HD-Kamera (Built-in).

Computer: Macbook Pro 2012 Halbjahres

OS: MAC OS Sierra 10.12.3

Java Version: Java 8 Update, 121

getestet, und es scheint nicht einmal OpenCV/JavaCV kann den Kameravorschub von der eingebauten Kamera bekommen.

Antwort

0

Sie versuchen, Instanz VideoCapture Klasse mit VideoFormat.WMV Videoformat zu initialisieren.

JxCapture unterstützt dieses Format nicht unter MacOS. Sie haben VideoFormat.MP4 zu verwenden, anstatt:

VideoCapture videoCapture = VideoCapture.create(VideoFormat.MP4); 

oder Instanz von VideoCapture mit Standardkonstruktors erstellen:

VideoCapture videoCapture = VideoCapture.create(); 
+0

ich zu den älteren Code zurückkehren werde und es einen Versuch geben. Vielen Dank! –

+0

immer noch den gleichen anfänglichen Fehler: FEHLER com.teamdev.jxcapture.VideoCapture - Keine kompatiblen Video-Capture-Module für das Betriebssystem ausgeführt. –

+1

Die aktuelle Version von JxCapture unterstützt keine Videoaufnahme unter MacOS 10.12. Wir planen, diese Möglichkeit dem nächsten Update von JxCapture hinzuzufügen. –