WebRTC开发者社区为开发者提供最新最全的WebRTC资料
目录
  • 首页
  • WebRTC概念与基础
  • WebRTC项目与应用
  • WebRTC教程资料
  • WebRTC开发资源
  • WebRTC源码分析
  • WebRTC服务端开发
  • WebRTC网络与通信
  • WebRTC编码与解码
  • WebRTC问题与缺陷
  • WebRTC-Androd端开发
  • WebRTC-RFC文档

webrtc笔记(3): 多人视频通讯常用架构Mesh/MCU/SFU

2020-06-23 09:25:40

问题:为什么要搞这么多架构?

webrtc虽然是一项主要使用p2p的实时通讯技术,本应该是无中心化节点的,但是在一些大型多人通讯场景,如果都使用端对端直连,端上会遇到很带宽和性能的问题,所以就有了下图的三种架构。

More...

WebRTC 媒体服务器中使用单端口

2020-06-23 08:42:46
 WebRTC在进行互通的时候需要开放很多端口, 一个音/视频通道就要开启多个通道, 如果是多人音视频通话需要开通的端口更多. 对端口资源照成了很大的浪费, 一些防火墙会限制多udp端口的开放. 如果要部署在服务端, 多端口的开发会给运维照成极大的不方便.

目前为止已经有几个减少端口使用的策略:

  • rtp/rtcp复用端口的方案rtcp-mux.
  • 音视频的boundle, 可以让音视频复用连接通道.
  • 包括后面出现的多路流复用单peerconnection的plan b和unified plan方案, 最新的webrtc标准都已经转向了unified plan.

这些策略都在不断的在消减端口的使用, 但即使上面的这些策略全部开启, 单个用户还是要占用最少一个端口, 如果一个WebRTC服务器要服务1000个用户, 就要开启1000个端口.

More...

WebRTC网关服务器单端口方案实现

2020-06-22 14:50:21

标准WebRTC连接建立流程

这里描述的是Trickle ICE过程,并且省略了通话发起与接受的信令部分。流程如下:
 
1) WebRTC A通过Signal Server转发SDP OFFER到WebRTC B。WebRTC B做完本地处理以后,通过 Signal Server转发SDP ANSWER到A。
 
2)A、B同时向STUN Server发送Binding request请求自身的外网地址,并从STUN Server回包的MAPPED-ADDRESS中得到各自的外网地址;
 
3)A、B收集完内外网ICE Candidate,并通过Signal Server发送给对方;
 
4)双方开始做NAT穿越,互相给对方的ICE Candidate发送STUN Binding Request;
 
5)NAT穿越成功,A、B之间的P2P连接建立,进入媒体互通阶段。在这个过程中,我们看到了有三个核心的部分,SDP协商、ICE Candidate交换、Stun Binding Req/Res的连通性检查。
 

More...

WebRTC 开发实践:如何实现 SFU 服务器

2020-06-22 14:08:08

1 什么是 SFU ?

首先,我们再看一次 SFU 服务器的定义,什么是 SFU ?

SFU 的全称是:Selective Forwarding Unit,是一种路由和转发 WebRTC 客户端音视频数据流的服务端程序。

More...

webrtc sfu实现原理

2020-06-22 14:07:19

High-performance WebRTC SFU
基于WebRTC的SFU多人音视频通话(服务端+客户端)
--------------------------------------------------------------------------------
SFU(Selective Forwarding Unit),如果不太了解自行谷歌。
SFU服务器起到了router的作用,已占用较小的cpu和内存实现更为灵活的多方通话,这个特
性有别于MCU。
本系统包含基于WebRTC开发的SFU服务器,以及windows端基于webrtc实现的客户端;

使用方法
--------------------------------------------------------------------------------
1、启动SFU服务器(Server.exe),默认端口是6666。不建议修改端口,客户端不支持设置端口。
记住SFU服务器的IP地址,如:192.168.1.101。
2、分别在不同的机器上启动客户端Client.exe。然后点击加入频道,输入服务器IP地址,以及
房间号(房间号可以自己随意填写),房间号相同的人会进入相同的房间;同理,房间号不
同的人会进入不同的房间。

