#jitsi #jitsi-meet
#джитси #jitsi-знакомьтесь #jitsi
Вопрос:
Я пытаюсь использовать finalize.sh
file для переименования записи после завершения записи. Я запускаю jibri docker container. в целях тестирования я просто печатаю значение RECORDINGS_DIR
, чтобы проверить, работает finalize.sh
скрипт или нет. это не сработало, и я получаю приведенную ниже ошибку в журналах контейнеров jibri:
2020-08-23 20:37:25.679 INFO: [40] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Quitting selenium
2020-08-23 20:37:25.707 INFO: [40] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Participants in this recording: []
2020-08-23 20:37:25.764 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Leaving call and quitting browser
2020-08-23 20:37:25.764 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Recurring call status checks cancelled
2020-08-23 20:37:25.775 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 8 log entries for type browser
2020-08-23 20:37:25.831 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 695 log entries for type driver
2020-08-23 20:37:25.912 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 0 log entries for type client
2020-08-23 20:37:25.912 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Leaving web call
2020-08-23 20:37:26.059 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Quitting chrome driver
2020-08-23 20:37:26.138 INFO: [40] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Chrome driver quit
2020-08-23 20:37:26.139 INFO: [40] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Finalizing the recording
2020-08-23 20:37:26.142 SEVERE: [40] org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Failed to run finalize script: java.io.IOException: Cannot run program "/config/jibri/finalize.sh": error=2, No such file or directory with stack:
java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
org.jitsi.jibri.util.ProcessWrapper.start(ProcessWrapper.kt:87)
org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize(FileRecordingJibriService.kt:207)
org.jitsi.jibri.service.impl.FileRecordingJibriService.stop(FileRecordingJibriService.kt:192)
org.jitsi.jibri.JibriManager.stopService(JibriManager.kt:257)
org.jitsi.jibri.api.xmpp.XmppApi.handleStopJibriIq(XmppApi.kt:256)
org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:162)
org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:146)
org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:547)
org.jitsi.xmpp.mucclient.MucClient.access$500(MucClient.java:50)
org.jitsi.xmpp.mucclient.MucClient$2.handleIQRequest(MucClient.java:511)
org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1188)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
2020-08-23 20:37:26.144 INFO: [40] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: BUSY -> IDLE
2020-08-23 20:37:26.145 INFO: [40] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publisshing presence to connections
2020-08-23 20:37:26.146 FINE: [40] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@531027d0
2020-08-23 20:37:26.146 FINE: [40] org.jitsi.xmpp.mucclient.MucClientManager.log() Replacing presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@30f60b25
2020-08-23 20:37:26.154 INFO: [56] org.jitsi.jibri.JibriManager.stopService() No service active, ignoring stop
Но когда я проверил finalize.sh
скрипт внутри контейнера, он был там.
root@e18b455c2622:/# cat /config/jibri/finalize.sh
#! /usr/bin/bash
RECORDINGS_DIR=$1
echo "Recording dir is: $RECORDINGS_DIR"
Jibri создает фрагмент файла
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: "/config/jibri/finalize.sh"
Я тоже пытался изменить разрешение на доступ к файлу, но это не сработало.
Пожалуйста, помогите.
Комментарии:
1. Существует
/usr/bin/bash
ли? За исключением систем, в которых/bin
и/usr/bin
имеют псевдонимы / объединены, обычно оболочки находятся в/bin
и не/usr/bin
(традиционно это было необходимо, чтобы они были надежно доступны в однопользовательском режиме или режиме обслуживания)2. Большое спасибо @dave_thompson_085 «да»,
#!/bin/bash
это правильное «нет»#!/usr/bin/bash
. Пожалуйста, отправьте это в качестве ответа.