Adobe Connect 12.12 LiveKit 설치 (향상된 오디오-비디오 설정)

소개

Adobe Connect는 향상된 오디오 및 비디오 기능을 제공하기 위해 오픈 소스 WebRTC 기반 미디어 서버인 LiveKit을 사용합니다.이 LiveKit 기반 향상된 오디오-비디오 설정은 일반적으로 신호 노드, LiveKit 미디어/SIP 노드, 녹화 및 ASR(캡션) 노드와 같은 특정 역할을 가진 여러 Linux® 노드에서 실행됩니다.이 설정은 또한 PostgreSQL, Redis 및 NATS 메시지 버스 클러스터(LiveKit의 미디어 및 SIP 서버에 필요)를 사용하며, 사용량에 따라 하나의 머신이나 별도의 머신에 설치할 수 있습니다.

각 노드는 설치 관리자 zip 파일을 해당 노드에 복사하고, 구성 파일을 편집하고, 종속성 설치 스크립트를 실행하고 마지막으로 기본 설치 스크립트를 실행하면 설치가 완료됩니다. 다음에서 다루는 주제는 아래와 같습니다:

이러한 단계는 설치 섹션에 설명되어 있습니다.

전제 조건 및 시스템 요구 사항

향상된 오디오/비디오 서버/노드의 크기 추정

session_participants_count.sql 파일을 실행하여 향상된 오디오/비디오 서버의 크기를 추정할 수 있습니다.SQL 쿼리의 출력은 Excel 파일인 Additional Enhanced A/V hardware Livekit-estimator.xlsx 계산기의 입력이 됩니다.

계산기는 Adobe Connect의 과거 사용량을 기반으로 필요한 VM 수를 추정하는 데 도움이 됩니다.계산기에는 다음과 같은 입력 세트가 필요합니다.

  • 서버 CPU 코어 및 RAM 수.
  • 연결된 SQL 쿼리는 지난 12개월 동안 수행된 최대 동시 세션 수와 평균 참석자 수를 결정하는 데 사용됩니다.
  • 각 세션의 예상 게시자 수 게시자는 회의 참석자(주최자, 발표자 또는 참가자)로, 회의실에서 마이크(음소거 또는 음소거 해제)와 웹캠(실시간 및 일시 중지)을 연결합니다.
메모

session_participants_count.sql과 Additional Enhanced A/V hardware Livekit-estimator.xlsx 파일은 모두 설치 관리자 패키지에 포함되어 있으며 다른 곳에서는 사용할 수 없습니다.

포트 열기 요구 사항

소스 대상 포트 범위 프로토콜 사용
WebRTC LB 신호 노드 18443 TCP WebRTC 시그널링
0.0.0.0 WebRTC LB 443 TCP WebRTC 시그널링
Connect Pro Server WebRTC LB 443 TCP  
Self 신호 노드 6379 TCP Redis
미디어 서버 노드 신호 노드 6379 TCP Redis
레코딩 노드 신호 노드 6379 TCP Redis
미디어 서버 노드 신호 노드 4222 - 4224 TCP NATS
Self 신호 노드 5432 TCP Postgres
자기 자신 신호 노드 6222 TCP NATS
Self 신호 노드 7890 TCP LiveKit LB
신호 노드 Connect Pro 서버 LB 443 TCP  
자동 캡션/ASR 노드 신호 노드 7890 TCP LiveKit LB
자동 캡션/ASR 노드 WebRTC LB 443 TCP WebRTC 시그널링
미디어 서버 노드 신호 노드 7890 TCP LiveKit LB
Self 자동 캡션/ASR 노드 6000 TCP 캡셔너 서비스
신호 노드 레코딩 노드 5000-5100 TCP 녹화 요청
Connect Pro Server 레코딩 노드 80 TCP 녹화 다운로드
신호 노드 미디어 서버 노드 7880 TCP WebRTC 시그널링
Self 미디어 서버 노드 6883 TCP 클러스터 연결
Self 미디어 서버 노드 6884 UDP 클러스터 연결
0.0.0.0 미디어 서버 노드 50000 - 60000 UDP SRTP(실시간 미디어 흐름)
Self 미디어 서버 노드 30000 - 40000 UDP TURN 릴레이
0.0.0.0 미디어 서버 노드 3478 UDP UDP를 통한 TURN
0.0.0.0 미디어 서버 노드 443 TCP TLS를 통한 TURN
0.0.0.0 미디어 서버 노드 5060 UDP SIP
0.0.0.0 미디어 서버 노드 5060 TCP SIP
0.0.0.0 미디어 서버 노드 10000-20000 UDP SIP
자동 캡션/ASR 노드 미디어 서버 노드 50000 - 60000 UDP SRTP(실시간 미디어 흐름)
자동 캡션/ASR 노드 미디어 서버 노드 3478 UDP UDP를 통한 TURN
레코딩 노드 미디어 서버 노드 50000 - 60000 UDP SRTP(실시간 미디어 흐름)
레코딩 노드 미디어 서버 노드 3478 UDP UDP를 통한 TURN
레코딩 노드 WebRTC LB 443 TCP WebRTC 시그널링

