使用libjingle在Android上创build一个带有“自定义”捕获器的WebRTC VideoTrack
如何使用“自定义”video捕获器创buildVideoTrack并提供帧?
创buildVideoTrack的经典方法是:
1 – 获取一个VideoCapturer实例
VideoCapturer capturer = VideoCapturer.create(name);
2 – 创build一个VideoSource
VideoSource videoSource = peerconnectionFactory.createVideoSource(capturer, videoConstraints);
3 – 使用video源创build一个VideoTrack
VideoTrack videoTrack = peerconnectionFactory.createVideoTrack("Label", videoSource);
4 – 将音轨添加到MediaStream
我想知道是否有办法改变第一步 。 而不是使用本机Capturer实例,使用Android之一,并使用callback将帧提供给VideoTrack:
public void onPreviewFrame(byte[] data, Camera camera) { // provide the frames to the VideoTrack }
有什么build议么?
最简单的方法(尽pipe有点“黑客”)做到这一点是将RTCVideoCapturer
的源代码复制到本地类,并使用该本地类。 您现在可以编辑课程以适应您的需求。 即使不复制文件,但实际构build自己的文件,最好复制现有捕捉器的大部分,而不是重新创build轮子。