javascript - 带有网络摄像头覆盖的 MediaStream 桌面捕获
问题描述
我目前正在尝试使用 MediaStream 构建基于 WebRTC 的应用程序来捕获计算机屏幕并将其保存到视频文件中。我让它工作了,但是,现在我正在尝试为录制的视频添加一个额外的图层,以便出现网络摄像头。
据我了解,使用 Media Streams API,我不能同时使用两个视频源。所以我决定将捕获的视频绘制到 Canvas 元素上,并在上面放置网络摄像头,然后从 Canvas 获取流。但我有问题,无法让它工作
我正在尝试构建的是类似于 Loom 的东西,桌面捕获和网络摄像头在一个圆圈的顶部分层。
我想知道我是否朝着正确的方向前进 如果你要构建这样的东西,你会如何处理它?
解决方案
如果可以的话,最好的可能是流式传输两个 MediaStream:一个用于相机,另一个用于截屏。
然后它只是两个 <video> 元素的 css 叠加。
当然,您也可以在发射器端进行合成,方法是将两个视频都绘制到 HTMLCanvasElement,然后使用它的captureStream
方法流式传输从此画布生成的 MediaStream,但我想它最终会比两个流选项效率低,并且画布流质量通常很差......
推荐阅读
- django - 无法在 aws bitnami django lightail 实例上导入 pip 模块
- reactjs - How to fix React Native RTCView Error: Cannot add a child that doesn't have a YogaNode to a parent without a measure function
- flutter - 将 DB TimeStamp 转换为 Time Ago
- c++ - 使用 C++ 以十六进制格式打印哈希数据
- android - 将渐变添加到 TextFormField 的边框
- windows - 无法通过脚本安装 KB3012973 Windows Update
- google-chrome - 无法删除 Chrome 扩展 pkedcjkdefgpdelpbcmbmeomcjbeemfm
- python - scrapy formrequest 产生不匹配和丢失的结果
- sql - 组合单元格的 Tableau Count Distinct
- mysql - 混合内容的 Latin-1 到 UTF-8 转换