问题标签 [rtcpeerconnection]
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.
google-chrome - 无法从 RTCPeerConnection 获取 IP V4 地址 - chrome
我需要从 Web 应用程序中获取客户端本地 IP 地址。
为此,我使用标准的 RTCPeerConnection 实现来获取。但是返回的 ice 候选并没有携带 IP V4 地址,而是一个看起来像 guid 的地址:asdf-xxxx-saass-xxxx.local
但令人惊讶的是,这个chrome 扩展能够在同一台机器和浏览器上获取相同的内容。
注意:我在 Web 应用程序中使用的代码与扩展程序相同
这是相同的html代码:
javascript - 没有互联网连接的本地主机上的 WebRTC 连接
我正在尝试在使用 aiortc 的 Python 编写的相机服务和没有互联网连接的 javascript 中的 Web 前端之间创建一个 RTCPeerConnection。
camera-service 访问 usb-camera 并为其他两个服务提供流。用于用 javascript 编写的前端和用 python 编写的图像分类服务。所有这些服务都在 localhost 的不同端口上运行。我需要在没有互联网连接的情况下完成此操作。
两个 python 服务之间的 RTCPeerConnection 可以在没有互联网连接的情况下工作,但是前端和摄像头服务之间的连接不起作用。
如果没有互联网连接,相机服务的 ICEConnectionState 永远不会完成仅检查,所以我认为这是某种问题。
要重现此问题,只需尝试使用和不使用 Internet 连接的 aiortc 网络摄像头示例 ( https://github.com/aiortc/aiortc/tree/master/examples/webcam )。
JavaScript中的前端
python中的相机服务
python中的图像分类服务
图像分类服务的结果: RTC Connection 可以在有或没有连接到互联网的情况下工作。
前端的预期结果相同,但前端 RTC 连接在没有 Internet 连接的情况下无法工作。
webrtc - android问题中的多个对等连接Web-RTC
当我为组音频呼叫创建多个对等连接时。所有用户都相互连接,但只有第一个接收者能听到来电者的声音并解决问题。我们希望发送具有多个对等连接的媒体。
webrtc - 为什么 WebRTC 流到对等示例有两个 RTCPeerConnection 对象
我正在研究这个示例并努力对其进行修改,以便视频可以从一个浏览器实例流式传输,然后出现在第二个实例上。我有几个问题:
ICEServers 数组是空的原因是因为 localhost 吗?这仍然可以在两个浏览器实例上运行吗?
我也不明白为什么有两个 RTCPeerConnection 对象?由于 RTCPeerConnection 类包含本地和远程方法,不应该只有一个对象吗?
javascript - RTCPeerConnection m 行与报价不匹配
我正在开发一个 WebRTC 视频流程序,当用户想要添加视频流时,它必须能够重新协商 rtc 连接。因为它是我的程序关闭现有的 RTCPeerConnection 设置Connection
变量null
然后创建一个新的 RTCPeerConnection 并重新启动提供/答案交换。
我一直收到错误:
无法设置远程应答 sdp:应答中 m 行的顺序与 offer 中的顺序不匹配。拒绝回答。
建立初始连接后。
尽管连接已完全关闭并且两端都设置为 null,为什么会发生这种情况?
webrtc - 添加到 RTCPeerConnection 时如何将元数据放在 MediaStream 上?
我正在开发一个多用户视频聊天应用程序,每个用户都有不同的角色。
在监听RTCPeerConnection.onAddStream
事件时,我无法弄清楚 mediaStream 的来源。
有没有一种简单的方法可以在 MediaStream 的源中添加元数据,这对接收端会有帮助?
目前我正在通过“信号”解决这个问题。在创建 MediaStream 时,我通过套接字共享 id,在接收端,我通过比较来自RTCPeerConnection.getRemoteStreams()
. 但问题是,如果有人迟到,她就会错过信息。
如果您对此有任何建议,请告诉我。
webrtc - 检查webrtc连接是否建立成功
我在 localhost 上创建了一个 webrtc 应用程序。因为输入视频和输出视频来自同一个摄像头,所以我无法直观地确定 webrtc 连接是否确实正常工作。
我去chrome://webrtc-internals/
, 检查详细信息,但我不确定哪一个告诉我连接是否正常。是否有一些我可以检查的标志,可能在RTCPeerConnection
object 或 in 上webrtc-internals
,以确定连接是否确实成功?
webrtc - 在 webrtc 中需要从 answerer onnegotiation 动态地将跟踪添加到提供者
在刚刚添加之前是否有通知提供者不存在的轨道,以便从下面的代码中从应答者那里获取新的流?
对于我现在的当前问题,提供者可以添加新的不存在的轨道,并且 onnegotiationneeded 将被触发,并且还能够成功地创建报价和更新媒体,但是当回答者执行相同的过程时,onnegotiationneeded 也从回答者正常触发但没有媒体因为offerer端没有新的track就被交换了!
我用于replaceOrAddTrack(remotePartiID, track, TrackKind)
添加和替换曲目
如果与初始连接具有相同的轨道类型,则只有替换适用于任一端
javascript - 谷歌浏览器 webrtc-internals 中未清除 RTCPeerConnection
我在我的项目中使用 webrtc。但是当RTCPeerConnection.iceConnectionState='closed'
它没有从浏览器中删除时 (Google Chrome 67.0.3396.99) 。
我已经使用过RTCPeerConnection.close()
,之后我将连接对象设置为null
. 但它仍然显示在chrome://webrtc-internals/中。问题是我的应用程序中可能有太多连接,所以当连接未被清除时,一段时间后我无法创建任何新连接。它在我的应用程序中显示太多连接错误。有人可以帮我解决这个问题吗?
谢谢
ios - Not getting WebRTC status chanegd to RTCICEConnectionConnected
below are my steps:
- Initialise webRTC
- socket connected
- onRenegotiationNeeded
- addLocalMediaStrem
- peerConnectionCreateOffer
- didCreateSessionDescription
- setLocalDescriptionWith SDP
- send SDP to socket
- RTCICEGatheringGathering
- get local ICECandidates
- received message from socket
- RTCSignalingStable
- RTCICEConnectionChecking
- peerConnection?.setRemoteDescriptionWith SDP
- received message from socket
- RTCICEGatheringComplete
- RTCSignalingHaveRemoteOffer
- received remote media stream
but still not getting RTCICEConnectionConnected state. why is it so? what is missing?