やあ、
私たちは Java プロジェクトに取り組んでいる学生で、次のことを行う必要があります。
- Web カメラからビデオ ストリームをキャプチャする
- このストリームをビデオ ファイルとマージします (各ピクセルの色の平均を取るため、2 つのストリームが重ねられます)。
- RTP または RTSP を使用して、ネットワーク上でこのマージの結果を送信します (理論的には、2 台の Android タブレットで受信されます)。
非常に重要なことの 1 つは、これらすべての操作をリアルタイム(またはほぼリアルタイム) で行う必要があるということです。RTP ストリームは、Web カメラがビデオをキャプチャしているのと同時に受信する必要があります。
これを行うために、Java Media Framework (JMF) API を使用します。1 番目と 2 番目のポイントが正常に実装されました。毎秒、ウェブカメラからの 30 個のBufferedImageが、ビデオ ファイルからの30 個のBufferedImageとマージされます。結果は従来の JFrame (Swing と JMF のみを使用して表示) に表示され、非常にうまく機能します。
3 番目のポイントをまだ実行する必要があります。RTP 経由でビデオ ストリームを送信するのはそれほど難しくありません。 ポイント 1 と 2 により、ビデオ ストリームはありませんが、一連の BufferedImages があります。これらの BufferedImage からビデオ ファイルを取得する方法はわかっています。ただし、これはハード ドライブに記録されたビデオ ファイルにすぎず、リアルタイムでネットワーク上に送信することはできません。では、これらの BufferedImage から RTP 経由で直接送信できるオンザフライストリームを作成するにはどうすればよいでしょうか?
よろしくお願いします。