web-dev-qa-db-ja.com

Android with libjingle]で「カスタム」キャプチャーを使用してWebRTCVideoTrackを作成します

「カスタム」ビデオキャプチャーを使用してVideoTrackを作成し、フレームを提供するにはどうすればよいですか?

VideoTrackを作成するための古典的なアプローチは次のとおりです。

1-VideoCapturerインスタンスを取得します

VideoCapturer capturer = VideoCapturer.create(name);

2-VideoSourceを作成します

VideoSource videoSource = peerconnectionFactory.createVideoSource(capturer, videoConstraints);

-ビデオソースを使用してVideoTrackを作成します

VideoTrack videoTrack = peerconnectionFactory.createVideoTrack("Label", videoSource);

4-MediaStreamにトラックを追加します


変更する方法があるかどうか疑問に思いましたステップ1。ネイティブのCapturerインスタンスを使用する代わりに、Android 1を使用し、コールバックを使用してVideoTrackにフレームを提供します。

public void onPreviewFrame(byte[] data, Camera camera) {
   // provide the frames to the VideoTrack
}

助言がありますか?

54
Manza

これを行う最も簡単な方法(少し「ハッキー」ですが)は、RTCVideoCapturerのソースをプロジェクト内のローカルクラスにコピーし、そのローカルクラスを使用することです。これで、ニーズに合わせてクラスを編集できます。ファイルをコピーするのではなく、実際に独自のファイルを作成する場合でも、車輪の再発明を行うよりも、既存のキャプチャーの大部分をコピーする方がよいでしょう。

1
lorenzo373