Javascript 如何处理我从中获得的媒体流;chrome.tabCapture“;?

Javascript 如何处理我从中获得的媒体流;chrome.tabCapture“;?,javascript,html,google-chrome,google-chrome-extension,streaming,Javascript,Html,Google Chrome,Google Chrome Extension,Streaming,我现在正在测试新的ChromeAPI“chrome.tabCapture”。它返回本地媒体流,但如何处理媒体流?可以转换成一种视频类型,也可以直接播放 var obj = { audio: false, video: true }; chrome.tabCapture.capture(obj, function (stream) { // what to do with the stream? }); 我尝试了var url=window.url.createObject

我现在正在测试新的ChromeAPI“chrome.tabCapture”。它返回本地媒体流,但如何处理媒体流?可以转换成一种视频类型,也可以直接播放

var obj = {
    audio: false,
    video: true

};
chrome.tabCapture.capture(obj, function (stream) {
// what to do with the stream?  
});

我尝试了
var url=window.url.createObjectURL(stream);video.src=url但它不起作用。

看起来您应该可以使用MediaRecorder将本地MediaStream录制到Blob,但我认为chrome还没有MediaRecorder,所以您所能做的就是将流放回视频标签或webRTC连接

此git树可能会有所帮助,因为它具有跨浏览器代码


从此链接下载并安装选项卡捕获示例扩展

检查eventPage.js和receiver.js

也检查


你可以从中得到一些想法

这是最基本的用法。在startStream函数中,您可以添加侦听器,并操作流

var obj = {
    audio: false,
    video: true
};

 function startStream(stream){ 
     var streamObject = new MediaRecorder(stream);    

     streamObject.ondataavailable = function(blob){
       video.src = URL.createObjectURL(blob.data);
     }
}

chrome.tabCapture.capture(obj, startStream );
希望这有帮助

var obj = {
    audio: false,
    video: true
};

 function startStream(stream){ 
     var streamObject = new MediaRecorder(stream);    

     streamObject.ondataavailable = function(blob){
       video.src = URL.createObjectURL(blob.data);
     }
}

chrome.tabCapture.capture(obj, startStream );