我使用getUserMedia()
捕获音频数据,并且我想将它发送到我的服务器,以便我可以将它作为Blob保存在MySQL字段中。通过getUserMedia捕获MediaStream到WebRTC主机服务器
这就是我想要做的。我已经做了几次尝试,使用WebRTC来做到这一点,但是我现在甚至都不知道这是否正确,甚至是做到这一点的最佳方式。
可以任何人帮帮我吗?
这里是代码我使用捕捉来自麦克风音频:
navigator.getUserMedia({
video:false,
audio:true,
},function(mediaStream){
// output mediaStream to speakers:
var mediaStreamSource=audioContext.createMediaStreamSource(mediaStream);
mediaStreamSource.connect(audioContext.destintion);
// send mediaStream to server:
// WebRTC code? not sure about this...
var RTCconfig={};
var conn=new RTCPeerConnection(RTCconfig);
// ???
},function(error){
console.log('getUserMedia() fail.');
console.log(error);
});
我怎样才能发送此mediaStream
到服务器?
周围的Googling之后我一直都盼望到WebRTC
,但这似乎只是点对点通信 - 实际上,现在我期待这个多了,我觉得这是要走的路。它似乎是从客户端浏览器到主机网络服务器进行通信的方式,但我尝试的任何东西甚至都无法正常工作。
我一直在通过the W3C documentation(我发现方式太抽象了),我一直通过this article on HTML5 Rocks(这是提出更多的问题比答案)。显然我需要一种信令方法,任何人都可以建议哪种信令方法最适合发送mediaStreams,XHR,XMPP,SIP,Socket.io或其他东西?
服务器上需要什么来支持接收WebRTC?我的网络服务器正在运行一个基本的LAMP堆栈。
最好等到mediaStream
完成录制后再发送给服务器,还是最好发送mediaStream
作为录制的内容?我想知道我是否正在以正确的方式做这件事。我已经在JavaScript和HTML5中编写了文件上传器,但上传其中一个mediaStreams
似乎更加复杂,我不确定我是否正确处理它。
任何帮助,将不胜感激。
你只想存储录制的文件吗?如果是这样,您可以将blob上传到服务器并保存它。或者你想让你的服务器能够从客户端获得实时流,并让服务器处理录制? – 2014-09-02 19:06:00
我只想将记录的文件存储在服务器上。 – Jimmery 2014-09-03 11:06:36