私は最近ウェブカメラのオプションを検討しており、GStreamer を使用することに決めました。個別のネイティブ ライブラリが必要ですが、これらをプログラムにバンドルできる場合があります (ライセンスを確認してください)。
良いニュースは、ビデオとオーディオのストリーミングが組み込まれていることです。悪いニュースは、信じられないほど柔軟であるため、理解するのに少し時間がかかることです. 以下は、Windows のコマンド ラインからストリームを設定する例です。
Send video:
gst-launch ksvideosrc ! queue ! video/x-raw-yuv,width=320,height=240,framerate=4/1 ! videorate ! videoscale ! ffmpegcolorspace ! queue ! smokeenc ! queue ! udpsink host=[TARGET_IP_ADDRESS] port=5000
Receive video:
gst-launch udpsrc port=5000 ! smokedec ! autovideosink
Send audio:
gst-launch audiotestsrc ! audioconvert ! audio/x-raw-int,channels=1,depth=16,width=16,rate=44100 ! rtpL16pay ! udpsink host=[TARGET_IP_ADDRESS] port=5001
Receive audio:
gst-launch udpsrc port=5001 ! "application/x-rtp,media=(string)audio, clock-rate=(int)44100, width=16, height=16, encoding-name=(string)L16, encoding-params=(string)1, channels=(int)1, channel-positions=(int)1, payload=(int)96" ! rtpL16depay ! audioconvert ! audioresample ! directsoundsink
サウンド ストリームは、こちらの回答から適応されます。
GStreamer を使用してローカル ネットワーク上でオーディオを移動する
Linux の場合、ksvideosrc を v4l2src に、directsoundsink を alsasink に変更します。コマンド ラインで可能なことはすべて、gstreamer-java ライブラリを使用して Java 内から実行できます。
http://code.google.com/p/gstreamer-java/
さらに便利なリンクを次に示します。
GStreamer マニュアル
カンニングペーパー
ウェブカメラの例
ストリーミング情報