57

如何使用“自定义”视频捕获器创建 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


我想知道是否有办法改变step one。不使用原生 Capturer 实例,而是使用 Android 实例,并使用回调将帧提供给 VideoTrack:

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

有什么建议么?

4

1 回答 1

2

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

于 2015-02-06T14:34:36.480 回答