- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 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);
});
如何将此 mediaStream
发送到服务器?
在谷歌搜索之后,我一直在研究 WebRTC
,但这似乎只是用于点对点通信 - 实际上,现在我正在研究更多,我认为这是要走的路。这似乎是从客户端浏览器到主机网络服务器的通信方式,但我尝试的任何方法都无法正常工作。
我一直在经历 the W3C documentation (我觉得这太抽象了),我一直在经历 this article on HTML5 Rocks (提出的问题多于答案)。显然我需要一种信令方法,谁能建议哪种信令方法最适合发送 mediaStreams、XHR、XMPP、SIP、Socket.io 或其他方法?
服务器端需要什么来支持接收WebRTC?我的 Web 服务器正在运行一个基本的 LAMP 堆栈。
此外,最好等到 mediaStream
完成录制后再将其发送到服务器,还是直接发送 mediaStream
更好?记录?我想知道我是否打算以正确的方式这样做。我已经用 javascript 和 HTML5 编写了文件 uploader ,但是上传其中一个 mediaStreams
似乎非常复杂,我不确定我是否正在接近它。
如有任何帮助,我们将不胜感激。
最佳答案
您不能在运行时上传直播流本身。这是因为它是实时流。
因此,这给您留下了一些选择。
至于等待发送流还是分 block 发送,这完全取决于您录制多长时间。如果需要更长的时间,我会说分 block 发送录音或通过 websockets 主动发送音频数据包是更好的解决方案,因为从客户端上传和存储更大的音频文件对客户端来说可能很费力。
Firefox 实际上有一个 own solution for recording但 chrome 不支持它,因此它可能不适用于您的情况。
顺便说一句,提到的信令方法用于 session 建立/销毁,实际上与媒体本身无关。如果您可能使用上面显示的第 4 种解决方案,您只会真正担心这一点。
关于javascript - 在 getUserMedia 捕获后,使用 WebRTC 将 MediaStream 发送到主机服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25523289/
我正在尝试记录远程用户的媒体流。从远程用户传递的Media Stream对象似乎与从getUserMedia生成的本地Media Stream对象非常相似,但是将其传递到Media Stream可视化
情况 我需要做以下事情: 从 获取视频在里面玩 将来自 Canvas 的流记录为 Blob 就是这样。第一部分没问题。 对于第二部分,我设法记录了一个 Blob。问题是 Blob 是空的。 View
大多数 Mediastream 示例由 webCam-stream 解释。但我需要从本地视频文件(.webm 或 mp4)创建 MediaStream。请告诉我。 最佳答案 2017 年 5 月 4
我想要一些关于如何在 Chrome/Canary 中最好地获取音频 MediaStreamTrack javascript 对象的麦克风事件级别的建议。 MediaStreamTrack 对象是 ge
好的,我将尝试尽可能清楚地说明我的问题,但我很困惑,所以如果我没有传达信息,请告诉我。 我正在尝试使用 getUserMedia 来使用网络摄像头,然后使用这个 http://www.w3.org/T
我需要使用来自不同 MediaStreams 的音频和视频创建一个 MediaStream。在 Firefox 中,我可以从轨道数组中实例化一个新的 MediaStream: var output
在 Electron 中,我可以获得 MediaStream 对象,但如何将其转换为可读流。 MediaStream 没有管道方法,如何读取? const { desktopCapturer } =
我目前正在构建一个 WebRTC 应用程序,并希望收集一些统计数据来评价我的解决方案。我感兴趣的一个指标是接收到的音频(和视频)流的当前带宽。我能够在 chrome://webrtc-internal
我目前正在构建一个 WebRTC 应用程序,并希望收集一些统计数据来评价我的解决方案。我感兴趣的一个指标是接收到的音频(和视频)流的当前带宽。我能够在 chrome://webrtc-internal
在我的网络应用程序中,我获得了 MediaStream通过getUserMedia或 getDisplayMedia .在某些情况下,该流的视频轨道可以改变其大小。例如,如果 getDisplayMe
我正在尝试从网站用户的手机捕获音频,并将其传输到远程 RTCPeerConnection。 假设我有一个获取本地MediaStream的函数: function getLocalAudioStream
我正在创建一个 MediaStream 对象,并使用 captureStream() 函数从 Canvas 向其添加视频轨道。这很好用。 但是我正在尝试将音频添加为与视频元素分开的轨道。我似乎找不到从
我创建了一个非常基本的 WebRTC 视频聊天界面(仅限 Chrome 测试)。我通过 websockets 向 SDP 发送信号,并使用 Twilio 服务进行 STUN/TURN 配置。 “off
我目前有一个函数可以从 navigator.getUserMedia() 接收 MediaStream,效果很好。我想提供上传音频文件并通过相同功能模拟它的选项。我想知道是否可以上传一个音频文件并创建
我有多个 NodeJS Node 捕获一系列图像。有时他们需要通过 WebRTC 发送数据对一些浏览器同行。 我目前正在通过对图像进行 Base64 编码来处理问题,通过 DataChannel 发送
我对 WebRTC 和 Node.js 完全陌生,我试图使用教程 http://www.tutorialspoint.com/webrtc/webrtc_media_stream_apis.htm 构
我有一个远程 MediaStream 对象,通过远程WebRTC Peer Connection 获得。 我想检查远程何时 MediaStream 变为非事件状态(独立于原因)。 我已经读到,为此我应
简而言之:我正在尝试更改 MediaStream 对象的 VideoTrack。 (文档:https://developer.mozilla.org/en-US/docs/WebRTC/MediaSt
我正在从事一个项目,我想: 加载视频 js 并将其显示在 Canvas 上。 使用滤镜改变 Canvas (以及视频)的外观。 使用 MediaStream captureStream() 方法和 M
我想从音频/视频流更改为“屏幕共享”流: peerConnection.removeStream(streamA) // __o_j_sep... in Screenshots below peerC
我是一名优秀的程序员,十分优秀!