我正在使用捕获音频数据getUserMedia(),我想将它发送到我的服务器,所以我可以将它保存为MySQL字段中的Blob.
这就是我想要做的.我已经多次尝试使用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);
});
Run Code Online (Sandbox Code Playgroud)
如何将其发送mediaStream到服务器?
谷歌搜索后我一直在调查WebRTC,但这似乎只是为了点对点通信 - 实际上,现在我正在研究这个,我认为这是要走的路.它似乎是从客户端的浏览器到主机网络服务器的通信方式,但我尝试的任何东西都接近工作.
我一直在阅读W3C文档(我发现它太抽象了),而且我一直在通过这篇关于HTML5 Rocks的文章(提出的问题多于答案).显然我需要一种信令方法,任何人都可以建议哪种信令方法最适合发送mediaStreams,XHR,XMPP,SIP,Socket.io或其他什么?
我需要在服务器上支持WebRTC的接收?我的Web服务器正在运行一个基本的LAMP堆栈.
另外,最好mediaStream是在我将其发送到服务器之前等到完成录制,还是最好发送mediaStream正在录制的内容?我想知道我是否正在以正确的方式做这件事.我已经用javascript和HTML5编写了文件上传器,但是上传其中一个mediaStreams看起来更加复杂,我不确定我是否正确接近它.
任何有关这方面的帮助将不胜感激.
我想创建一个程序,将视频从我的USB网络摄像头通过互联网传输到网页.
目前,我使用的Web服务在触发时,调用fswebcam捕获图像,保存到数据存储,转换为base64二进制文件并将数据发送到HTML页面,然后将其呈现为'img'的'src'属性.HTML页面具有每秒调用此服务一次的JavaScript.
你可以说这是一种可怕的方法.如果可以的话,我宁愿有适当的流.但我不知道有哪些技术可以实现这一目标.
Web服务是用来写的nodeJS.服务器正在运行raspberry pi 2.我没有提出这个问题,raspberry pi forum因为我认为这是一个普遍的Linux/programming问题.
audio ×1
getusermedia ×1
javascript ×1
jquery ×1
node.js ×1
stream ×1
streaming ×1
video ×1
webcam ×1
webrtc ×1