0.0.0.0 = 사용자/클라이언트/인터넷

Livekit의 On-Premise 설정을 위한 로드 밸런싱 설정

로드 밸런싱은 일반적으로 아래 구성으로 외부 애플리케이션 로드 밸런서를 통해 수행됩니다.

  • HTTPS 포트 443: 신호 노드 HTTP 포트 18443 - CPS 및 최종 사용자가 이 수신기에 연결하며, 이것은 새 WebRTC 클러스터의 진입점입니다.

자세한 내용은 향상된 오디오/비디오(WebRTC)의 On-Premise 설정을 위한 로드 밸런싱 설정을 참조하세요.

메모

LiveKit 엔진의 경우 포트 18443에 대해서만 로드 밸런싱이 필요하며, LiveSwitch 엔진과 달리 로드 밸런싱할 별도의 관리자 패널 포트(9090)가 없습니다.

환경 준비

LiveKit 설정에는 최소 4개의 Red Hat 서버가 필요합니다: 시그널링, 미디어, 레코딩, ASR 노드에 각각 하나씩.추정기는 회의 부하를 기반으로 여러 미디어 서버, 레코딩 노드, ASR 노드, 시그널링 노드를 제안할 수 있습니다.애플리케이션 로드 밸런서는 SSL 오프로드와 CPS 및 최종 사용자 클라이언트와 시그널링 노드 간의 통신에 사용됩니다.

여기서는 가장 일반적인 네 가지 서버 설정을 자세히 설명하겠습니다.

  • Red Hat 서버 4대를 제공합니다. 하드웨어 추정기를 참조하여 구성하십시오.
  • 설치하려면 sudo 액세스 권한이 있는 루트가 아닌 사용자가 필요합니다.
    • Red Hat을 새로 설치한 후 새 user-id를 만듭니다.
    • RHEL에서 새 사용자 ID에 대해 sudo를 활성화하려면 ID를 휠 그룹에 추가합니다.
      • su를 실행하여 root 권한을 얻으세요.
      • usermod -aG wheel your_user_id를 실행하세요.
      • 로그아웃한 후 새 ID를 사용하여 다시 로그인합니다.

