이 가이드는 산업의 개념을 플랫폼에 현재 있는 객체(부케, 라인, 패키지, 파트너 계정, 노드, API)에 대응시킵니다. 이는 개념적 대응이며 산업 전용 기능이 아닙니다. 또한 파트너 계정은 위임 계정이며 격리된 테넌트가 아닙니다.
개념적 대응
패널에는 학부, 학기, 학생이라는 이름의 항목이 없습니다. 표는 어떤 객체가 어떤 역할을 하는지 보여주며, 아래 장들은 그 순서대로 설정합니다.
| 내 산업에서는 | 플랫폼에서는 | 패널에서의 위치 |
|---|---|---|
| 학부 또는 부서 계정 | 파트너 계정(리셀러): 크레딧, 권한, 자체 라인을 가진 위임 대시보드 | Users → 리셀러 추가, 권한은 Groups에서 설정 |
| 학부 컬렉션 또는 캠퍼스 채널 구성 | 부케: 패키지가 부여하는 채널, 영화, 시리즈의 이름 있는 묶음 | Bouquets, Streams와 Movies / Series에서 생성 |
| 캠퍼스 채널 또는 실시간 행사 | 실시간 채널: 소스, EPG, 출력 형식을 가진 스트림 | Streams → 실시간 스트림 추가(소스 URL 또는 RTMP 푸시) |
| 강의 아카이브 | VOD 카탈로그: 시즌과 에피소드가 있는 영화와 시리즈, 카테고리, 메타데이터 | Movies와 Series, 또는 VOD 인제스트 작업 |
| 학생 또는 직원 액세스 | 라인: 패키지, 부케, 만료일, 연결 제한, 출력을 가진 하나의 액세스 | Lines → 추가, 또는 활성화 코드, 또는 Reseller API |
| 학기 또는 등록 종료 | 라인의 만료일. 패키지, 크레딧 또는 API로 갱신됩니다 | 라인의 만료일과 패키지의 기간 |
| 캠퍼스 또는 기숙사 노드 | 스트리밍 노드: 패널에서 등록하는 엣지 서버. 현장 또는 건물당 하나 | Servers → 노드 추가(SSH로 설치) |
| 학생 정보 시스템 연동 | Reseller API와 웹훅: 자체 시스템에서 수행하는 패널의 작업 | 리셀러 대시보드의 Reseller API 키와 웹훅 |
사전 준비
설치 전에 준비할 것.
- 다른 캠퍼스와 기숙사에서 접속할 수 있는 메인 캠퍼스의 서버(Ubuntu 22.04 또는 24.04), 설치 프로그램, 내부 주소 또는 리버스 프록시 뒤의 도메인.
- 캠퍼스 채널 피드와 강의 녹화본(또는 강의 녹화 시스템의 내보내기), 그리고 학생 정보 시스템이 HTTP API를 호출할 수 있는 환경.
- 구조에 대한 결정. 어떤 학부에 파트너 계정을 줄지, 강의 시리즈의 이름 규칙, 학기 패키지의 기간.
인프라 구축
먼저 메인 캠퍼스, 그다음 다른 거점.
- 메인 캠퍼스 서버에서 설치 프로그램을 실행하고, 패널을 대학의 리버스 프록시 뒤에 두며 신뢰할 프록시를 설정해 로그와 IP 규칙이 실제 주소를 보게 합니다.
- 재생 기본 주소를 학생이 캠퍼스와 기숙사에서 접속하는 주소로 설정합니다.
- Servers에서 캠퍼스와 기숙사마다 노드를 등록합니다. 패널이 SSH로 설치하고 그 거점의 시청자를 노드로 보냅니다.
- 서버에 라이선스 키를 설정합니다. 학술 도메인의 기관은 교육 프로그램의 무료 Professional 키를 이메일로 신청할 수 있습니다.
콘텐츠 정리
학부 컬렉션과 캠퍼스 채널 구성.
- 학부와 과목별로 카테고리를 만들고, 과정마다 시리즈 하나, 학기마다 시즌 하나, 강의마다 에피소드 하나를 만듭니다.
- 학부 컬렉션마다 부케 하나, 캠퍼스 채널용 부케 하나, 오리엔테이션 영상 같은 공통 자료용 부케 하나를 만듭니다.
- 학생과 직원용 패키지를 만듭니다. 각각 필요한 부케를 넣고 기간은 학기로 해서, 갱신하지 않으면 액세스가 학기와 함께 끝나게 합니다.
- 오픈 캠퍼스나 방문 학생용으로 짧은 체험 패키지를 만듭니다.
파트너(리셀러) 설정
학부를 위임된 계정으로.
- 라인과 학부 자체 카탈로그에 대한 권한이 있고 설정에는 접근할 수 없는 그룹을 만듭니다.
- 각 학부 또는 부서를 그 그룹과 패키지를 가진 파트너 계정(리셀러)으로 추가합니다. 서브 리셀러로 학부 내 학과를 그대로 구성할 수 있습니다.
- 학부에는 자기 라인만 보이고 관리할 수 있으며, 중앙 팀은 전체를 봅니다. 위임된 계정이며 격리된 설치가 아닙니다.
학생 액세스 설정
SIS에서 학생마다 라인 하나.
- 학생 정보 시스템용 Reseller API 키를 만들어 그 시스템의 비밀 저장소에 보관합니다.
- 등록 시 SIS가 학생의 패키지와 요청 ID로 action=create_line을 호출합니다. 패키지의 기간인 학기가 액세스 기간입니다.
- 최대 연결 수를 학생이 동시에 쓸 수 있는 기기 수(보통 휴대폰과 노트북, 2개)로 설정합니다.
- 직원과 시범 운영에는 Lines → 추가에서 라인을 추가하고 자격 증명을 전달합니다.
강의 아카이브
녹화본을 주문형으로.
- 각 녹화본을 에피소드의 소스로 업로드하거나 VOD 인제스트 작업으로 인제스트합니다. 과목명과 짧은 설명을 남겨 둡니다.
- 시리즈를 학부의 부케에 연결해, 패키지가 그것을 부여하는 학생에게만 과목이 보이게 합니다.
- 각 패키지의 테스트 라인으로 재생을 확인해 누구에게 무엇이 보이는지 확인합니다.
캠퍼스 채널과 실시간 행사
캠퍼스를 위한 실시간 채널.
- 캠퍼스 채널 피드를 Streams에 실시간 스트림으로 추가하고, 편성표용 EPG 소스를 추가합니다.
- 강의실이나 행사마다 강의실 인코더가 RTMP로 공급하는 실시간 스트림을 추가하고, 늦게 온 시청자가 되감을 수 있도록 캐치업을 활성화합니다.
- 각 채널을 알맞은 부케에 넣습니다. 기숙사의 노드가 오리진에서 한 번만 받아 학생에게 로컬로 전송합니다.
만료와 갱신
학기가 곧 라인의 유효 기간.
- 라인은 패키지 기간이 끝나면 만료됩니다. 재등록 시 SIS가 action=renew_line을 호출하면 한 기간이 추가됩니다.
- 학생이 휴학이나 졸업을 하면 SIS가 action=disable_line을 호출합니다.
- SIS를 웹훅에 등록해 만료 임박 및 만료된 라인을 자체 기록과 대조합니다.
학생 정보 시스템과의 연동
SIS가 액세스를 제어하고 플레이어가 재생합니다.
- SIS가 키와 요청 ID로 Reseller API를 통해 라인을 생성, 갱신, 활성화, 비활성화합니다.
- 시청자용 싱글 사인온도, 기본 LMS·SIS 통합도 없습니다. 학생은 라인의 자격 증명으로 플레이어에 로그인하며, LMS의 과목 페이지에서 웹 플레이어로 링크를 걸 수 있습니다.
- 내부 보고 도구에는 읽기 전용 플래그, IP 허용 목록, 만료일이 있는 Admin API 키를 사용합니다.
보안 고려 사항
액세스를 학생과 직원으로 한정합니다.
- 플랫폼은 캠퍼스 네트워크 또는 TLS가 적용된 리버스 프록시 뒤에 두고, TRUSTED_PROXIES를 그 프록시로 설정합니다.
- 모든 패널 계정에 2단계 로그인을 적용하고 역할마다 권한 그룹을 두어, 학부가 다른 학부의 라인을 볼 수 없게 합니다.
- 서명되고 만료되는 재생 링크, 라인별 연결 제한, 도움이 되는 경우 국가 또는 주소 고정.
- 오프사이트 사본이 있는 암호화된 데이터베이스 백업과, 라인과 카탈로그의 모든 변경을 기록하는 감사 로그.
문제 해결
가장 먼저 확인할 일반적인 항목.
- 학생에게 강의가 보이지 않음: 라인의 만료일을 확인한 다음, 패키지와 그것이 부여하는 부케를 확인합니다.
- 새 학생이 액세스하지 못함: Reseller API 호출 로그에서 SIS의 호출이 성공했는지, 요청 ID가 새것인지 확인합니다.
- 기숙사에서 저녁에 버퍼링: 그 노드의 하트비트와 시청자가 그 노드로 연결되는지 확인합니다.
- 감사 로그에 프록시의 주소가 표시됨: TRUSTED_PROXIES를 그 프록시로 설정하고 패널을 재시작합니다.