- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如何使用“自定义”视频捕获器来创建 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
}
有什么建议吗?
最佳答案
执行此操作的最简单方法(虽然有点“hacky”)是将 RTCVideoCapturer
的源代码复制到项目中的本地类,然后使用该本地类。您现在可以编辑类以满足您的需要。即使不复制文件而是实际构建自己的文件,复制现有捕获器的大部分内容也可能比重新发明轮子更好。
关于android - 使用 libjingle 在 Android 上使用 "custom"Capturer 创建 WebRTC VideoTrack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654425/
简而言之:我正在尝试更改 MediaStream 对象的 VideoTrack。 (文档:https://developer.mozilla.org/en-US/docs/WebRTC/MediaSt
我需要使用 WebRTC让 android 将特定的裁剪(面部)视频发送到 videoChannel。我能够操纵 Camera1Session类的 WebRTC 来裁剪脸部。现在我将它设置为 Imag
我用过 twilio-video:1.19.2在 Angular 8。 我已经实现了一对一视频通话的功能。 下面是我用来启用/禁用视频的代码。 toggleVideo() { this.vid
在所有教程中,我都遇到过类似于 someVideoTrack.addRenderer(new VideoRenderer(someSurfaceViewRenderer)); 的代码。 然而,在最新版
有没有办法(或 hack)让我使用“自定义”视频捕获器来创建 VideoTrack 并为其提供帧? 构建 VideoTrack 的经典方法是: 获取 VideoCapturer 实例: std::un
最近,开始注意到从照片库导入某些 Assets 时未显示它们。有问题的 Assets 存储在 iCloud 中,不会缓存在设备上。 我相信这是 iOS 14 的问题,因为我从未在 iOS 13 上遇到
如何使用“自定义”视频捕获器来创建 VideoTrack 并提供帧? 创建 VideoTrack 的经典方法是: 1 - 获取 VideoCapturer 实例 VideoCapturer captu
我是一名优秀的程序员,十分优秀!