标签: webrtc

有人可以全面解释WebRTC统计API吗?

我正在为视频通信的研究生课程完成WebRTC项目,它本质上是一个视频会议聊天室.连接到服务器的每个人都会添加到会议中.

我需要使用WebRTC中的stats API来显示每个RTCPeerConnection的一些相关性能统计信息(每秒丢失的数据包,抖动,重传等).这有助于观察性能成本,因为更多对等体被添加到对话中.

然而,API似乎还没有完全充实.它显然经历了一些刷新并且与我见过的一些W3C规格不太匹配(虽然它可能已经过时或者我只是不理解读取规范的细微差别,也不会让我感到惊讶).

我对API的调用与此类似,但解释数据并不简单.例如,当循环遍历所有项目时RTCStatsReport::results(),其中许多项目具有重复的名称和令人困惑的值.我似乎无法找到任何有关其含义的信息.如果有人能帮助我理解一些重要的东西或者指出我失去的黄金之城(例如适当的文件),我将不胜感激.

javascript webrtc

14
推荐指数
1
解决办法
6021
查看次数

快速块传输时,PeerJS/WebRTC连接失败

我正在使用PeerJS,但认为这个问题WebRTC一般都可以,希望你能帮助我:

我正在尝试编写一个简单的点对点文件共享.我使用serialisation: "none"PeerJS连接DataChannel,因为我只发送纯ArrayBuffers.
对于10mb左右的文件,一切都很好但是我在发送更大的文件(30+ mb)时遇到问题,例如在发送10-20个第一块900mb zip文件连接之后,在同行之间开始投掷Connection is not open. You should listen for the "open" event before sending messages.(Sender旁边)

我的设置:

文件被拖动拖放,Sender用于FileReaderArrayBuffer64x1024字节(与16x1024没有区别)的块读取它,并且一读取每个块 - 它通过peer.send(ChunkArrayBuffer)发送.

Recieverblob从每个接收到的块创建,在传输完成后创建完整blob的那些并给出用户的链接.

我的对等连接设置:

   var con = peer.connect(peerid, {
        label: "file",
        reliable: true,
       serialization: "none"
   })
Run Code Online (Sandbox Code Playgroud)

我的发送功能:

