如何从源代码编译Jicofo?

时间:2017-09-18 06:23:44

标签: java maven jitsi

我之前使用sudo apt install jitsi-meet安装了Jicofo,但现在我想改变一些事情,以便我尝试从源代码编译Jicofo。

我做了mvn clean compile package -DskipTests并创建了一个JAR文件。然后我用这个文件替换了/usr/share/jicofo/jicofo.jar并运行sudo service jicofo restart,但现在当我尝试在浏览器中加入一个房间时,视频从未连接。我在jicofo.log文件中收到错误:

Jicofo 2017-09-18 04:58:59.972 INFO: [36] org.jitsi.impl.protocol.xmpp.OperationSetJingleImpl.processPacket().148 Error while handling incoming Jingle packet:
java.lang.NoSuchMethodError: net.java.sip.communicator.impl.protocol.jabber.extensions.colibri.SourcePacketExtension.hasSSRC()Z
        at org.jitsi.jicofo.SSRCValidator.tryAddSourcesAndGroups(SSRCValidator.java:132)
        at org.jitsi.jicofo.Participant.addSourcesAndGroupsFromContent(Participant.java:541)
        at org.jitsi.jicofo.JitsiMeetConferenceImpl.onSessionAccept(JitsiMeetConferenceImpl.java:1174)
        at org.jitsi.protocol.xmpp.AbstractOperationSetJingle.processJingleIQ(AbstractOperationSetJingle.java:297)
        at org.jitsi.impl.protocol.xmpp.OperationSetJingleImpl.processPacket(OperationSetJingleImpl.java:135)
        at org.jivesoftware.smack.Connection$ListenerWrapper.notifyListener(Connection.java:867)
        at org.jivesoftware.smack.PacketReader$ListenerNotification.run(PacketReader.java:457)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

为了确保我没有患上XY问题我会快速解释一些背景知识。我试图让Jitsi Meet在Raspberry Pi上运行,但Raspberry Pi仅支持h264的h / w加速,而不支持VP8。当我在Jitsi Meet的设置中设置preferH264时,它可以正常工作,但我无法再在Google Chrome中使用Jitsi。这似乎可能是由区分大小写问题引起的,因此我尝试应用此处找到的修补程序(https://github.com/jitsi/jitsi-meet/issues/877#issuecomment-269054479)。这就是我尝试从源代码编译的原因。

我没有Java经验,所以如果我错过了一些明显的东西我会道歉。

1 个答案:

答案 0 :(得分:0)

我从Jitsi用户邮件列表中获得了一些帮助。这个问题是过时的依赖关系。解决方案是使用以下行构建它:

mvn -U clean compile package -DskipTests -Dassembly.skipAssembly=false

然后解压缩生成的zip文件并将所有内容复制到/ usr / share / jicofo。