Macbook の Web カメラ ストリーム (統合された iSight Web カメラ) を取得したいと考えています。
私は Java を使用していますが、Objective-C については何も知らないので、「完全な Java」ソリューションを探しています。クラスの例をいくつか見つけましたが、それらは 2005 年に作成されたもので、私のシステムでは動作しません。
私は今、同じことに出くわしました。プロジェクトに VLCJ を使用していますが、Windows、Linux Mint、Linux Ubuntu、Mac OSX Lion で完璧に動作します。おそらくお読みのとおり、VLCJ は VLC プレイヤーも使用する libvlc の Java ラッパーです。
問題は、VLC プレーヤーのキャプチャ オプションを開くと、コンボ ボックスに使用可能なカメラ (USB 接続) が表示されることです。しかし、それは VLC プレーヤーがそれ自体に対してのみ行うことであり、そのための API は提供しません。また、VLCJ でカメラの ID を渡さない場合、VLC はシステムのデフォルト カメラを使用します。VLCJ を使用して、USB 接続されたカメラまたはデスクトップからファイルにストリーミングします。
システムで USB カメラを「スキャン」する方法を見つける必要がありましたが、これは OS 固有のものです。
Windows ではDirectShowJavaを使用します。
Linux では、利用可能なカメラについて /dev/video* を読み取るだけで済みます。ユーザーに「ユーザー フレンドリな名前」を表示したい場合は、video4linux4javaを使用できます。
そして3番目とあなたが最も興味を持っているものはまだ試していませんが、これで試してみます: stack , example .
libvlc がそれを提供する場合は、それがより良いでしょう.3 つの API (3 つの OS 用) を使用する必要がなく、それぞれが VLCJ ができることを行うことができ (そのプラットフォームでのみ)、私はそれらを使用しています。デバイスを読み取ります。
編集: 現在の公式 VLC バージョンは 1.1.x で、Mac でのカメラのサポートは制限されています。Mac のデフォルト カメラ (iSight、FaceTime Built In) からのみ、音声なしでストリーミングできます。VLC 1.2.0 は間もなくリリースされ、Mac のサポートが大幅に改善されます (他の接続されたカメラ、デスクトップ ストリーム、オーディオを認識します)。VideoLAN フォーラムで私のスレッドを見ることができます。Mac 用の VLC の 1.2.0-git バージョンをダウンロードしましたが、見た目がとてもかっこよく、本物の「Mac フィール」があります。ここからダウンロードできます。ただし、これは開発版であり、頻繁にクラッシュすることに注意してください。
JMFを試しましたか?ここから始めることができます
MacBook、Windows PC、および Linux サーバーで適切に動作する OpenIMAJ Core Video Capture Library を見つけました。欠点は、多くの依存関係があることです。
そこで、OpenIMAJ のコードを修正して、これらのクレイジーな機能を必要としない別のパッケージを作成しました。私のコードとデモ アプリケーション (オープン ソース bsd ライセンス) は、私のサイトから入手できます: http://www.sleepingdumpling.com/blog/download/jvideoinput/
クレジットは OpenIMAJ と貢献者に与えられます。
だから、それは不可能ではありません。