function sliceandsend(file, sendfunction) {
    var fileSize = file.size;
    var name = file.name;
    var mime = file.type; …
Run Code Online (Sandbox Code Playgroud)

javascript file-sharing chunks webrtc peerjs

14
推荐指数
1
解决办法
1047
查看次数

无法在Ubuntu Linux 16.04中安装kurento-media-server-6.0

无法在Ubuntu Linux 16.04中安装kurento-media-server-6.0,它总是显示依赖性问题,如下所示.

sudo apt-get install kurento-media-server-6.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:

 kurento-media-server-6.0 : Depends: kms-core-6.0 (>= 6.6.1) but it …
Run Code Online (Sandbox Code Playgroud)

ubuntu webrtc kurento

14
推荐指数
1
解决办法
6616
查看次数

在浏览器中播放原始 h264 直播流

我正在寻找一种解决方案,通过 WebSocket 在浏览器上实时播放来自本机服务器的原始 h264 流。我在 JavaScript 中尝试了许多第三方 h264 解码器,每个都有自己的问题。基于 Broadway 的解码器无法解码 main 和 high profile h264。其他解码器太慢而无法解码 1080p 帧。我尝试在 JavaScript 中将原始 h264 转换为碎片化的 mp4,但是在解码双向帧时播放非常难看。我也尝试过 webrtc,但似乎不可能在浏览器和本机服务器之间实现对等连接。有什么建议?

html javascript live-streaming http-live-streaming webrtc

14
推荐指数
1
解决办法
6071
查看次数

navigator.mediaDevices.enumerateDevices() 返回空标签

背景

我试图在其上实现此功能的机器包含多个摄像头,我想在代码中选择摄像头。(所有机器都有相同的硬件)

问题

我试图在请求视频访问之前实现自定义功能,我手动设置应该使用哪个设备来防止选择错误的相机,但是当我使用

await navigator.mediaDevices.enumerateDevices()

我得到可用摄像机设备的空标签。

javascript google-chrome webrtc

14
推荐指数
1
解决办法
7868
查看次数

了解 WebRTC 中的 SFU、TURN 服务器

如果我正在构建 WebRTC 应用程序并使用 Selective Forwarding Unit 媒体服务器,这是否意味着我将不需要 STUN / TURN 服务器?

据我了解,STUN 服务器用于客户端发现其公共 IP/端口,而 TURN 服务器用于在客户端无法通过 STUN 直接相互连接时在客户端之间中继数据。

我的问题是,如果我使用公共地址部署我的 SFU 媒体服务器,这是否消除了对 STUN 和 TURN 服务器的需求?由于数据将始终通过 SFU 中继,并且客户端/对等方实际上永远不会直接相互交谈?

但是,我注意到 Kurento(具有 SFU 功能的流行媒体服务器)的安装指南包含有关配置 STUN 或 TURN 服务器的部分。为什么需要 STUN 或 TURN 服务器?

stun webrtc turn kurento

14
推荐指数
1
解决办法
3009
查看次数

Html5视频录制和上传?

我需要创建一个可以使用网络摄像头或移动摄像头录制视频的应用程序(它需要跨平台).

到目前为止,我已经使用webrtc getusermedia编写了一个小概念证明.它可以录制视频和播放,但我不知道如何将文件上传回服务器.

以下是此示例http://jsfiddle.net/3FfUP/的链接

和javascript代码:

(function ($) {
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia  = navigator.getUserMedia || navigator.webkitGetUserMedia ||
            navigator.mozGetUserMedia || navigator.msGetUserMedia;
var video = document.querySelector('video');
var onFailSoHard = function(e) {
    console.log('Reeeejected!', e);
};
$('#capture-button').click (function () {
    console.log ("capture click!");
    if (navigator.getUserMedia) {
        // Not showing vendor prefixes.
        navigator.getUserMedia({video: true, audio: true}, function(localMediaStream) {
            var video = document.querySelector('video');
            video.src = window.URL.createObjectURL(localMediaStream);

            // Note: onloadedmetadata doesn't fire in Chrome when using it with getUserMedia.
            // See crbug.com/110938.
            video.onloadedmetadata …
Run Code Online (Sandbox Code Playgroud)

html5 html5-video webrtc

13
推荐指数
2
解决办法
2万
查看次数

WebRTC是否允许一对多(多播)连接?

我已经阅读了很多关于WebRTC的内容,但还有一个问题仍然存在.我希望你能帮助我:

WebRTC是否允许我创建一对多连接?我并不是说"能够与不同的计算机建立多个连接",我真的谈到有一个连接可以将其数据多播到多个端点而无需为每个端点"上传"一次数据.是否有可能将一个单独的包发送到网络上,当它到达网络时,神奇地将自己分成多个具有不同目标的包?

我希望你能得到我想要的东西:)

到目前为止,我只看到一对一的连接,或者与中央服务器有一个连接的解决方案,这些连接为它们进行多播(通常会导致ping的两倍).

但对我来说,一对一的连接似乎并不真正有用(由于客户端的上传带宽很低),而且没有WebRTC(使用WebSockets)也可以使用中央服务器的解决方案,所以唯一真正的用途WebRTC的案例是一对多连接.

那么..这是将来可能的事情吗?或者今天已经可以吗?

webrtc

13
推荐指数
1
解决办法
7409
查看次数

WebRTC数据通道服务器向客户端进行UDP通信

是否可以在Node.js上使用WebRTC数据通道,以模仿Socket.io(WebSockets)的功能(最好是API),除非使用UDP?

本质上,我希望有一个运行Node.js的服务器,浏览器客户端可以通过JavaScript建立全双工双向UDP连接.

javascript udp node.js webrtc

13
推荐指数
1
解决办法
1949
查看次数

13
推荐指数
1
解决办法
1万
查看次数