Acasă
» ADMIN. REȚEA
»
Cum se configurează un server de înregistrare și streaming Jibri pentru Jitsi Meet
Cum se configurează un server de înregistrare și streaming Jibri pentru Jitsi Meet
Manualul Docker actual al Jitsi documentează o schimbare importantă de implementare: de la lansare stable-11146, containerele sale rulează ca un UID/GID 1000 neprivilegiat, iar directoarele de date persistente trebuie să poată fi scrise de către utilizatorul containerului respectiv. Nici serviciul Jibri nu mai are nevoie de această SYS_ADMINfuncționalitate. Ghidurile mai vechi care recomandă containere privilegiate sau permisiuni largi 777nu ar trebui copiate într-o implementare curentă fără a verifica instrucțiunile specifice versiunii.
Această demonstrație folosește Docker Compose pentru o instalare Jitsi Meet existentă, găzduită în sistem. Urmează un exemplu clar ipotetic: Riverview Team rulează deja Jitsi la meet.example.net, stochează configurația sub /opt/jitsi-meet-cfgși dorește ca moderatorii să înregistreze întâlnirile local și, ocazional, să transmită în flux către o destinație RTMP. Acesta este un exemplu de configurație, nu un raport al unei instalări sau al unui test real.
Notă ilustrativă: Vizualizările ecranului de mai jos sunt exemple schematice, nu capturi de pe un server real; ieșirea comenzii afișate și stările întâlnirii sunt ilustrative.
Ce face Jibri și de ce are nevoie
Jibri este infrastructura de difuzare a Jitsi pentru înregistrarea sau transmiterea în direct a unei conferințe. Se alătură unei întâlniri printr-o sesiune de browser, capturează sunetul și video-ul, apoi codifică ieșirea. Prin urmare, o configurație Jibri funcțională depinde de acordul serviciului web Jitsi, al serverului Prosody XMPP și al Jicofo asupra contului intern de înregistrare și a camerei „berăriei” Jibri unde instanțele disponibile se anunță.
Folosește o instalare completă Jitsi Meet pe care o administrezi; Jibri nu poate fi atașat la serviciul public meet.jit.si ca și cum ar fi propriul tău server. Proiectul Jibri din amonte descrie rularea acestuia pe o mașină separată sau o mașină virtuală, fără nicio sarcină de lucru independentă folosind dispozitivele sale de afișare sau audio. Implementarea oficială Docker Compose include Jibri ca serviciu suplimentar. Pentru o instalare mică, acesta poate fi un container separat pe gazda Compose; pentru utilizare susținută, alocă-i CPU, memorie și capacitate de disc dedicate sau plasează-l pe o gazdă cu resurse adecvate.
O instanță Jibri poate gestiona o singură înregistrare sau sesiune de streaming simultan. Dacă Riverview se așteaptă la sesiuni simultane, ar trebui să planifice un pool Jibri cu mai multe instanțe și să țină cont de configurația suplimentară de loopback audio descrisă în manualul Jitsi. Adăugarea mai multor containere fără dispozitive audio unice nu reprezintă un plan de scalare complet.
Exemplu de setări de mediu pentru activarea Jibri; valorile parolei sunt substituenți mascați.
Pasul 1: Pregătiți mediul Docker Jitsi Meet
Începeți de la o versiune oficială Docker Jitsi Meet și fișierele Compose corespunzătoare. Păstrați .envfișierul și fișierele Compose din aceeași versiune. În fișierul de mediu, activați înregistrarea:
ENABLE_RECORDING=1
Configurația Compose din Jitsi folosește conturi XMPP interne atât pentru Jibri, cât și pentru sesiunea de browser a înregistratorului. Setați valori puternice și distincte pentru parolele Jibri și înregistrator și păstrați-le private. Pentru o stivă complet nouă, gen-passwords.shscriptul proiectului poate genera parolele interne de serviciu. Modifică fișierul de mediu, așa că faceți mai întâi o copie de rezervă. Dacă stiva Jitsi rulează deja, nu regenerați întâmplător fiecare parolă: componentele care rulează trebuie să primească toate acreditările actualizate corespunzătoare în timpul unei reporniri planificate.
În exemplul Riverview, ENABLE_RECORDING=1este comutatorul necesar, în timp ce șablonul de mediu al versiunii furnizează numele și valorile implicite pentru utilizatorul XMPP, utilizatorul înregistratorului, MUC-ul brewery, calea de stocare și alte opțiuni. Nu lipiți parole într-o problemă publică, o captură de ecran a terminalului sau un chat de întâlnire partajat.
Pregătiți directorul persistent Jibri pentru utilizatorul containerului neprivilegiat înainte de a porni serviciul.
Pasul 2: Creați spațiu de stocare persistent cu posibilitate de scriere
Înregistrările trebuie să reziste înlocuirii containerului, așa că configurația Compose din Jitsi montează spațiu de stocare persistent pentru gazdă Jibri. În exemplul de mai jos CONFIG=/opt/jitsi-meet-cfg, directorul gazdă este /opt/jitsi-meet-cfg/storage/jibri. Creați-l înainte de a porni serviciul și faceți-l accesibil prin scriere prin UID-ul/GID-ul containerului, 1000:
Lista numerică ar trebui să afișeze proprietarul și grupul 1000. Folosiți calea reală CONFIGdin fișierul de mediu dacă aceasta diferă. Evitați schimbarea recursivă a proprietății întregului director de configurare Jitsi; aplicați proprietatea necesară căii de stocare Jibri și păstrați înregistrările existente atunci când ajustați o gazdă stabilită. Pe sistemele SELinux, păstrați setările etichetei de volum din fișierul oficial Compose corespunzător, în loc să le eliminați.
Directorul de înregistrare al containerului este configurabil; exemplul documentat din manual pentru JIBRI_RECORDING_DIReste /storage/recordings, montat sub directorul de stocare Jibri al gazdei. Verificați șablonul de mediu al versiunii dvs. înainte de a-l modifica. Confirmați că gazda are suficient spațiu liber pe disc și un plan de retenție: un înregistrator funcțional poate umple un volum mic în timp.
Pasul 3: Porniți Jibri cu fișierul Compose corespunzător
Din directorul care conține fișierele oficiale Jitsi Compose și fișierul de mediu configurat, porniți stiva de bază cu override-ul Jibri:
docker compose -f docker-compose.yml -f jibri.yml up -d
Manualul oficial folosește acest model Compose pentru a adăuga Jibri la implementarea Docker. Suprascrierea Jibri definește imaginea containerului serviciului, configurația și montările de stocare, precum și alocarea memoriei partajate. Folosește fișierul inclus în pachetul versiunii alese; evită să combini o versiune curentă jibri.ymlcu una mai veche .envsau cu un pachet Compose.
Verificați dacă serviciul Jibri rămâne activ și revizuiți jurnalele sale împreună cu Jicofo și Prosody:
Un container care rulează este o verificare inițială, nu o dovadă că conferința poate fi înregistrată. Jibri trebuie să se autentifice la gazda XMPP corectă și să se alăture MUC-ului intern așteptat al brewery. Dacă jurnalele arată erori de autentificare, comparați domeniul XMPP, MUC-ul intern, contul Jibri, contul de înregistrator și parolele din fișierul de mediu și configurația serviciului generat. Valorile trebuie să se potrivească; schimbarea parolei unei singure componente va întrerupe handshake-ul.
Porniți serviciul Jibri Compose și verificați starea acestuia; acest ecran este ilustrativ, nu o afirmație a unei implementări testate.
Pasul 4: Testați o înregistrare și un flux RTMP
Alăturați-vă unei întâlniri de test meet.example.netcu un cont de moderator. În meniul Mai multe acțiuni al întâlnirii, verificați dacă sunt disponibile acțiunile de înregistrare și de transmitere în direct. Începeți cu o înregistrare scurtă, așteptați finalizarea sesiunii și inspectați calea de stocare configurată a gazdei pentru rezultat. Înregistrarea ar trebui să rămână prezentă după recrearea containerului Jibri, deoarece este stocată pe volumul gazdă montat, nu doar în stratul inscriptibil al containerului.
Pentru o transmisiune live, utilizați adresa URL de ingerare RTMP și cheia de transmisie furnizate de serviciul de destinație. Introduceți valorile actuale ale furnizorului în fluxul de lucru pentru transmisiuni live din Jitsi și verificați previzualizarea sau starea de primire a destinației. Tablourile de bord și etichetele furnizorului se pot modifica, așadar utilizați instrucțiunile RTMP actuale ale destinației. Tratați cheia de transmisie ca pe o parolă: nu o publicați în chat-ul întâlnirii sau în capturile de ecran ale articolelor. Înregistrarea în spațiul de stocare local și trimiterea unei transmisiuni live către un serviciu RTMP sunt funcții Jibri corelate, dar au destinații și verificări diferite.
Meniul întâlnirii poate expune înregistrarea și acțiunile de transmisie în direct după configurarea Jibri; disponibilitatea meniului depinde de implementare.
Depanarea până la punctul de defecțiune
Nu apare nicio înregistrare sau acțiune de flux: Confirmați ENABLE_RECORDING=1că este prezentă în fișierul mediului activ și că stiva Compose corespunzătoare a fost recreată după modificare. Verificați configurația web, Prosody și Jicofo generată în loc să editați fișierele dintr-un container care rulează; Docker regenerează configurația serviciului din intrările gazdei.
Acțiunea apare, dar Jibri nu se poate alătura: Inspectați jurnalele Jibri și Jicofo pentru erori de autentificare XMPP sau MUC. Verificați gazda internă, domeniul înregistratorului, numele fabricii de bere și ambele parole interne în raport cu aceeași versiune Compose.
Containerul se închide sau repornește: Verificați jurnalele sale pentru o cale de stocare lipsă sau imposibil de scris. Pe imaginile actuale fără rădăcini, verificați dacă directorul montat este inscriptibil după UID/GID 1000. Verificați, de asemenea, memoria gazdă și configurația memoriei partajate furnizată de fișierul oficial Jibri Compose.
Sesiunea începe, dar nu apare niciun fișier de înregistrare: Confirmați că directorul de înregistrare configurat corespunde volumului gazdă și că sesiunea a fost oprită/finalizată normal. Verificați spațiul liber pe disc și permisiunile fișierelor.
Înregistrarea funcționează, dar streamingul eșuează: Verificați din nou adresa URL de ingerare RTMP și cheia de streaming, cerințele actuale ale destinației și calea de rețea de ieșire a gazdei. Consultați jurnalele Jibri pentru a identifica eroarea de streaming în loc să deschideți porturi de intrare suplimentare fără dovezi.
Când o întâlnire funcționează, dar ai nevoie de mai multe înregistrări simultane, adaugă capacitate în mod deliberat. Limita de o sesiune per instanță a lui Jibri înseamnă că joburile simultane necesită mai multe instanțe; manualul Docker recomandă, de asemenea, selectarea unor interfețe distincte de loopback audio pentru mai multe instanțe. Testează o instanță suplimentară înainte de a extinde pool-ul și verifică dacă fiecare instanță poate crea o înregistrare separată.
Folosește aceste referințe oficiale
Urmați instrucțiunile care corespund implementării dvs., în loc să copiați setările dintr-o versiune Jibri fără legătură. Manualul Jitsi Docker documentează fluxul de lucru Compose, înregistrarea variabilelor, calea de stocare, permisiunile containerelor fără rădăcini și notele Jibri actuale. Fișierul README al proiectului Jibri explică rolul lui Jibri, limitarea sesiunii unice și modelul de configurare. Definiția oficială a serviciului Jibri Compose și șablonul de mediu sunt sursa de adevăr pentru numele variabilelor și montările specifice versiunii.