설치 프로그램 zip 파일을 복사하세요.

  1. Patch_ACS_12_12_0_EnhancedAV.zip을 모든 노드의 홈 디렉터리에 복사합니다.예를 들어, scp Patch_ACS_12_12_0_EnhancedAV.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/

  2. 선택적으로 Jarsigner를 사용하여 다운로드한 서명된 zip을 확인합니다. Jarsigner는 Java의 일부로 설치됩니다.

    1. [ java -version ] 명령을 사용하여 JAVA가 설치되어 있는지 확인합니다. Java가 설치되어 있으면 JAVA 버전을 출력으로 얻습니다.
    2. 시스템에 Java가 설치되어 있지 않은 경우 Java를 설치하세요.

      sudo yum install java-1.8.0-openjdk-devel

    3. 이제 아래 명령을 터미널 창에 복사하고 Enter 키를 누르십시오.

      jarsigner -verify -verbose Patch_ACS_12_12_0_EnhancedAV.zip

    4. 검증 결과에는 다음이 포함됩니다:
      • zip 파일 내부 목록
      • 인증을 위한 Adobe의 인증서 정보
      • 출력 성공 메시지("jar가 확인됨") 또는 실패 메시지("jar가 확인되지 않음")
    5. 인증서 정보가 유효하고 확인 성공 출력 메시지가 표시되면 사용자는 zip 콘텐츠를 사용한 다음 설치를 계속할 수 있습니다. 그렇지 않은 경우 Adobe 지원에 문의해야 합니다.
  3. ZIP의 압축을 풉니다. 파일에 적절한 권한이 있는지 확인합니다. 명령 사용: 명시적으로 지정되지 않은 경우 root/sudo 액세스로 명령을 실행하지 마십시오.

    unzip Patch_ACS_12_12_0_EnhancedAV.zip
    cd ~/ncc-onprem-installer/
    sudo chmod +x ExternalDependencies/install.sh
    sudo chmod +x MainInstall.sh
    sudo chmod +x check-connectivity.sh
    sudo chmod +x uninstall.sh

    메모

    인터넷 액세스가 없거나 제한된 환경에서 설정을 실행할 때는 아래 명령을 실행하십시오:

  4. 종속성 설치 스크립트 실행.

    1. 인터넷에 액세스할 수 없거나 잠긴 환경에서 설치 프로그램을 실행하는 경우 다음 명령을 실행하여 외부 종속성을 설치합니다. 인터넷 액세스가 있는 경우 다음 단계 2를 계속 진행하십시오.

      설치 프로그램 상위 디렉터리로 이동합니다.~/ncc-onprem-installer/ 디렉터리에 있는지 확인하십시오.
      RHEL8에서 bash ExternalDependencies/package-util.sh --install --rhel8 을 실행합니다.
      RHEL9에서 bash ExternalDependencies/package-util.sh --install --rhel9를 실행합니다.
      그러면 상자에 필요한 모든 외부 종속성이 설치됩니다
      이 작업은 노드당 한 번 필요합니다.
    2. 설치 관리자 상위 디렉터리로 이동합니다. 예를 들어, ~/ncc-onprem-installer/ 디렉터리에 있는지 확인합니다.
      bash ExternalDependencies/install.sh를 실행합니다. 그러면 상자에 필요한 모든 외부 종속성이 설치됩니다. 이 작업은 노드당 한 번 필요합니다.

설치 과정

다음 단계는 4개의 개별 Red Hat 인스턴스에서 LiveKit 환경을 설치하는 과정을 설명합니다(예시).신호 노드, 레코딩 노드, 미디어-서버 노드 및 ASR 노드. 각 노드의 지침에 대해 containers.conf에 구성된 서비스를 주의 깊게 살펴보십시오. 구성 파일의 특정 서비스/컨테이너 집합을 사용하여 각 노드를 구성해야 합니다.

** 랩 시스템에서는 이러한 모든 '노드'(신호, 녹화, 미디어 및 ASR 서버)를 하나의 Linux 인스턴스에 설치할 수 있습니다.그런 경우에는 containers.conf에서 환경에 필요한 모든 서버/컨테이너에 대해 'count=1'을 설정합니다.

신호 노드

신호 노드에서는 일반적으로 다음 서비스를 실행합니다. 각 서비스는 docker 컨테이너로 실행됩니다.

  • config(구성 서비스)
  • cas(새 Connect API 서비스)
  • apigw(API 게이트웨이/라우터)
  • nats(3-노드 NATS 클러스터 - LiveKit 미디어/SIP 서버에 필요한 메시지 버스)
  • redis
  • postgres

일반적으로 신호 노드는 외부 Load Balancer를 통해 Connect 클라이언트에 액세스할 수 있는 개인 서브넷에 있어야 합니다.

