搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
爱喝兽奶帝天荒
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Android JS相互调用:详解JavaScript与Android互操作_android javascript
2
晟腾A200DK开发板移植Yolov8(1)_将cann开发套件包上传至安装环境的任意目录,执行如下命令增加对软件包的可执行权
3
Facebook如何运用机器学习进行十亿级用户数据处理
4
Git入门到精通(大全)_git从入门到精通
5
探索未来机器人科技:Upkie 开源双足轮式自平衡机器人的魅力
6
python应用-csv文件读取和写入_csv文件写入规则
7
FFmpeg —— 对mp4视频按时间剪切,生成新的mp4(附源码)_java ffmpeg解码mp4为一个新的mp4
8
Redis面试经验_redis mianjing
9
数据结构与算法——冒泡排序(改进后)
10
探索 GitHub 好助手:`ghelper` —— 您的代码管理神器
当前位置:
article
> 正文
基于WebRTC的多人视频会议_webrtc需要服务器带宽吗
作者:爱喝兽奶帝天荒 | 2024-07-28 01:55:13
赞
踩
webrtc需要服务器带宽吗
基于WebRTC的多人视频会议
25 July 2014
最近两周在调研和搭建基于WebRTC的多人视频会议系统。
目前已经搭建成功,可以在http://jitsi.shengbin.me/试用。
这个系统无需注册和登录,只要多人访问同一个URL(含有系统为每个房间分配的特定ID),就可以进行视频会议。
如果上面那个链接失效,可以尝试国外一个同样的系统:https://meet.jit.si/。
使用视频会议系统需要客户端电脑提供摄像头功能;至于带宽,当然是越大越好了。
下面总结一下该系统的组成。
1. 客户端
客户端是一个Web App的形式,包括HTML、CSS、JavaScript代码组成的网页。
HTML和CSS来构造聊天室的界面,JavaScript来实现功能。由于功能比较复杂,JS代码也较多。
通过WebRTC,客户端从用户摄像头获取图像并传给服务器,来实现视频会议。
由于WebRTC只在Chrome、Opera、Firefox上支持,而Firefox有相关的bug尚未解决,
所以客户端只能运行于Chrome或者Opera浏览器。
2. 服务器
服务器端包含多个部分。下面分别介绍。
Nginx
Nginx是一个Web服务器,与著名的Apache同类。它的用途是提供网页访问。
3. Prosody
Prosody是一个XMPP服务器。
XMPP全称是Extensible Messaging and Presence Protocol,即可扩展通信和表示协议。
它是一种即时通信协议,主要是实现文字聊天。
XMPP的前身是Jabber,一个开源的即时通信协议。Jabber被IETF标准化为XMPP。
Google Talk用的就是它。
4. Jitsi-Videobridge
Jitsi-Videobridge用于处理视频传输,也就是视频流在各参与者之间的转发。
如果没有这个组件,各参与者能文字聊天,但无法互相看见。
转发意味着服务器要从N个参与者那里接受视频流,
然后给每个参与者发送其他N-1个参与者的视频数据,
这对服务器带宽要求很高。
但由于未对视频做任何处理,CPU负载并不高。
5. Restund
这是一个STUN/TURN服务器。
STUN是一种NAT穿透技术,用于帮助处在内网的主机确定自己的公网IP和端口,
从而与别的主机建立直接连接(WebRTC中PeerConnection)。
TURN是STUN的增强版,可以在无法穿透NAT进行直连的情况下提供数据的转发。
上述整个系统都是开源的,
更多信息可参见相关的GitHub代码库(https://github.com/jitsi/jitsi-meet)和
Jitsi主页(https://jitsi.org/)。
原谅链接:
http://blog.shengbin.me/posts/multi-user-video-conference-based-on-webrtc/
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/892362
推荐阅读
article
llama
模型,
nano
...
Gemini Nano是谷歌推出的一种AI大模型,它是Gemini多模态模型系列中的一部分。Gemini模型可以。lla...
赞
踩
article
机器学习-
神经网络
:
预测
疲劳寿命(
训练
+
预测
)_
python
神经网络
预测
模型
...
Python
神经网络
回归
预测
模型
(
训练
+
预测
)_
python
神经网络
预测
模型
python
神经网络
预测
模型
...
赞
踩
article
Java
后端
开发
工程师
学习
笔记【狂神说
Java
笔记】...
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初...
赞
踩
article
数据结构
与算法——
队列
的
定义
与运算...
队列
(Queue)简称队,它同栈一样,也是一种运算受限
的
线性表,其限制是仅允许在表
的
一段进行插入,而在另一端进行删除。我...
赞
踩
article
服务器
是否需要安装
杀毒软件
...
我想说真正免费的
杀毒软件
是没有的,都是伴随着一些收费的服务,有著名的诺顿
杀毒软件
、瑞星
杀毒软件
、MCAFEE
杀毒软件
,还...
赞
踩
article
java
.
io
.FileNotFoundExcept
io
n
android10
+打开文件异常_una...
Unable to
decode
stream
:
java
.
io
.FileNotFoundExcept
io
n: /sto...
赞
踩
article
本地上传和下载文件正常,部署后报错
java
.
io
.
IOExcept
io
n
:
java
.
io
.File...
【代码】本地上传和下载文件正常,部署后报错
java
.
io
.
IOExcept
io
n
:
java
.
io
.FileNotFou...
赞
踩
article
vue
+
spring
boot
+
websocket
模拟服务端实时向前端推送数据_
vue
实现
消息
实时推...
一、后端1、安装
websocket
依赖
org.
spring
framewo...
赞
踩
article
mapreduce
概述
_
mapreduce
的
中文全称...
1.2 MapReduce概述Google发表了两篇论文《Google File System》 《Google Map...
赞
踩
article
必须了解
的
PostgreSQL
索引
知识
_
postgresql
重建
索引
和
删除
后新建
索引
的
区别...
索引
可以增强数据库性能,利用
索引
可以快速查找到特定数据行。但
索引
增加存储空间,因此适当地使用
索引
非常重要。本文介绍与
索引
...
赞
踩
article
SpringBoot
:
读取
项目的
Git
版本号_
spring
boot
启动
读取
git
信息...
在开发项目的时候,我们经常会想要拿到线上运行的程序版本,以确定程序是否正确发布。Spring Boot提供了这样的能力支...
赞
踩
article
Vite
配置
Gzip
_
nuxt3
使用
gzip
压缩...
前端性能优化之
Gzip
!!!_
nuxt3
使用
gzip
压缩
nuxt3
使用
gzip
压缩 ...
赞
踩
article
一文搞懂
边缘
电镀
的
PCB
工艺
说明...
在印刷电路板 (
PCB
) 制造的复杂领域中,
PCB
边缘
电镀
工艺
是一项关键技术,尤其适用于需要坚定不移的
边缘
连接、不屈不...
赞
踩
article
我是如何在
知乎
上
赚钱
的
?真实经验
分享
,
可操作性
强...
loonggg读完需要3分钟速读仅需 1 分钟今天给大家
分享
一个在
知乎
上
赚钱
的
手段,就是通过参与
知乎
每个月举行
的
活动,即...
赞
踩
article
RabbitMQ
的
学习
和
模拟实现|
muduo
库
的
介绍
和
使用
...
muduo
库
的
介绍
和
使用
RabbitMQ
的
学习
和
模拟实现|
muduo
库
的
介绍
和
使用
...
赞
踩
article
推荐开源
项目
:
Web
SSH
-
在线
SSH
与
SFTP
管理
利器...
推荐开源
项目
:
Web
SSH
-
在线
SSH
与
SFTP
管理
利器
项目
地址:https://gitcode.com/Jrohy...
赞
踩
article
使用
springboot
实现
WebSocket
服务端
和网页
客户端
...
使用 Spring Boot 实现
WebSocket
服务端
和网页
客户端
需要以下步骤:在项目的 pom.xml 文件中...
赞
踩
article
动态
查找
表(
二叉
排序树)(第九章
>
P227> 算法9.5-9.8)_eq(
>
p>-
>
>
data>
>
=>
>
=>
>
key>)...
ty
>
p>edef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */ty
>
p>ed...
赞
踩
article
Python
数据库
编程
实战:
sqlite3
模块详解_
import
sqlite3
...
本文详细讲解了如何使用
Python
的
sqlite3
模块进行
数据库
操作,包括连接
数据库
、创建表、插入、查询、更新和删除数据...
赞
踩
article
人工智能
与化工新
材料
及
相关
应用
成果_生成式
人工智能
(
aigc
)在聚丙烯
生产
上的
应用
...
通过不断的技术创新和数据积累,
人工智能
将能够在更多领域发挥更大的作用,推动化学和
相关
产业的快速发展。同时,我们也应看到,...
赞
踩
相关标签
nano
python
机器学习
神经网络
回归
tensorflow
android
前端
后端
数据结构
算法
c语言
服务器
Android10+
java
vue.js
websocket
spring boot
git
javascript
捷配
PCB
电路板
pcb