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