절차

  1. Hosts 파일을 편집합니다.이 hosts 파일 항목은 배포의 모든 노드(신호, 미디어, 녹화 및 ASR)에 추가되어야 하며, <private-ip>는 항상 신호 노드의 프라이빗 IP로 설정해야 합니다.nano 또는 vi와 같은 텍스트 편집기를 사용할 수 있습니다.

    1. nano 또는 vi 편집기를 사용하여 /etc/hosts 파일을 엽니다(예: sudo vi /etc/hosts).
    2. 끝에 다음 줄을 추가합니다. <private-ip>를 신호 노드의 프라이빗 IP로 바꿉니다.아래 각 단어 사이에는 공백이 있습니다.

    <private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local

    192.168.1.100 controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local

  2. 구성 파일 편집

    ncc-onprem-installer/Config/config.conf에 있는 구성 파일을 편집합니다. 파일 편집 지침이 구성 파일에 주석으로 추가됩니다. 이 파일은 신호 노드에서 편집해야 하며, 다른 노드들은 개별적으로 편집하지 않고 동일한 파일을 복사합니다(아래의 각 섹션을 참조하세요).

    1. hostnames 블록 아래의 다음 키를 업데이트합니다:

    단일 박스 멀티 박스
    fqdn NCC_FQDN(예: webrtc.example.com) 동일
    signalingNode 인스턴스 프라이빗 IP 신호 노드 프라이빗 IP
    configService 인스턴스 프라이빗 IP 신호 노드 프라이빗 IP
    recordingNode 인스턴스 사설 IP HCR 노드 사설 IP
    mediaNode 인스턴스 사설 IP 미디어 노드 사설 IP
    sipNode 인스턴스 사설 IP 미디어 노드 사설 IP

    2. livekit 블록에서 다음 키를 업데이트하십시오(단일 박스 및 멀티 박스에서 동일):

    활성화됨 &quot;true&quot;
    mediaServers ["<미디어 노드 사설 IP>"]

    3. 이제 ncc-onprem-installer/Config/containers.conf를 편집하십시오.파일 편집 지침은 파일에 주석으로 추가됩니다. 이 파일은 각 호스트에 대해 개별적으로 편집해야 합니다. 설치할 서비스 및 배포할 컨테이너 수에 따라 다릅니다.

    4. 일반적인 신호 노드에 다음을 설치합니다.

    • casServer
    • configService
    • apiGateway
    • nats(3개 보조 NATS 클러스터의 수 설정)
    • redis
    • postgres

    5. 따라서 위의 모든 서비스에 대해 count=1을 설정하고 다른 모든 서비스에 대해 0을 설정합니다.

    중요

    Config.conf를 변경한 후 configService에 대해 restart=1로 설정하십시오.

  3. 기본 설치 관리자 스크립트를 실행합니다. 기본 설치 프로그램 디렉터리로 전환하십시오 cd ~/ncc-onprem-installer/ 기본 설치 프로그램 스크립트를 실행하십시오, bash MainInstall.sh.확인 메시지를 기다립니다. 성공 메시지: 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.실패 메시지: 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed.자세한 내용은 installer.log를 참조하십시오.

  4. 설치 확인

    1. 상태 검사 API 노드의 상태를 검사하려면 다음 URL로 찾아보기할 수 있습니다: http://<private_ip>:18443/health.정상 응답은 200 OK {"apigw":"ok"}이어야 합니다. RedHat 머신에서 확인하려면 curl 명령을 사용할 수 있습니다. 예를 들어, curl -v http://172.31.56.203:18443/health
    2. 컨테이너 상태 확인 터미널 창에서 docker ps 명령을 실행하십시오.출력은 아래와 같이 나타나야 하며, 컨테이너 중 어느 것도 STATUS가 재시작됨으로 표시되어서는 안 됩니다.미디어 노드로 진행하기 전에 nats1/nats2/nats3 컨테이너들이 모두 건강한 상태인지 확인하십시오.
    CONTAINER ID   IMAGE                                                          COMMAND                  CREATED        STATUS               PORTS                                                                 NAMES
    aec6e82c8a6d   docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/redis:12.4     redis-server /red...2시간 전    실행 중(2시간)           0.0.0.0:6379->6379/tcp                                              redis
    5add9e041cc0   docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/postgres:12.4  postgres                 2시간 전    실행 중(2시간)           0.0.0.0:5432->5432/tcp                                              postgres
    991a1a6e9145   docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/lb:12.4        nginx -g daemon o... 2시간 전    실행 중(2시간)           0.0.0.0:7890->7890/tcp, 80/tcp, 443/tcp, 5349/tcp                    lb
    246cdf8b2fdd   docker-connect-release.dr-uw2.adobeitc.com/ncc/config:12.12.0        /bin/bash /run.sh        2시간 전    실행 중(2시간)           0.0.0.0:8089->8089/tcp                                              config
    c310c28f04af   docker-connect-release.dr-uw2.adobeitc.com/ncc/cas:12.12.0          /bin/bash /run.sh        2시간 전    실행 중(1시간 정도)     0.0.0.0:8090->8090/tcp                                              cas
    4e8fddab5aba   docker-connect-release.dr-uw2.adobeitc.com/ncc/apigw:12.12.0        /bin/bash /run.sh        2시간 전    실행 중(2시간)           0.0.0.0:18080->8080/tcp, 0.0.0.0:18443->8443/tcp, 80/tcp             apigw
    dd88436359bc   docker-connect-release.dr-uw2.adobeitc.com/nats:2.11.6-alpine       -cluster nats://n... 2시간 전    실행 중(2시간)           0.0.0.0:4222->4222/tcp, 0.0.0.0:6222->6222/tcp, 0.0.0.0:8222->8222/tcp   nats1
    d08343e01019   docker-connect-release.dr-uw2.adobeitc.com/nats:2.11.6-alpine       -cluster nats://n... 2시간 전    실행 중(2시간)           0.0.0.0:4223->4223/tcp, 0.0.0.0:6223->6222/tcp, 0.0.0.0:8223->8222/tcp   nats2
    a578607fb4cc   docker-connect-release.dr-uw2.adobeitc.com/nats:2.11.6-alpine       -cluster nats://n... 2시간 전    실행 중(2시간)           0.0.0.0:4224->4224/tcp, 0.0.0.0:6224->6222/tcp, 0.0.0.0:8224->8222/tcp   nats3

