使用libjingle在Android上使用"自定义"捕获器创建WebRTC VideoTrack。



如何使用"自定义"视频捕获器来创建VideoTrack并提供帧?

创建VideoTrack的经典方法是:

1 -获取一个videocapture实例

VideoCapturer capturer = VideoCapturer.create(name);

2 -创建VideoSource

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

3 -使用视频源

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

4 -添加音轨到MediaStream


我想知道是否有办法改变第一步。不要使用原生的capture实例,而是使用Android实例,并使用回调函数

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

有什么建议吗?

要做到这一点,最简单的方法(虽然有点"黑客")是将RTCVideoCapturer的源代码复制到项目中的本地类中,然后只使用该本地类。现在可以编辑该类以满足您的需要。即使不是复制文件,而是实际构建自己的文件,复制现有捕获程序的大部分也可能比重新发明轮子要好。

相关内容

  • 没有找到相关文章

最新更新