2017-03-07 18 views
0

背景:JxCapture OSXカメラの問題

私はカメラを使用するために私を必要とし、それがJavaでなければならない行動認識の人工知能プロジェクトをしていました。私はウェブカメラを所有していないので、カメラは内蔵カメラでなければなりません。 JxCaptureを使用してJavaでカメラを使用しようとしたとき、私は下の近くに以下のようなエラーが表示されます。このエラーは、Java、または少なくともこのライブラリと他の人が私の内蔵カメラフィードを受け取ることができないことを示唆しているようです。私はJMFにもカメラを検出できなかった同様の問題があることに注意しました。

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

研究:

私は、この問題に関する研究の私の公正な取り分を行ってきました。いくつかは、Windowsオペレーティングシステムの1つ、画面録画の写真ブースまたは時々走っているものなどを使用するような回避策を提案していますが、実際には質問自体に実際には答えられませんでした。私はOpenCV/JavaCVをまだ試みていませんでした。なぜなら、同じ問題を抱える別の時間を無駄にしたくないからです。コードはコンパイルされて実行され(エラーを除いて)、変数に到達することさえできるので、ライブラリ自体が動作します。 Java/OSXのフレームワークに問題はありますか?これを修正する方法はありますか?周りに素敵な近代的な作品がありますか?

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) 

ハードウェア:

カメラ:V5.16のFaceTime HDカメラ(内蔵)。

コンピューター:MacBook Proの2012中期年

OS:MAC OSシエラ10.12.3

Javaバージョン:Javaの8更新、121

をテストし、それはそうではないとしてもOpenCVの/ JavaCV内蔵のカメラからカメラのフィードを得ることができます。

答えて

0

VideoFormat.WMVビデオ形式でVideoCaptureクラスのインスタンスを初期化しようとしています。

JxCaptureはMacOSではこの形式をサポートしていません。あなたは代わりにVideoFormat.MP4を使用する必要があります。

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

またはデフォルトコンストラクタを使用してVideoCaptureのインスタンスを作成します。

VideoCapture videoCapture = VideoCapture.create(); 
+0

私は古いコードに戻り、それに試みを与えるでしょう。ありがとう! –

+0

はまだ同じ初期エラーが発生しています:エラーcom.teamdev.jxcapture.VideoCapture - 実行中のオペレーティングシステムで互換性のあるビデオキャプチャモジュールが見つかりません。 –

+1

JxCaptureの現在のバージョンは、MacOS 10.12でのビデオキャプチャをサポートしていません。この可能性をJxCaptureの次のアップデートに追加する予定です。 –

関連する問題