미디어 서버 노드

미디어 노드에서 다음 서비스를 실행합니다.

  • livekit-server (Media Server): 오디오 비디오 품질 향상용
  • livekit-sip (SIP 서비스): SIP 사용 시 필요, livekit.enabled=true인 경우에만 설치

미디어 노드는 공용 서브넷(또는 DMZ)에 있어야 하며 공용 IP를 할당하거나 1:1 NAT를 통해 공용 IP에 매핑되어야 합니다. 클라이언트는 미디어 노드의 공용 IP에 직접 연결합니다.

절차

  1. 호스트 파일 편집 위의 시그널링 노드 절차에 설명된 동일한 /etc/hosts 라인(<private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local)을 이 노드의 /etc/hosts에도 추가하고 <private-ip>를 시그널링 노드의 개인 IP로 설정합니다.

  2. 구성 파일을 편집합니다.

    • 시그널링 노드에서 config.conf를 복사합니다. ~/ncc-onprem-installer/Config/config.conf – 위의 시그널링 노드 섹션을 참조하여 업데이트해야 하는 내용을 확인하십시오.
    • config.conf의 livekit 블록에서 이 노드의 개인 IP를 mediaServers 배열에 추가합니다.또한 config.conf에서 hostnames.mediaNode를 이 노드의 개인 IP로 업데이트합니다.
    • 이 노드에서 SIP 서비스도 실행하는 경우 config.conf에서 hostnames.sipNode를 이 노드의 개인 IP로 설정합니다.
    • ~/ncc-onprem-installer/Config/containers.conf를 편집하고 livekitServer.count=1로 설정합니다(SIP/전화 기능이 필요한 경우 livekitSip.count=1도 설정합니다).또한 livekitServer.mediaNodeIP(해당하는 경우 livekitSip.sipNodeIP도)를 이 노드의 IP로 업데이트합니다.
  3. 기본 설치 관리자 스크립트를 실행합니다. 기본 설치 프로그램 디렉터리로 전환합니다 cd ~/ncc-onprem-installer/ 기본 설치 프로그램 스크립트를 실행합니다. bash MainInstall.sh확인 메시지를 기다립니다. 성공 메시지 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful실패 메시지 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed.자세한 내용은 installer.log를 참조하십시오.

  4. 설치 확인 터미널 창에서 docker ps 명령을 실행하고 livekit-server 컨테이너(활성화된 경우 livekit-sip 컨테이너)가 실행 중인지 확인합니다.

