2017-03-07 4 views
0

fond:JxCapture osx question de la caméra

J'ai fais un projet d'intelligence artificielle sur la reconnaissance de l'activité qui me oblige à utiliser une caméra et il doit être en Java. Cela doit aussi être la caméra intégrée parce que je ne possède pas de webcam. Lorsque j'essaie d'utiliser la caméra en Java en utilisant JxCapture je reçois toujours la même erreur (heureusement pas énigmatique) listée ci-dessous près du bas. L'erreur semble suggérer que Java, ou au moins cette bibliothèque et d'autres ne peuvent pas prendre mon flux de caméra intégrée. J'ai noté cela comme JMF avait également un problème similaire où il ne pouvait pas détecter l'appareil photo.

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); 
     .... 
    } 
} 

recherche:

Je l'ai fait ma part de la recherche sur la question. Certains ont suggéré de contourner le problème, comme l'utilisation de l'un des systèmes d'exploitation Windows, d'un photomaton d'enregistrement d'écran ou d'une opération facetime, ect .., mais aucun n'a vraiment répondu à la question elle-même. Je n'ai pas encore essayé OpenCV/JavaCV parce que je ne voulais pas gaspiller un autre temps de retranchement pour obtenir le même problème. Le code compile et s'exécute également (sauf pour l'erreur), et est même capable d'accéder aux variables, de sorte que les bibliothèques fonctionnent en soi. Est-ce un problème avec un framework en Java/OSX? y a-t-il des moyens de résoudre ce problème? Y at-il un bon travail moderne autour?

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:

Caméra: V5.16 Caméra FaceTime HD (intégré).

ordinateur: MacBook Pro 2012 mi-année

OS: MAC OS Sierra 10.12.3

Java Version: Java 8 mise à jour, 121

Tested, et il semble même pas OpenCV/JavaCV peut obtenir l'alimentation de la caméra à partir de l'appareil photo intégré.

Répondre

0

Vous essayez d'initialiser l'instance de la classe VideoCapture avec le format vidéo VideoFormat.WMV. JxCapture ne prend pas en charge ce format sur MacOS. Vous devez utiliser VideoFormat.MP4 à la place:

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

ou créer une instance de VideoCapture en utilisant constructeur par défaut:

VideoCapture videoCapture = VideoCapture.create(); 
+0

Je reviens à l'ancien code et lui donne une tentative. Merci! –

+0

toujours la même erreur initiale: ERROR com.teamdev.jxcapture.VideoCapture - Aucun module de capture vidéo compatible trouvé pour l'exécution du système d'exploitation. –

+1

La version actuelle de JxCapture ne prend pas en charge la capture vidéo sur MacOS 10.12. Nous prévoyons d'ajouter cette possibilité à la prochaine mise à jour de JxCapture. –