【发布时间】:2014-07-02 11:52:55
【问题描述】:
如何使用“自定义”视频捕获器来创建 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
我想知道是否有办法改变第一步。不要使用原生 Capturer 实例,而是使用 Android 实例,并使用回调将帧提供给 VideoTrack:
public void onPreviewFrame(byte[] data, Camera camera) {
// provide the frames to the VideoTrack
}
有什么建议吗?
【问题讨论】:
-
不知道你想达到什么效果。其实不是原生的捕获器。它使用 android camera 类进行捕获并将帧传递给本机 lib。可能是您使用的代码在 jar 内。
-
jar 文件中有一个 VideoCaptureAndroid.java 类,从该类中捕获帧并将其传递到本机库。
-
@BirajZalavadia,是的,我看到了,但我一记起所有“重要”方法都是私有的,所以看起来必须实现它
-
主要是希望能够修改、编辑或手动添加帧到视频轨道,并最终为外部视频源(例如网络摄像头)提供帧
-
@Manza 你找到办法了吗?