SIP 구성

LiveSwitch 엔진과 달리 LiveKit 엔진은 SIP 구성에 FM 관리자 웹 패널을 사용하지 않습니다.대신 시그널링 노드에서 Config/config.conf의 livekit 블록에서 직접 SIP 트렁크를 구성합니다:

livekit {
...
sipTrunkName = "<트렁크 이름>"
sipTrunkAddress = "<SIP 트렁크 주소>"
sipTrunkNumber = "<SIP 트렁크 번호>"
sipTrunkAuthUser = "<SIP 트렁크 인증 사용자 이름>"
sipTrunkAuthPassword = "<SIP 트렁크 인증 암호>"
}

시그널링 노드에서 이러한 값을 편집한 후, 시그널링 노드에서 bash MainInstall.sh를 다시 실행하여 변경 사항을 적용하고 시그널링 노드에서 cas 컨테이너를 다시 시작하십시오:

docker restart cas

레코딩 노드

레코딩 노드는 개인 네트워크에서 실행해야 합니다. 레코딩 노드에서 다음 중 하나 이상의 인스턴스를 실행할 수 있습니다.

  • hcr(레코딩 컨테이너. hcr 컨테이너 수로 동시에 실행할 수 있는 녹화 수가 결정됨)
  • recordingserver(레코딩 파일을 CPS에 제공하는 웹 서버. 녹음 노드당 1개)

레코딩 노드는 다음에서 연결할 수 있어야 합니다.

  • 로컬 네트워크의 TCP 80(CPS가 레코딩을 다운로드할 수 있도록)
  • 로컬 네트워크의 TCP 5000-5100. 개별 레코딩 컨테이너는 해당 범위의 호스트 포트에 바인딩됩니다.
  • 로컬 네트워크의 TCP 8090

레코딩 노드의 성공적인 레코딩을 위해서는 미디어 노드 섹션에 나열된 포트의 공용 IP에 있는 미디어 노드와 포트 443의 CPS에 연결할 수 있어야 합니다.

절차

  1. 호스트 파일 편집 위의 시그널링 노드 절차에 기재된 동일한 /etc/hosts 라인(<private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local)을 이 노드의 /etc/hosts에도 추가하되, <private-ip>를 시그널링 노드의 프라이빗 IP로 설정하십시오.

  2. 구성 파일 편집

    • 시그널링 노드에서 config.conf를 복사하십시오. ~/ncc-onprem-installer/Config/config.conf – 위의 시그널링 노드 섹션에서 업데이트해야 하는 내용을 참조하십시오. hostnames.recordingNode 키는 이미 이 HCR 노드의 프라이빗 IP를 가리키고 있어야 합니다.
    • 이제 ~/ncc-onprem-installer/Config/containers.conf를 편집하십시오.파일 편집 지침은 파일에 주석으로 추가됩니다.
    • 레코딩 서버 노드에 다음을 설치합니다.
      • recordingContainer
      • recordingserver
    • 따라서, recordingContainer에 대해 count >= 1, 다른 모든 서버에 대해 0을 설정합니다. recordingServer가 자동으로 설치됩니다.
    메모

    CPU 8개당 레코딩 컨테이너 하나를 가질 수 있습니다. 예를 들어, 16-CPU 머신에서는 최대 2개의 레코딩 컨테이너를 사용해야 합니다.

  3. 메인 설치 스크립트 실행 메인 설치 디렉터리로 전환하십시오. cd ~/ncc-onprem-installer/ 메인 설치 스크립트를 실행하십시오. bash MainInstall.sh.확인 메시지를 기다립니다. 성공 메시지 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.실패 메시지 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed.자세한 내용은 installer.log를 참조하십시오.

  4. 설치 확인 터미널 창에서 docker ps 명령을 실행하고 hcr과 recordingserver 컨테이너가 실행 중인지 확인하십시오.

