Windows、Linux、および Mac でシームレスに動作する Web カメラ記録 Java アプリケーションを開発したいと考えています。caprica ソフトウェアが提供する VLCj CaptureTest.java クラスを使用しています。いくつかのクエリと問題があります。
キャプチャ デバイスの MRL は、Windows (dshow://) と Linux (v4l2:///dev/video0) にはありますが、Mac にはありません。
Linux ではオーディオ メディア オプションのみが指定されます。つまり、 :input-slave=alsa://hw:0,0 Windows と Mac ではどうでしょうか。
また、トランスコーディングには非常にトリッキーな問題があります。クラスを実行してもビデオは表示されず、黒いウィンドウが表示され、次の sout に対してオーディオ ファイルのみが作成されます。
String[] options = { ":sout=#transcode{vcodec=mp4v,vb=800,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:file{dst=" + fileName + "},dst=display}",
":input-slave=alsa://hw:0,0"
};
ビデオとオーディオは表示および再生されますが、次のサウンドのファイルは作成されません。
String[] options = {
":sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:duplicate{dst=display,dst=file{dst=" + fileName + "}'",
":input-slave=alsa://hw:0,0"
};
と
String[] options = {
":sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:standard{access=file,mux=ts,dst=" + fileName + "}'",
":input-slave=alsa://hw:0,0"
};
Google と Stackoverflow を検索していましたが、必要なものが見つかりませんでした。VLCj に関する知識が不足していることをお詫びします