video-streaming - Jitsi Video 桥接组件、韵律、负载均衡

标签 video-streaming jitsi

我正在 AWS 上使用 jitsi 设置一个自动调用的负载平衡环境,它将自动缩放 jitsi-videobridge 实例,将它们连接到韵律。

我遵循了本指南:
https://github.com/jitsi/jicofo/blob/master/doc/load_balancing.md

我应该在 prosody 为每个单独的 jitsi-videobridge 实例创建单独的组件吗?
还是我在配置中遗漏了什么?
如果我理解正确,您有单独的 jitsi-videobridge 节点与 XMPP 服务器通信并通过 PUBSUB 发送统计信息,其中 Jicofo 执行这些 jitsi-videobridge 负载平衡背后的逻辑。

非常感谢 !

当我尝试将第二个 jitsi-videobridge 连接到韵律时,我收到此错误:

JVB的输出:

JVB 2017-05-17 15:38:46.808 SEVERE: [33] org.jitsi.meet.ComponentMain.call().278 conflict, host: IP, port:5347
org.xmpp.component.ComponentException: conflict
        at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:219)
        at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:221)
        at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:201)
        at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:270)
        at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:255)
        at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

PROSODY 的输出:
mod_component   info    Disconnecting component, <stream:error> is: <stream:error><conflict xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text xmlns='urn:ietf:params:xml:ns:xmpp-streams'>Component already connected</text></stream:error>
May 17 15:39:16 jcp20c3ae0      info    component disconnected: jitsi-videobridge.domainname.com (false)

PROSODY 的配置文件:
VirtualHost "pubsub.domainname"
    admins= {  "jitsi-videobridge.domainname” }
    modules_enabled = {
        "pubsub";
    }

VirtualHost "domainname"
    authentication = "anonymous"
    modules_enabled = {
        "bosh";
    }
    c2s_require_encryption = false

VirtualHost "auth.domainname"
    authentication = "internal_plain"

admins = { "focus@auth.domainname" }

Component "conference.domainname" "muc"
Component "jitsi-videobridge.domainname"
    component_secret = "password"
Component "focus.domainname"
    component_secret = “password”

来自 JVB 的配置:
# Jitsi Videobridge settings

# sets the XMPP domain (default: none)
JVB_HOSTNAME=domainname.com

# sets the hostname of the XMPP server (default: domain if set, localhost otherwise)
JVB_HOST=IP

# sets the port of the XMPP server (default: 5275)
JVB_PORT=5347

# sets the shared secret used to authenticate to the XMPP server
JVB_SECRET=password
# extra options to pass to the JVB daemon
JVB_OPTS="--apis=xmpp,rest"

# adds java system props that are passed to jvb (default are for home and logging config file)
JAVA_SYS_PROPS="$JVB_EXTRA_JVM_PARAMS -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties"

最佳答案

只是偶然发现了同样的问题。对于任何 future 的访客,请执行以下操作:

将以下内容添加到您的 /etc/jitsi/videobrigde/config :

JVB_OPTS="--subdomain=jvb1"

或者
JVB_OPTS="--subdomain=jvb2"

分别。

将另一个组件添加到 /etc/prosody/conf.d/jitsi.example.com.cfg.lua :
Component "jvb1.jitsi.example.com"
    component_secret = "password"
Component "jvb2.jitsi.example.com"
    component_secret = "password"

关于video-streaming - Jitsi Video 桥接组件、韵律、负载均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44039295/

相关文章:

python - 如何在python中使用opencv从sftp位置读取视频文件

ios - iOS视频里面没有声音

java - OSGi java.lang.NoClassDefFoundError : org/osgi/framework/BundleContext

java - 编译 jitsi 项目时转换为 Dalvik 格式失败,出现错误 1

android - Lokhttp3/internal/Util 类中没有静态方法 delimiterOffset

api - 如何使用 REST API CALL 将 jitsi 嵌入到我的 Web 应用程序中?

video-streaming - Chrome 中的 Jwplayer 字幕显得太大

macos - mac上的gstreamer错误

python-2.7 - 在 python 中流式传输视频使用 pygame lib

ssl - 让我们与 Jitsi Meet 一起为站点加密证书