ASR 노드

ASR 또는 자막 노드는 개인 네트워크에서 실행해야 합니다. ASR 노드에서는 다음 인스턴스를 실행합니다:

  • asrCaptionerCpu
  • asrClient (캡션 작업을 asrCaptionerCpu로 라우팅하는 LiveKit Agents 디스패처)

둘 다 livekit.enabled=true일 때만 설치됩니다.

  1. 호스트 파일 편집 위의 시그널링 노드 절차에 기재된 동일한 /etc/hosts 라인(<private-ip> controller.livekit.svc.cluster.local nats.livekit.svc.cluster.local redis.ncc.svc.cluster.local postgres.ncc.svc.cluster.local cas.ncc.svc.cluster.local config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local)을 이 노드의 /etc/hosts에도 추가하되, <private-ip>는 시그널링 노드의 프라이빗 IP로 설정하십시오.

  2. 구성 파일을 편집합니다.

    • 시그널링 노드에서 config.conf를 복사하십시오. ~/ncc-onprem-installer/Config/config.conf – 위의 시그널링 노드 섹션에서 업데이트해야 하는 내용을 참조하십시오.
    • 이제 ~/ncc-onprem-installer/Config/containers.conf를 편집합니다.
    • ASR 서버 노드에서는 asrCaptionerCpu, asrClient를 설치하므로 asrCaptionerCpu와 asrClient에 대해 count=1로 설정하십시오.
  3. 기본 설치 관리자 스크립트를 실행합니다. 메인 설치 디렉터리로 전환하십시오 cd ~/ncc-onprem-installer/ 메인 설치 스크립트를 실행하십시오. bash MainInstall.sh.확인 메시지를 기다립니다. 성공 메시지 2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful.실패 메시지 2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed.자세한 내용은 installer.log를 참조하십시오.

Adobe Connect 서비스(CPS)에서 Livekit 구성

모든 Adobe Connect 12(CPS) 서버에서 다음 단계를 수행해야 합니다.

  1. <Installation_Dir>/Connect/custom.ini에 있는 모든 Connect 서버의 custom.ini에 다음 구성을 추가하십시오.

    # CAS 검색 URL의 쉼표로 구분된 목록
    # 가능한 값
    WEBRTC_CAS_DISCOVERY_URLS=http://<Signalling Node IP >:18443/api/cps/ingest
    WEBRTC_CAS_DISCOVERY_URLS=http://<Load Balancer URL>/api/cps/ingest
    # CAS 요청 서명에 사용되는 CAS용 공유 암호.신호 노드의 config.conf 파일에서 hmac 섹션 아래에 설정한 값을 입력합니다.
    WEBRTC_CAS_SHARED_SECRET - # JWT에 대한 공유 비밀. 신호 노드의 config.conf 파일에서 jwtZonalSecrets 섹션 아래에 설정한 값을 입력합니다. CAS_JWT_SHARED_SECRET=<CorrectHorseBatteryStaple>
    # Enhanced Audio-Video용 LiveKit 엔진 활성화
    ENABLE_LIVEKIT=true
    DEFAULT_LIVEKIT_FOR_ACCOUNTS=true
  2. 파일을 저장하고 connectpro 서비스를 다시 시작합니다.

  3. 다음 API를 호출하십시오:

    https://server_domain/api/xml?action=acl-field-update&field-id=1267&value=참&acl-id=<account-id>