特性
--------------------------------------------------------------------------------
1、多个会议室、多人参与。
2、用到的协议ICE / DTLS / RTP / RTCP等协议。
3、支持IPv6。
4、高效率 (使用c++编码,考虑到内存和性能)。
5、支持录制,或者加载媒体文件分享给伙伴(未完成)

More...

WebRTC网关服务器搭建:开源技术 vs 自行研发

2020-06-22 09:12:00

大家好,我是黄开宁,来自即构科技,从事音视频开发已经超过10年了,虽然如此,在技术迅速更新迭代的时代,我们还是需要时刻保持学习的状态。今天,我主要跟大家介绍以下四个方面的内容:

● 为什么需要WebRTC网关?对于即构来说,目前所使用的系统已经较为成熟且经过了市场的检验,为什么还要在如此成熟的商用系统中加入WebRTC?

● WebRTC通信模型的对比,分析不同的模型对应的适用场景,以便大家在选型时能结合自己的需求匹配对应的场景。

● 开源VS自研,主要介绍市面上的开源系统及其特点,另外还会分析即构自行研发系统的目的和出发点。

● Zego-Gateway架构的实践,分享即构在开发过程中遇到的一些难题和解决方法。

为什么需要WebRTC网关

在WebRTC 1.0标准还没有定稿之前,这个标准只具备雏形,在很多方面都有缺陷。而随着1.0标准的定稿,WebRTC逐渐完善,到现在已经可以在网页端使用,换句话说,已经有基于WebRTC的实际应用。下面主要结合不同的应用场景来说明为什么需要WebRTC网关。

More...

即构自研WebRTC网关服务器架构实践

2020-06-22 09:06:03

Zego-Gateway架构的改进

在加入WebRTC网关之前,即构自研系统架构如下图所示,主要分成两部分,左边是低延时用户,而右边是围观用户。低延时用户主要是通过ZEGO的实时传输网络进行推拉流。

_1

More...

聊聊WebRTC网关服务器4:QoS方案分析

2020-06-22 09:01:43

《聊聊WebRTC网关服务器》系列文章系由WebRTCon2018中网易云信音视频技术专家的分享内容《从零开始构建音视频网关服务器》整理而成,该系列文章将和大家分享网易NRTC在WebRTC网关项目的自研过程中遇到的一些问题,以及我们最终的解决方法。

大家都知道音视频应用中的QoS策略是非常重要的部分,这里我简单为大家介绍一下WebRTC网关服务端的QoS内容,因为篇幅问题,具体的算法细节这里就不作阐述了。

本篇文章分享的内容会涉及:NACK、PLI、RTT、GCC算法、REMB与Transport-CC,ULP-FEC。

WebRTC的QoS是一个非常大的门类,也是非常重要的方向,它里面涵盖的内容非常多。有大量的QoS策略是在客户端上实现的。而对于Web来说,那些客户端侧的策略你是没办法修改的,只能通过SDP里面的配置项,来选择需要开启的策略。

More...

聊聊WebRTC网关服务器3:如何优化Server的线程方案?

2020-06-22 08:59:51
《聊聊WebRTC网关服务器》系列文章系由WebRTCon2018中网易云信音视频技术专家的分享内容《从零开始构建音视频网关服务器》整理而成,该系列文章将和大家分享网易NRTC在WebRTC网关项目的自研过程中遇到的一些问题,以及我们最终的解决方法。

在分享完端口方案与PeerConnection的方案后,本篇文章我们将讲解如何优化WebRTC网关服务器的线程方案。这个也是网关服务器架构设计的核心部分。

