如何使用"自定义"视频捕获器来创建VideoTrack并提供帧?
创建VideoTrack的经典方法是:
1 -获取一个videocapture实例
VideoCapturer capturer = VideoCapturer.create(name);
2 -创建VideoSource
VideoSource videoSource = peerconnectionFactory.createVideoSource(capturer, videoConstraints);
3 -使用视频源
创建VideoTrackVideoTrack videoTrack = peerconnectionFactory.createVideoTrack("Label", videoSource);
4 -添加音轨到MediaStream
我想知道是否有办法改变第一步。不要使用原生的capture实例,而是使用Android实例,并使用回调函数
向VideoTrack提供帧。public void onPreviewFrame(byte[] data, Camera camera) {
// provide the frames to the VideoTrack
}
有什么建议吗?
要做到这一点,最简单的方法(虽然有点"黑客")是将RTCVideoCapturer
的源代码复制到项目中的本地类中,然后只使用该本地类。现在可以编辑该类以满足您的需要。即使不是复制文件,而是实际构建自己的文件,复制现有捕获程序的大部分也可能比重新发明轮子要好。