Создайте WebRTC VideoTrack с помощью «настраиваемого» Capturer на Android с libjingle

Как использовать «настраиваемый» захватчик видео для создания VideoTrack и предоставления фреймов?

Классический подход к созданию VideoTrack:

1 – Получить экземпляр VideoCapturer

VideoCapturer capturer = VideoCapturer.create(name); 

2 – Создайте видеоисточник

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

3 – Создайте VideoTrack, используя источник видео

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

4 – Добавьте трек в MediaStream


Мне было интересно, есть ли способ изменить первый шаг . Вместо использования экземпляра native Capturer используйте Android one и предоставите кадры VideoTrack с помощью обратного вызова:

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

Какие-либо предложения?

Solutions Collecting From Web of "Создайте WebRTC VideoTrack с помощью «настраиваемого» Capturer на Android с libjingle"

Самый простой способ (хотя и немного «взломанный») сделать это – скопировать источник RTCVideoCapturer в локальный класс с вашим проектом и просто использовать этот локальный класс. Теперь вы можете редактировать класс в соответствии с вашими потребностями. Даже если вы не копируете файл, а создаете его самостоятельно, вероятно, лучше скопировать большие части существующего захватчика, чем изобретать колесо.