基于Webrtc的视频聊天,Firefox中不生成视频流

Posted

技术标签:

【中文标题】基于Webrtc的视频聊天,Firefox中不生成视频流【英文标题】:Webrtc based video chat , video stream not generated in firefox 【发布时间】:2016-06-30 23:27:50 【问题描述】:

我已经使用 peerjs 实现了基于 webrtc 的视频聊天。它在 chrome 中运行良好,但我无法在 Firefox 中生成流。 navigator.getUserMedia 用于生成音视频流如下:

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
navigator.getUserMedia(
            audio : true,
            video : true
        , function(stream)        
            window.localStream = stream;
        , function(error) 
                console.log(error);
);

当我在firefox中使用上述promise时,它既不会进入successcallback也不会进入errorcallback。

【问题讨论】:

什么承诺?显示的代码对我来说很好。 【参考方案1】:

一些事情:navigator.*GetUserMedia() 已被弃用;你想要navigator.mediaDevices.getUserMedia()

peerjs (IIRC) 未维护且与当前规范的许多方面不兼容。它已由 NTT/Skyway 分叉,该版本应该可用。

上面的代码似乎不是 Promise...(navigator.mediaDevices.getUserMedia() 确实返回了 Promise)。

有关适用于 Firefox 的示例,请参阅我们的粗略测试页面https://mozilla.github.io/webrtc-landing,尤其是https://mozilla.github.io/webrtc-landing/gum_test.html。有关非常兼容的 shim 层,请参阅 adapter.js

【讨论】:

以上是关于基于Webrtc的视频聊天,Firefox中不生成视频流的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Firefox 连接到 Chrome 以通过 WebRTC 传输 h264?

webrtc源码用啥语言编写

是否有任何允许视频录制的 WebRTC 实现?

基于WebRtc实现安卓视频一对一聊天

WebRTC笔记之二十二:基于WebRTC的视频聊天室—QHTalkGenius

基于WebRTC开源框架的实时视频聊天项目,搭建私人实时通信服务