私はこのチュートリアル https://github.com/jitsi/jibri とこのビデオ https://www.youtube.com/watch?v=OHHoqKCjJ0E 2を使用しました
ジブリをインストールする
しかし、録音を開始できません
慈済側
/etc/prosody/conf.d/osboxes.osboxes.demoanuswadh.info.cfg.lua
/etc/jitsi/meet/osboxes.demoanuswadh.info-config.js
/etc/jitsi/jicofo/sip-communicator.properties
これらはログの最後の100行です-log.0.txt
ava:312)
at Java.base/Java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.Java:735)
at Java.base/Java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.Java:734)
at Java.base/Java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.Java:658)
at org.Eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.Java:744)
at org.Eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.Java:369)
at org.Eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.Java:852)
at org.Eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.Java:278)
at org.Eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:68)
at org.Eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.Java:138)
at org.Eclipse.jetty.server.Server.start(Server.Java:415)
at org.Eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.Java:108)
at org.Eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.Java:113)
at org.Eclipse.jetty.server.Server.doStart(Server.Java:382)
at org.Eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:68)
at org.jitsi.jibri.MainKt.launchHttpServer(Main.kt:173)
at org.jitsi.jibri.MainKt.main(Main.kt:158)
Caused by: Java.lang.ClassNotFoundException: javax.activation.DataSource
at Java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.Java:581)
at Java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.Java:178)
at Java.base/Java.lang.ClassLoader.loadClass(ClassLoader.Java:521)
… 66 more
MultiException stack 2 of 2
Java.lang.IllegalArgumentException: Errors were discovered while reifying SystemDescriptor(
implementation=org.glassfish.jersey.message.internal.DataSourceProvider
contracts={javax.ws.rs.ext.MessageBodyReader,javax.ws.rs.ext.MessageBodyWriter}
scope=javax.inject.Singleton
qualifiers={}
descriptorType=CLASS
descriptorVisibility=NORMAL
metadata=
rank=0
loader=null
proxiable=null
proxyForSameScope=null
analysisName=null
id=106
locatorId=1
identityHashCode=1778422985
reified=false)
at org.jvnet.hk2.internal.SystemDescriptor.reify(SystemDescriptor.Java:705)
at org.jvnet.hk2.internal.ServiceLocatorImpl.reifyDescriptor(ServiceLocatorImpl.Java:464)
at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.Java:2310)
at org.jvnet.hk2.internal.ServiceLocatorImpl.access$1200(ServiceLocatorImpl.Java:128)
at org.jvnet.hk2.internal.ServiceLocatorImpl$9.compute(ServiceLocatorImpl.Java:1395)
at org.jvnet.hk2.internal.ServiceLocatorImpl$9.compute(ServiceLocatorImpl.Java:1390)
at org.glassfish.hk2.utilities.cache.internal.WeakCARCacheImpl.compute(WeakCARCacheImpl.Java:128)
at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetAllServiceHandles(ServiceLocatorImpl.Java:1452)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.Java:1377)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServiceHandles(ServiceLocatorImpl.Java:1366)
at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllServiceHolders(AbstractHk2InjectionManager.Java:158)
at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllServiceHolders(ImmediateHk2InjectionManager.Java:54)
at org.glassfish.jersey.internal.inject.Providers.getServiceHolders(Providers.Java:329)
at org.glassfish.jersey.internal.inject.Providers.getProviders(Providers.Java:157)
at org.glassfish.jersey.message.internal.MessageBodyFactory.initialize(MessageBodyFactory.Java:265)
at org.glassfish.jersey.message.internal.MessageBodyFactory$MessageBodyWorkersConfigurator.postInit(MessageBodyFactory.Java:136)
at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$2(ApplicationHandler.Java:372)
at Java.base/Java.util.Arrays$ArrayList.forEach(Arrays.Java:4390)
at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.Java:372)
at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.Java:316)
at org.glassfish.jersey.internal.Errors.process(Errors.Java:316)
at org.glassfish.jersey.internal.Errors.process(Errors.Java:298)
at org.glassfish.jersey.internal.Errors.processWithException(Errors.Java:256)
at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.Java:315)
at org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.Java:282)
at org.glassfish.jersey.servlet.WebComponent.(WebComponent.Java:335)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.Java:178)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.Java:370)
at javax.servlet.GenericServlet.init(GenericServlet.Java:244)
at org.Eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.Java:671)
at org.Eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.Java:428)
at org.Eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.Java:750)
at Java.base/Java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.Java:357)
at Java.base/Java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.Java:485)
at Java.base/Java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.Java:474)
at Java.base/Java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.Java:312)
at Java.base/Java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.Java:735)
at Java.base/Java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.Java:734)
at Java.base/Java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.Java:658)
at org.Eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.Java:744)
at org.Eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.Java:369)
at org.Eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.Java:852)
at org.Eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.Java:278)
at org.Eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:68)
at org.Eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.Java:138)
at org.Eclipse.jetty.server.Server.start(Server.Java:415)
at org.Eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.Java:108)
at org.Eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.Java:113)
at org.Eclipse.jetty.server.Server.doStart(Server.Java:382)
at org.Eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:68)
at org.jitsi.jibri.MainKt.launchHttpServer(Main.kt:173)
at org.jitsi.jibri.MainKt.main(Main.kt:158)
2020-04-18 19:06:12.543 SEVERE: [21] org.jitsi.xmpp.mucclient.MucClientManager.log() Failed to initialize and start a MucClient:
org.jivesoftware.smack.SmackException$ConnectionException: The following addresses failed: ‘osboxes.demoanuswadh.info:5222’ failed because: osboxes.demoanuswadh.info/77.525.75.82 exception: Java.net.ConnectException: Connection refused (Connection refused)
at org.jivesoftware.smack.SmackException$ConnectionException.from(SmackException.Java:278)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.Java:619)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.Java:902)
at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.Java:383)
at org.jitsi.xmpp.mucclient.MucClient.initializeConnectAndJoin(MucClient.Java:277)
at org.jitsi.xmpp.mucclient.MucClientManager.lambda$addMucClient$0(MucClientManager.Java:152)
at Java.base/Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1128)
at Java.base/Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:628)
at Java.base/Java.lang.Thread.run(Thread.Java:834)
2020-04-18 19:06:42.348 WARNING: [30] org.jivesoftware.smackx.ping.PingManager.pingServerIfNecessary() XMPPConnection was not authenticated
2020-04-18 19:22:59.687 INFO: [17] org.jitsi.jibri.api.http.internal.InternalHttpApi.gracefulShutdown() Jibri gracefully shutting down
/etc/jitsi/jibri/config.json
{
// NOTE: this is a *SAMPLE* config file, it will need to be configured with
// values from your environment
// Where recording files should be temporarily stored
"recording_directory":"/xxxxxxxxxx/xxxxxxxxx/recordings",
// The path to the script which will be run on completed recordings
"finalize_recording_script_path": "/path/to/finalize_recording.sh",
"xmpp_environments": [
{
// A friendly name for this environment which can be used
// for logging, stats, etc.
"name": "prod environment",
// The hosts of the XMPP servers to connect to as part of
// this environment
"xmpp_server_hosts": [
"osboxes.demoanuswadh.info"
],
// The xmpp domain we'll connect to on the XMPP server
"xmpp_domain": "osboxes.demoanuswadh.info",
// Jibri will login to the xmpp server as a privileged user
"control_login": {
// The domain to use for logging in
"domain": "auth.osboxes.demoanuswadh.info",
// The credentials for logging in
"username": "jibri",
"password": "xxxxxxxxxxxxxxxxxx"
},
// Using the control_login information above, Jibri will join
// a control muc as a means of announcing its availability
// to provide services for a given environment
"control_muc": {
"domain": "internal.auth.osboxes.demoanuswadh.info",
"room_name": "JibriBrewery",
"nickname": "jibri-nickname"
},
// All participants in a call join a muc so they can exchange
// information. Jibri can be instructed to join a special muc
// with credentials to give it special abilities (e.g. not being
// displayed to other users like a normal participant)
"call_login": {
"domain": "recorder.osboxes.demoanuswadh.info",
"username": "recorder",
"password": "xxxxxxxxxxxxxxxxxxxxxx"
},
// When jibri gets a request to start a service for a room, the room
// jid will look like:
// [email protected]_domain
// We'll build the url for the call by transforming that into:
// https://xmpp_domain/subdomain/roomName
// So if there are any prefixes in the jid (like jitsi meet, which
// has its participants join a muc at conference.xmpp_domain) then
// list that prefix here so it can be stripped out to generate
// the call url correctly
"room_jid_domain_string_to_strip_from_start": "conference.",
// The amount of time, in minutes, a service is allowed to continue.
// Once a service has been running for this long, it will be
// stopped (cleanly). A value of 0 means an indefinite amount
// of time is allowed
"usage_timeout": "0"
}
]
}
どんな助けにも感謝します。前もって感謝します
ログに接続が拒否されたとあります。
2020-04-18 19:06:12.543 SEVERE: [21] org.jitsi.xmpp.mucclient.MucClientManager.log() Failed to initialize and start a MucClient:[...] failed because: osboxes.demoanuswadh.info/77.525.75.82 exception: Java.net.ConnectException: Connection refused (Connection refused)
Jitsiでユーザー、ドメイン、パスワードを確認します。準備ができたら、log.0.txtを削除するか、名前を変更してjibriサービスを再起動し、明確なログを取得します。