如何停止在 chrome 中由 chrome.tabCapture API 启动的捕获媒体流
Posted
技术标签:
【中文标题】如何停止在 chrome 中由 chrome.tabCapture API 启动的捕获媒体流【英文标题】:How to stop the capturing mediastream that is started by chrome.tabCapture API in chrome 【发布时间】:2016-04-15 09:32:09 【问题描述】:我正在开发一个 chrome 扩展程序,我使用 chrome.tabCapture API 从 chrome 浏览器的选项卡中捕获流,并使用 MediaStreamRecorder.js 记录流。我可以使用 mediaRecorder.stop() 停止流的录制,但 chrome.tabCapture API 并没有结束。它不断地发送流。我需要停止为特定选项卡运行 chrome.tabCapture API。
【问题讨论】:
【参考方案1】:试试看:
stream.getVideoTracks()[0].stop();
要提高视频质量,请指定videoConstraints
:
chrome.tabCapture.capture(
videoConstraints: mandatory: maxWidth: 4000,
maxHeight: 4000
, callbackFunction);
【讨论】:
感谢上面的回答,但是我们通过 chrome.tabCapture API 得到的流的分辨率很差。有什么办法可以改善吗?我也不确定是流分辨率差还是 MediaStreamRecorder 以低分辨率录制视频 @muthu 我相信这是 MediaStreamRecorder 录制视频的方式。不幸的是,由于 Chrome 在 M49 版之前不会发布完整的 MediaRecorder 功能(并非没有设置开发标志),因此 MediaStreamRecorder 只能使用 Whammy.js,它基本上从视频中获取帧,将它们放入画布中,然后从那。我认为在这个过程中损失了很多质量。如果直接看 MediaStream 的实际视频输出到一个 video 标签,默认情况下就相当不错了。以上是关于如何停止在 chrome 中由 chrome.tabCapture API 启动的捕获媒体流的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SIGINT 上停止 node.js 检查器/Chrome 调试器?
如何使用 Chrome 浏览器在 ASP.Net 中停止将输入类型自动填充为密码
如何返回在 sklearn 中由 DecisionTreeClassifier 创建的决策树中使用的特征