javascript - 如何从 webrTC 发布流

标签 javascript node.js webrtc

我是 webRTC 新手。我在 node.js 中构建了一个流媒体服务器,它可以很好地处理上传的 mp4 文件。现在我成功地使用 webRTC 访问 HTML5 中的网络摄像头,代码如下

如果(!navigator.getUserMedia){ navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; }

 if (!navigator.getUserMedia){
             alert('此浏览器不支持 getUserMedia。');
          }

          navigator.getUserMedia(mediaOptions, 成功, 函数(e) {
            控制台.log(e);
          });
          函数成功(流){
            var video = document.querySelector("#player");
            video.src = window.URL.createObjectURL(stream);


            socket.emit('我的其他事件', { my: stream});


          }

正如你所看到的,我正在发送流,但在服务器端我什么也没得到。但我得到的另一个数据。请帮忙!

最佳答案

您发送的流不是音频的“媒体流”,您必须使用 WebAudioAPI ScriptProcessorNode

https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ScriptProcessorNode https://developer.mozilla.org/en-US/docs/Web/API/ScriptProcessorNode

对于视频来说并不是那么简单,你必须使用 Canvas 来获取视频数据,sse这个线程 Get raw pixel data from HTML5 video

关于javascript - 如何从 webrTC 发布流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22921681/

相关文章:

javascript - 如何获取 <div> 中自定义元素中的值

javascript - 重构 Promise javascript 代码

google-chrome - Chrome WebRTC 回声消除和外部音频源

android - 支持 Chrome for Android 中的 sw/hw h264 解码器

javascript - ASP.NET Gridview 如何访问字段上的复选框

javascript - 浏览器如何区分ES5和ES6脚本?

node.js - 将应用程序从express 3更新到express 4,现在req.files返回未定义

javascript - NestJS 记录器 : Can't set logger types in main. ts

javascript - WebRTC:强制对等方使用 TURN 服务器

javascript - Handsontable - getSelected 不工作