Jitsi Videobridge

Jitsi Videobridge是一个兼容WebRTC的视频路由器或SFU,可以构建高度可扩展的视频会议基础设施(即每台服务器最多可达数百个会议)。(Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server).)

Github星跟蹤圖

简介

Jitsi Videobridge 是一个允许多用户视频通信的 XMPP 服务器组件。与昂贵的专用硬件 Videobridge 不同,Jitsi Videobridge 不会将视频通道混合成一个复合视频流,而只是将接收到的视频通道转接给所有呼叫参与者。因此,虽然它确实需要在具有良好网络带宽的服务器上运行,但 CPU 性能对性能并不是那么关键。

Jitsi Videobridge 是一个兼容 WebRTC 的视频路由器或 SFU,可以构建高度可扩展的视频会议基础设施(即每台服务器最多可达数百个会议)。

Jitsi Videobridge 是构建可大规模扩展的多方视频应用程序。停止混合视频频道并开始使用 Jitsi Videobridge。 它是一个选择性转发单元(SFU),旨在从单个服务器运行数千个视频流 —— 它是完全开源的和WebRTC兼容的。

Jitsi Videobridge 由开发人员为开发人员构建。您可以在源代码树的 doc/ 目录中找到文档。

从第一天开始,我们的开源社区和合作伙伴设计了 Videobridge:

  • 更灵活 -- 因为它是完全开源的。 建立你想要的任何东西
  • 更具可扩展性 -- 即使是小型CPU也可以处理它。 查看我们的绩效评估
  • 质量更高 -- 因为 Jitsi Videobridge 转发视频,而不是混合。
  • 易于控制 -- 通过 XMMP,或通过 Colibri 的 HTTPS 和 REST 版本。
  • 令人难以置信的安全 -- 使用 DTLS/SRTP 进行呼叫加密。

运行它

您可以下载 Debian/Ubuntu 的二进制软件包:

Maven汇编二进制文件:

或者,您可以克隆 Git 存储库并使用 maven 从源代码运行 JVB。

JVB_HOME="The path to your JVB clone."

mvn compile exec:exec -Dexec.executable=java -Dexec.args="-cp %classpath org.jitsi.videobridge.Main -Djava.library.path=$JVB_HOME/lib/native/linux-64 -Djava.util.logging.config.file=$JVB_HOME/lib/logging.properties -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=.jitsi-videobridge "


(The second edition revised by vz on 2020.08.02)

概覽

名稱與所有者jitsi/jitsi-videobridge
主編程語言Kotlin
編程語言Java (語言數: 8)
平台Linux
許可證Apache License 2.0
發布數3891
最新版本名稱stable/jitsi-meet_9457 (發布於 2024-04-23 15:18:56)
第一版名稱34 (發布於 2013-07-04 15:39:28)
創建於2013-04-24 21:21:59
推送於2024-04-29 18:37:25
最后一次提交2024-04-29 11:37:25
星數2.9k
關注者數151
派生數1k
提交數4.9k
已啟用問題?
問題數422
打開的問題數138
拉請求數1451
打開的拉請求數21
關閉的拉請求數227
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

Intro

Jitsi Videobridge is a WebRTC-compatible Selective Forwarding Unit (SFU), i.e. a
multimedia router. It is one of the backend components in the Jitsi Meet stack.

You can find more documentation in the
doc/ directory in the source tree and in the
Jitsi Meet Handbook.

If you have questions about the project, please post on the Jitsi Community Forum.
GitHub issues are only used to track actionable items.

Packages

Debian/Ubuntu

You can download binary packages for Debian/Ubuntu:

Building your own package

You can build a custom package with just mvn install in the root directory of the repo. Look for the package in
jvb/target/jitsi-videobridge-2.1-SNAPSHOT-archive.zip.

Running locally

You can run jitsi-videobridge locally with maven (or in your IDE). First create a ~/.jvb/jvb.conf to configure the
environment to connect to and other options (see
reference.conf for the
available options).

JVB_HOME="/path/to/the/cloned/repo"
JVB_CONFIG_DIR_LOCATION="~/"
JVB_CONFIG_DIR_NAME=".jvb"
JVB_CONFIG_FILE="$JVB_CONFIG_DIR_LOCATION/$JVB_JVB_CONFIG_DIR_NAME/jvb.conf"

mvn compile exec:exec -Dexec.executable=java -Dexec.args="-cp %classpath org.jitsi.videobridge.MainKt -Djava.library.path=$JVB_HOME/lib/native/linux-64 -Djava.util.logging.config.file=$JVB_HOME/lib/logging.properties -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=$JVB_CONFIG_DIR_LOCATION -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=$JVB_CONFIG_DIR_NAME -Dconfig.file=$JVB_CONFIG_FILE"

Configuration

Application level configuration comes from a config file, usually installed in /etc/jitsi/videobridge/jvb.conf. The
values in that file override the defaults defined in
reference.conf.

Debian

On debian systems the /etc/jitsi/videobridge/config file can be used to set configuration for the Java virtual machine.
Notable examples:

# Increase the java heap to 8GB
VIDEOBRIDGE_MAX_MEMORY=8192m
# Change the garbage collector (defaults to G1GC)
VIDEOBRIDGE_GC_TYPE=G1GC
去到頂部