0

我们正在尝试自行主持 jitsi-meet。当我们尝试添加 jibri 进行录制时,录制完成但未保存在目标文件夹中。

当我们检查日志时,它看起来像:

2022-02-08 04:38:27.177 SEVERE: [192] org.jitsi.jibri.selenium.JibriSelenium.log() Error trying to leave the call
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for org.jitsi.jibri.selenium.pageobjects.CallPage$leave$1@5a808b67 (tried for 2 second(s) with 500 milliseconds interval)
Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’
System info: host: ‘73748186d91c’, ip: ‘192.168.112.6’, os.name: ‘Linux’, os.arch: ‘amd64’, os.version: ‘5.4.0-97-generic’, java.version: ‘11.0.13’
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 96.0.4664.45 (76e4c1bb2ab46…, userDataDir: /tmp/.com.google.Chrome.89Q2wr}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:43911}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 96.0.4664.45, webStorageEnabled: true, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:virtualAuthenticators: true}
Session ID: bc43f325095446bfb8770bfe1f7db685
at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:81)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:271)
at org.jitsi.jibri.selenium.pageobjects.CallPage.leave(CallPage.kt:320)
at org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser(JibriSelenium.kt:354)
at org.jitsi.jibri.service.impl.FileRecordingJibriService.stop(FileRecordingJibriService.kt:230)
at org.jitsi.jibri.JibriManager.stopService(JibriManager.kt:263)
at org.jitsi.jibri.api.xmpp.XmppApi.handleStopJibriIq(XmppApi.kt:276)
at org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:179)
at org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:160)
at org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:533)
at org.jitsi.xmpp.mucclient.MucClient.access$300(MucClient.java:51)
at org.jitsi.xmpp.mucclient.MucClient$3.handleIQRequest(MucClient.java:496)
at org.jivesoftware.smack.AbstractXMPPConnection$3.run(AbstractXMPPConnection.java:1568)
at org.jivesoftware.smack.AbstractXMPPConnection$10.run(AbstractXMPPConnection.java:2146)
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:829)
2022-02-08 04:38:27.177 INFO: [192] org.jitsi.jibri.selenium.JibriSelenium.log() Quitting chrome driver
2022-02-08 04:38:27.260 INFO: [192] org.jitsi.jibri.selenium.JibriSelenium.log() Chrome driver quit
2022-02-08 04:38:27.260 INFO: [192] org.jitsi.jibri.service.impl.FileRecordingJibriService.log() Finalizing the recording
2022-02-08 04:38:27.260 INFO: [192] org.jitsi.jibri.service.impl.JibriServiceFinalizeCommandRunner.log() Finalizing the jibri service operation using command [/srv/finalize.sh, /srv/recordings/sksjbuvpiuhzumsr]
2022-02-08 04:38:27.262 SEVERE: [192] org.jitsi.jibri.service.impl.JibriServiceFinalizeCommandRunner.log() Failed to run finalize script
java.io.IOException: Cannot run program “/srv/finalize.sh”: error=2, No such file or directory
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
at org.jitsi.jibri.util.ProcessWrapper.start(ProcessWrapper.kt:88)
at org.jitsi.jibri.service.impl.JibriServiceFinalizeCommandRunner.doFinalize(JibriServiceFinalizeCommandRunner.kt:47)
at org.jitsi.jibri.service.impl.FileRecordingJibriService.stop(FileRecordingJibriService.kt:232)
at org.jitsi.jibri.JibriManager.stopService(JibriManager.kt:263)
at org.jitsi.jibri.api.xmpp.XmppApi.handleStopJibriIq(XmppApi.kt:276)
at org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:179)
at org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:160)
at org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:533)
at org.jitsi.xmpp.mucclient.MucClient.access$300(MucClient.java:51)
at org.jitsi.xmpp.mucclient.MucClient$3.handleIQRequest(MucClient.java:496)
at org.jivesoftware.smack.AbstractXMPPConnection$3.run(AbstractXMPPConnection.java:1568)
at org.jivesoftware.smack.AbstractXMPPConnection$10.run(AbstractXMPPConnection.java:2146)
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:829)
Caused by: java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:340)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
… 16 more
2022-02-08 04:38:27.262 INFO: [192] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: BUSY → IDLE
2022-02-08 04:38:27.263 FINE: [192] org.jitsi.jibri.webhooks.v1.WebhookClient.log() Updating 0 subscribers of status
2022-02-08 04:38:27.263 INFO: [192] org.jitsi.jibri.api.xmpp.XmppApi.log() Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2022-02-08 04:38:27.263 FINE: [192] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@6ad9aba4

finalize.sh 文件里面的内容是:

RECORDINGS_DIR=/srv/recordings
VIDEO_FILE_PATH=$(find $RECORDINGS_DIR -name *.mp4)
mkdir -p /home/jibri/recordings
mv $VIDEO_FILE_PATH /home/jibri/recordings

我们为获得许可而执行的评论是:

sudo chmod 777 finalize.sh
sudo chown jibri:jitsi /srv/recordings
4

1 回答 1

0

我已经解决了这个问题。该文件在 docker 容器中丢失。我之前在服务器中创建过。在容器内创建文件后。此问题已解决。录音也存在于容器内的位置 /home/jibri/recordings 中。

于 2022-02-25T06:01:26.377 回答