问题标签 [get-display-media]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - chrome上的getDisplayMedia拆分选择窗口
我注意到google hangout meet提供了选择是否要共享整个监视器、应用程序或仅共享浏览器选项卡的功能,它不是一个菜单,而是分为三个菜单。我尝试应用类似的约束displaySurface: "monitor"
,但它不起作用,并且仍然在一个窗口中提供了所有选择。我想知道如何在 chrome 中实现与 google hangouts 相同的功能,因为根据MDN web docs
注意:与媒体 API 中大多数约束的使用不同,这里它仅用于定义流配置,而不是过滤可用的选项。
这似乎与meet.google.com的实现有悖常理,除非有一种方法可以不受限制地实现这一点
javascript - 什么是浏览器屏幕捕获 API 中的逻辑显示表面?
我想知道逻辑显示表面实际上是什么?
在 MDN 文档中:
A logical display surface is one which is in part or completely obscured, either by being overlapped by another object to some extent, or by being entirely hidden or offscreen. How these are handled by the Screen Capture API varies. Generally, the browser will provide an image which obscures the hidden portion of the logical display surface in some way, such as by blurring or replacing with a color or pattern. This is done for security reasons, as the content that cannot be seen by the user may contain data which they do not want to share.
但是当我添加logicalSurface: true
到视频常量中时,没有任何改变。当我将其设置为 时logicalSurface: false
,也没有任何变化。每个人都可以给我一个真实的例子吗?
谢谢你。
javascript - GetDisplayMedia - 调整共享应用程序窗口大小时是否有要监听的事件
当通过 chrome getDisplayMedia 共享的应用程序调整大小时,是否有要监听的事件?
例如,如果共享文本编辑器应用程序,然后在共享时调整大小,则视频轨道也会调整大小。但是我没有找到一个事件处理程序来监听大小的变化。有要听的活动吗?
safari - Hangouts 如何在 Safari 上获取桌面捕获?
因此,如果我们看一下:https ://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API
的状态getDisplayMedia
- 用于获取桌面流的函数 - 表明它目前在 safari 12 中不受支持。从getDisplayMedia
在 Safari 上的控制台中调用告诉我们它不可用这一事实很明显。
那么 Google Hangouts 是如何在 safari 中获得桌面份额的呢?由于环聊在浏览器中运行,据我所知,它必须使用 JS API 来获取屏幕。
任何提示或帮助将不胜感激。
谢谢
javascript - 在 Web 应用程序中同时录制屏幕和预览摄像头在 Chrome/macOS 设置上效果不佳
目标是在 html 视频元素中预览计算机网络摄像头的流,同时记录音频和显示另一个视频的 Chrome 选项卡,并使用 MediaRecorder API、navigator.mediaDevices.getDisplayMedia 和 navigator.mediaDevice.getUserMedia 进行预览.
该实现使用 Chrome 和 Ubuntu/Windows 设置运行良好,但在 macOS 上运行时变得滞后。下面提供了 Javascript 代码。关于为什么实施在 macOS 上特别糟糕的任何想法?
我尝试将编解码器从 vp9 更改为 vp8,将帧速率降低到 24,并且分辨率已经降低。如果我降低质量会变差。
我尝试在 macOS 上降低流和录制的质量而没有任何性能提升。
google-chrome - chrome中requestfullscreen和getDisplayMedia的交互
使用 chrome,当 (1) 选择一个选项卡进行捕获,以及 (2) 该选项卡上的一个元素请求全屏时,似乎getDisplayMedia和requestFullscreen不能很好地一起播放。此时 chrome 将改为显示这个奇怪的窗口版本的选项卡。
有没有人遇到过这个问题或者有什么办法解决这个问题?您可以使用这个粗略的小提琴来重现。
抱歉,如果以前有人问过这个问题,但我找不到。
javascript - 如何从 Screen Capture Web API 存储/下载录制文件?
我正在使用Screen Capture API并尝试将最终捕获保存到视频文件(WebM、MP4 等)。我有这两个 JavaScript 函数:
开始捕获时,视频可以正常显示,但我不确定如何实际存储其内容。videoElem
是 a Promise
,它解析为 a MediaStream
。tracks
是一个MediaStreamTrack
对象数组。这是我第一次做任何类型的 Web 开发,所以我有点迷茫!
javascript - 如何在开始录制 MediaStream 之前添加延迟?
我正在尝试构建一个简单的屏幕录像机,并且在 MDN 文档的帮助下,我具有以下两个功能:
我想在数据开始记录之前添加一个延迟(比如 3 秒)。我试着在不同的地方玩,setTimeout()
但一直Cannot GET /[object%20MediaStream]
出错。任何帮助都是极好的!