我们做WebRTC网关服务器的时候,不仅要考虑功能可用,还要考虑并发性能。有三种方案可以选择:

  • 第一种方案是一种多线程的方案,就是为每一个client或者是每一个PeerConnection建立一个独立的线程去做收发。这个方案的劣势很明显,它跨线程的流程就会很多,效率也不高。但是,这确实是某些开源服务器的方案;
  • 第二种方案是单线程的方案,所有用户的I/O以及业务操作都在服务端的一个线程里做完,在用户量不大或者服务端硬件资源可以隔离的情况下,它是一个比较好的方案。但是这种方案也有劣势,当我们使用物理机作为服务器时,单线程是没有办法利用多核优势的;如果同时启动多个进程,则需要多个外网端口和域名,维护的成本也会比较高;
  • 第三种方案是多线程优化方案,也是网关一期实现的方案,I/O单独在一个线程来做,同一个通话的用户在同一个业务逻辑线程做业务操作,同时创建一组业务逻辑线程为所有用户服务。

我们看一下这个方案具体是怎么做的?

More...

聊聊WebRTC网关服务器2:如何选择PeerConnection方案?

2020-06-22 08:49:13

《聊聊WebRTC网关服务器》系列文章系由WebRTCon2018中网易云信音视频技术专家的分享内容《从零开始构建音视频网关服务器》整理而成,该系列文章将和大家分享网易NRTC在WebRTC网关项目的自研过程中遇到的一些问题,以及我们最终的解决方法。

《聊聊WebRTC网关服务器》第二篇文章将和大家分享如何选择PeerConnection方案。

1

More...

last
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
next
  • 分类目录

    • WebRTC概念与基础 (225)
    • WebRTC项目与应用 (33)
    • WebRTC教程资料 (38)
    • WebRTC开发资源 (13)
    • WebRTC源码分析 (12)
    • WebRTC服务端开发 (23)
    • WebRTC网络与通信 (26)
    • WebRTC编码与解码 (15)
    • WebRTC问题与缺陷 (2)
    • WebRTC-Androd端开发 (2)
    • WebRTC-RFC文档 (1)
  • 最新文章

    • 音视频相关的书籍,多媒体技术
    • SFU级联解决方案——Jitsi
    • SFU级联解决方案——Licode
    • Janus源码分析(6)——Streaming分析
    • janus Streaming插件推流指南
    • 流媒体服务器 
    • WebRTC+libwebsockets+Janus的秒开实践
    • 基于WebRTC的直播CDN
    • 不需要SFU实现WebRTC联播实践  
    • webrtc 开启Simulcast功能
    • Migrating your native/mobile application to Unified Plan/WebRTC 1.0 API
    • WebRTC源码分析rfc4588 RTP重传有效载荷格式
    • WebRTC网关服务器搭建:开源技术 vs 自行研发
    • WebRTC网关服务器搭建:开源技术 vs 自行研发
    • 自研WebRTC网关服务器架构的实践之路
    • WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构  
    • janus的videoroom插件
    • WebRTC+libwebsockets+Janus的秒开实践
    • Janus源码分析(7)——videoroom分析
    • Janus源码分析(5)——echotest分析
    • Janus源码分析(4)——信令交互过程
    • WebRTC+libwebsockets+Janus的秒开实践
    • 前向纠错码(FEC)的RTP荷载格式
    • WebRTC 开发实践:从一对一通话到多人会议
    • Distord如何使用WebRTC处理250万用户同时进行的音频交流
    • 了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化
    • 基于WebRTC技术的多人音视频解决方案
    • 谁是最好的WebRTC SFU?
    • WebRTC媒体服务器
    • 使用Janus作为对讲服务器的后台框架和业务流程
  • 链接

    • WebRTC官网
    • xSky 实验室
    • 树莓派技术圈
    • 声网 Agora
    • WebRTC中文网
    • web性能权威指南
    • WebRTC官网
    • webrtc在线源码
    • webrtc在线源码
    • webrtc
    • webrtc示例
    • LiveVideoStack
    • 雷霄骅(leixiaohua1020)的专栏
  • 开源项目


Powered By xblog Copyright 0xsky.com All Rights Reserved.

Copyright WebRTC.ren All Rights Reserved.