getUserMedia如何能够流式传输到服务器(无论如何都有效)?

时间:2013-06-22 00:30:04

标签: javascript html5 voip

目前,使用getUserMedia,我可以使用blob URL来管理(音频)数据。但是,我希望能够从中获取原始数据。一旦页面关闭,blob URL特殊的“黑魔法”是无用的吗?是否有实际数据编码在其中或只是指向内存中某些流的指针?如果我试图在另一个浏览器中打开这个blob,我会成功吗?

更重要的是,直接从getUserMedia获取流对象的最佳方式是什么,并发送它的原始音频(我不关心套接字代码本身,但是你如何才能采取样本类型的东西)?我最终想要使用极简主义的VoIP型应用程序。

我目前正在使用这样的代码示例:

navigator.webkitGetUserMedia({audio: true}, function(stream){
 console.log(window.URL.createObjectURL(stream));
}, function(){
    console.log("REJECTION!");
});

但是,我希望能够获取流变量并实际获得有形数据,这是另一个客户能够解析和处理的。

1 个答案:

答案 0 :(得分:1)

@bobbybee,正如@ konga-raju在回答a very similar question时指出的那样,尚未在浏览器上实现。 但是,您可以尝试通过在单独的轨道中将视频录制为webm(带有画布技巧)+音频(使用recorderjs编码为wav / mp3),将它们推送到您的服务器并再次将其编译回来。请参阅RecordJS for that和这些two issues。目前,它并没有一起做AV,所以你必须玩它来实现它。

或者你可以在几个星期之前,直到它的某些版本的Chrome中的记录实施。 :)