问题标签 [simplewebrtc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - WebRTC:连接交换显示黑色视频
我正在尝试建立一个随机的连接系统。我有一个按钮可以启动连接,并为新的自动呼叫寻找新的对等方。但它是断断续续的,有时它工作得很好,有时我不知道了。
后端 - server.js
前端 - webrtc.js
在服务器日志中显示,每次我按下“开始”按钮时,它都会记录 1 条 SDP 消息和 14 条 ICE 消息
编辑:包括错误
当我第一次调用“开始”按钮时,一切正常。但是,在接下来的通话中,有时仅保留音频功能,而有时则没有新的连接。
多次单击“开始”后,我能够重现错误:DOMException [InvalidStateError:“无法在稳定状态下设置远程答案”代码:11 nsresult:0x8053000b]
我有一个本地服务器在运行:https ://luisdemarchi.aplicativo.info:8091
node.js - 带有 Signalmaster 的 simpleWebRTC - 允许原点
我的网络应用程序使用simpleWebRTC进行视频聊天。
我在 Azure Web 应用程序中部署了signalmaster 。
在本地主机上- 视频聊天运行良好。
一旦我将“SimpleWebRTC url”更改为指向真实服务器- 我收到一个错误:
我将 Azure CORS 定义为指向特定服务器 - 以允许我的来源。
“凭据标志为‘真’”是什么意思——在哪里?
我在哪里可以将“Access-Control-Allow-Credentials”标头定义为 true?
我试图像这样初始化服务器:
谢谢
javascript - webrtc per to per video chat,但只需要一方将视频发送到另一方
我读了很多关于 webrtc 的例子,但我不明白如何在 A 和 B 之间聊天视频 p2p,但只需要 A 使用 p2p 连接向 B 发送流视频,如何做到这一点?我试图在 B {video : false} 中禁用本地视频,但它有错误,无法正常工作。
我的剧本
javascript - WebRTC 在不停止流的情况下更改/移动视频元素
当我在 Chrome 中使用 WebRTC 时,我注意到这些流的持久性仍然有些不稳定。我需要在显示它的元素显示之前创建一个视频流(从技术上讲,我最初只需要音轨,但是没有 replaceTrack() 的重新协商似乎本身就是一个问题,所以我现在同时启用两者)。
然后该元素由 JavaScript 动态呈现,并需要开始接收 WebRTC 视频。问题是,在创建 WebRTC 时,我想要展示的这个视频元素还不存在。我没有办法告诉 WebRTC 在流开始后更改正在渲染的视频元素,这可能吗?我主要是在玩 SimpleWebRTC,但我对直接使用 WebRTC 持开放态度——通过查看文档,我也找不到使用原始 WebRTC 的方法。我还尝试将原始视频元素移动到新元素中,但这会导致视频流中断/停止:
没有杀死整个流并重新启动,我有什么选择?
更新:
对于这两种方法,videoTag 是一个通用的 DOM 视频标签,webrtc 是一个WebRTC
对象实例,具有通过 SimpleWebRTC(simpleWebRtc.webrtc,SimpleWebRTC 包装)建立的工作连接。我现在正在为那些想要查看实际代码的人整理一个 JSFiddle,但这应该足以重现这一点。
方法 1,在尝试方法 2 时偶然发现了这一点
尝试了以下方法,它可以工作,但比我想要的慢得多,大约 5 FPS:
具有讽刺意味的是,虽然更多地混淆了这种方法,但我不小心重叠了 webRTC 元素的视频区域和生成的(videoTag),即使 webRTC 在背景上,它重叠的 videoTag 的那个角落确实是实时运行的,不像其余元素继续以 3-5 FPS 运行。这让我相信这里的问题是硬件加速。我可以以某种方式为 videoTag 启用它吗?
方法二
进一步的研究
这可能是 Chrome 中的一个错误,一个看似有效的黑客解决方法是确保新生成的视频元素与原始视频元素完全重叠(即使原始视频元素设置为在所有其他元素后面的背景上呈现) (并且在不透明的背景后面)。这似乎启动了硬件加速。
webrtc - WebRTC 并在使用声音花重定向后不会播放 GarageBand 操纵的声音。只是不能在 chrome 中工作
我正在编写一个基于网络的应用程序,它需要实时音频操作,特别是用户声音的音高变化。现在,我的原型使用 GarageBand 来进行音高转换和 soundflower 将音频重定向为我在浏览器上的输入音频源。然后使用 webRTC(简单的 webRTC 库)我将用户的网络摄像头视频和操纵的 webRTC 流发送到其他浏览器。这在 Firefox 中效果很好,但我对 chrome 没有运气。视频通道接收良好,但音频仅在 chrome 上无声。有任何想法吗 ?
cordova - 如何修复不可靠的 WebRTC 调用?
WebRTC 调用在我们的应用程序中并不可靠。有时我们会看到黑屏,有时我们根本看不到通话开始,有时会看到巨大的延迟或音频/视频不同步。
设置:
- 谷歌的公共 STUN 服务器
stun:stun.l.google.com:19302
; - TURN 服务器
Coturn
托管在 docker 中的 azure 中; - 信令服务器是一个定制的https://github.com/andyet/signalmaster,使用 express 作为 web 服务器
- 在客户端使用 JS,
simplewebrtc
作为客户端; - 对于 iOS 支持,使用 Cordova 插件 - https://github.com/eface2face/cordova-plugin-iosrtc
几乎100% 重现的问题是从 LTE 上的一个客户端呼叫 Wi-Fi 上的另一个客户端。在这种情况下,我们在两个设备上都看到黑屏,但是,默认的 bg-color 是白色的,所以至少 WebRTC 端发生了一些事情。
为解决问题所做的工作:
- 检查 Coturn 日志......有时我们会在那里看到“未经授权”的错误,但很难说它们是否会影响任何东西;
- 检查 Coturn 的流量:在 Wi-Fi 到 Wi-Fi 的情况下,它的流量很低,因此确实建立了点对点连接。如果有 LTE,我们会看到大约 40–120KiB/sec 的负载(对于音频/视频来说这不是太低了吗?),所以 TURN 似乎可以工作;
- 检查客户端应用程序日志,没什么特别的;
请提出任何可能的研究或修复方法,以使 WebRTC 尽可能可靠。
node.js - 如何减少 WebRTC 应用程序中的音频噪音
我正在使用对等 WebRTC 方法开发视频聊天应用程序,其中视频看起来不错,但音频出现了一些额外的噪音。
这是我的代码:
任何帮助深表感谢!
javascript - SimpleWebRTC 对等发现无法正常工作
我正在使用这里找到的 SimpleWebRTC 库:https ://simplewebrtc.com
我得到了正确配置 STUN/TURN 的信号主机运行。它能够检测到其他对等方,所以我认为 STUN/TURN 是有效的。我的问题是,当一个同伴开始他们的本地视频时,其他同伴没有发现它,除非他们重新加载页面。我想要它,因此它会自动推送到其他对等方,而无需重新加载页面。我认为这与下面的代码(我从示例中获取)有关,但我不确定。
我将 autoRequestMedia 设置为 false 的原因是因为我希望用户能够查看其他对等方的摄像头而无需打开自己的设备(这也是为什么我在 readyToCall 事件中没有 webrtc.joinRoom 的原因)。
目前,用户点击一个按钮,它会触发 startLocalVideo(); 并且视频是在元素中创建的。问题是除非其他对等方重新加载页面,否则没有任何内容被推送到其他对等方。希望这能解释一切,如果您需要更多详细信息,请告诉我。
webrtc - 尝试通过 SimpleWebRTC 连接时,TURN 服务器连接失败
我正在尝试使用 SimpleWebRTC、Signalmaster 和 Coturn 制作视频聊天应用程序。
在网页上,当我尝试在同一浏览器或 LAN 上从一个选项卡连接到另一个选项卡时,一切正常。我在不同网络(在我的情况下为有线宽带和 3G)中的计算机之间连接时遇到问题。
我确实为 STUN/TURN 部分设置了以下配置的信令服务器(Signalmaster):
由于浏览器连接到 STUN 服务器并交换信令数据,因此它可以工作。但是当谈到 TURN 功能时,Chrome 默默地失败了,Firefox 说我的 TURN 服务器可能坏了。我的 Coturn 配置(假设服务器 ip 是 1.2.3.4,域是 mydomain.com):
提前致谢。
html - WebRTC createOffer 错误
在 Windows 10 64 位上使用 Firefox 53.0.2(32 位)。
尝试在未添加任何本地媒体流并设置的 RTCPeerConnection 上创建优惠时出现错误
var sdpOptions = {'强制':{'OfferToReceiveAudio':真,'OfferToReceiveVideo':真}}
我无法获得有关它的更多信息,关于可能发生的事情或如何获得更多信息的任何想法?
此致,