Dom*_*Bal 7 video canvas webgl html5-video webrtc
将网络摄像头流直接获取到 WebGL 作为纹理的最有效方法是什么?
标准流程(如 Three.js 中所述)是使用 video 标签,然后在 canvas 标签中操作它,然后从 canvas 到 WebGL。
这会增加 CPU 开销,并且 Chrome 会启动工作线程将图像数据从相机发送到 GPU(例如每秒 30 次)。
有没有什么方法可以更有效地做到这一点并减少 CPU 上的渲染/处理?
小智 1
最简单的方法是简单地将流放入视频 HTML 元素中,然后将其转换为纹理。这种方式会导致 fps 较低。幸运的是,有一个库可以快速完成此操作。我不明白到底是怎么回事(可能从流本身中提取纹理,或者优化第一种方法)。
https://p5js.org/examples/dom-video-capture.html https://p5js.org/examples/3d-shader-using-webcam.html#
您可以检查源代码以了解他们是如何做到的。 https://github.com/processing/p5.js/
当我比较这两种方法时,第二种方法的速度为 60fps,而第一种方法的着色器速度为 20fps。
| 归档时间: |
|
| 查看次数: |
2552 次 |
| 最近记录: |