설치 후 처리

  1. 네트워크 연결 확인다양한 노드 간의 네트워크 연결을 확인하려면 연결 테스트 워크플로를 실행하세요.

    • 신호 노드에 로그인합니다.
    • 설치 프로그램 상위 디렉터리로 이동합니다. 예: cd ~/ncc-onprem-installer/ncc-onprem-installer/
    • bash check-connectivity.sh 명령을 실행합니다.
    • 연결 도구는 Config.conf 파일에서 제공된 값을 사용하여 다음과 같은 기본 네트워크 테스트를 실행합니다:
      • 서로 다른 서비스 간의 HTTP 요청
      • 필수 TCP 및 UDP 포트에 대한 네트워크 연결 테스트
      • 이름 확인
      • NATS 클러스터를 포함한 데이터베이스 연결
    • 이 테스트는 노드와 서비스 간에 필요한 연결을 확인하고 결과를 공유하여 네트워크 연결 문제를 진단하는 데 도움을 줍니다.
  2. LiveKit 기반 향상된 오디오-비디오로 Adobe Connect 회의 테스트

    • 새 회의를 만들고 고급 오디오/비디오 옵션이 선택되어 있는지 확인합니다.
    • 회의실에 참여하고 마이크와 카메라를 켭니다.
    • 가능한 경우 다른 PC 또는 모바일 장치에서도 회의실에 참여하고 오디오-비디오 교환을 확인합니다.
    • 화면 공유를 시도합니다.
    • 레코딩을 시작합니다. 30초 동안 기다렸다가 중지합니다. 이제 녹화에 액세스할 수 있는지 확인하세요.

TURNS 바인딩 구성

TURNS 바인딩 구성은 안전한 TURN 통신을 위해 필요합니다.

LiveSwitch 엔진과 달리 관리자 패널에는 인증서 업로드 단계가 없습니다.TURNS는 config.conf의 livekit 블록에서 전용 필드를 통해 직접 구성됩니다:

  • livekit.turnsDomain을 클라이언트가 TURNS에 도달하는 데 사용할 FQDN(포트 443을 통한 TLS 릴레이)으로 설정합니다.이는 일반적으로 클라이언트가 네트워크 외부에서 연결하거나 제한적인 방화벽 정책을 가진 다른 회사에서 연결할 때만 필요합니다.
  • Media Server 노드에서 인증서 디렉터리를 만듭니다: cd ~ && mkdir -p connect/turns
  • TURNS 도메인용 SSL 인증서를 ~/connect/turns/turns.crt에 복사하고, 개인 키를 ~/connect/turns/turns.key에 복사합니다(다른 파일명을 사용하는 경우 config.conf에서 livekit.certFileName / livekit.keyFileName을 업데이트하세요).
  • 변경 사항을 적용하려면 bash MainInstall.sh를 실행합니다.

livekit.turnsDomain이 비어 있으면 TURNS가 구성되지 않으며 클라이언트는 UDP/TCP 3478을 통한 STUN/TURN 또는 SRTP 미디어 범위로 대체됩니다.

설치 제거

  • 설치 프로그램 루트 디렉터리(uninstall.sh가 포함된 루트 디렉터리)로 변경하세요. cd ~/ncc_onprem_installer.
  • bash uninstall.sh를 실행합니다.
  • 신호 노드에서 Postgres 및 Redis 데이터베이스 데이터 디렉터리를 제거하려면 아래 명령을 실행하십시오.

    sudo rm -rf ~/connect

메모

이렇게 하면 시스템에서 모든 NCC 구성 요소와 이미지가 제거됩니다. 그러나 외부 종속성(Python, PIP, Virtualenv 및 Python 패키지)은 삭제되지 않습니다.

Adobe, Inc.

쉽고 빠르게 지원 받기

신규 사용자이신가요?