이 가이드는 산업의 개념을 플랫폼에 현재 있는 객체(부케, 라인, 패키지, 파트너 계정, 노드, API)에 대응시킵니다. 이는 개념적 대응이며 산업 전용 기능이 아닙니다. 또한 파트너 계정은 위임 계정이며 격리된 테넌트가 아닙니다.
개념적 대응
패널에는 전시실이나 회원이라는 이름의 항목이 없습니다. 표는 어떤 객체가 어떤 역할을 하는지 보여주며, 아래 장들은 그 순서대로 설정합니다.
| 내 산업에서는 | 플랫폼에서는 | 패널에서의 위치 |
|---|---|---|
| 전시 영상과 아카이브 | VOD 카탈로그: 시즌과 에피소드가 있는 영화와 시리즈, 카테고리, 메타데이터 | Movies와 Series, 또는 VOD 인제스트 작업 |
| 개막식 또는 강연 방송 | 실시간 채널: 소스, EPG, 출력 형식을 가진 스트림 | Streams → 실시간 스트림 추가(소스 URL 또는 RTMP 푸시) |
| 전시실 또는 회원 컬렉션 | 부케: 패키지가 부여하는 채널, 영화, 시리즈의 이름 있는 묶음 | Bouquets, Streams와 Movies / Series에서 생성 |
| 방문객 또는 회원 액세스 | 라인: 패키지, 부케, 만료일, 연결 제한, 출력을 가진 하나의 액세스 | Lines → 추가, 또는 활성화 코드, 또는 Reseller API |
| 회원 기간 | 라인의 만료일. 패키지, 크레딧 또는 API로 갱신됩니다 | 라인의 만료일과 패키지의 기간 |
| 회원당 기기 수 | 라인의 최대 연결 수: 동시에 시청할 수 있는 기기 수 | 라인의 최대 연결 수 |
사전 준비
설치 전에 준비할 것.
- 건물 안의 서버(Ubuntu 22.04 또는 24.04), 설치 프로그램, 스크린과 회원의 기기가 사용할 전시실 네트워크.
- 전시 영상, 권리를 보유한 아카이브 녹화, 강당용 인코더, 전시실용 스크린 또는 미디어 플레이어.
- 라이선스 키와, 건물에 인터넷이 없다면 오프라인 활성화 절차, 그리고 안내 데스크에서 누가 회원권을 판매할지에 대한 결정.
인프라 구축
건물 안의 서버를 현장에서 활성화.
- 서버에서 설치 프로그램을 실행하고 재생 기본 주소를 전시실 네트워크에서 접속할 수 있는 주소로 설정합니다.
- 패널에서 라이선스 키를 오프라인으로 활성화합니다. 활성화 후에는 인터넷 없이 로컬 네트워크에서 서비스가 실행됩니다.
- 전시 영상을 Movies에, 강당 피드를 Streams에 추가하고 웹 플레이어에서 확인합니다.
- 두 번째 거점이나 대규모 공개 프로그램에는 Servers에서 노드를 등록합니다. 패널이 SSH로 설치하고 그 거점의 시청자를 노드로 보냅니다.
콘텐츠 정리
전시실, 아카이브, 회원용 컬렉션.
- 전시와 연도별로 카테고리를 만들고, 강연 시리즈는 강연마다 에피소드 하나인 시리즈로 만듭니다.
- 전시실 스크린용 부케 하나와 강연·아카이브 영상의 회원 라이브러리용 부케 하나를 만듭니다.
- 전시실용 패키지 하나와 회원권 종류마다 패키지 하나를 만들고 각각 부케를 부여합니다. 회원 패키지의 기간이 회원 기간입니다.
- 라이브러리가 플레이어에서 보기 좋도록 모든 영화에 포스터와 짧은 설명을 추가합니다.
파트너(리셀러) 설정
안내 데스크와 매장을 위임된 계정으로.
- 라인과 활성화 코드로 권한을 제한하고 카탈로그나 서버에는 접근할 수 없는 그룹을 만듭니다.
- 안내 데스크 또는 매장을 그 그룹, 회원 패키지, 크레딧 잔액을 가진 리셀러로 추가합니다.
- 여러 시설을 운영하는 문화 센터는 시설마다 리셀러를 추가할 수 있으며, 각각 자기 잔액으로 회원권을 판매합니다.
방문객·회원 액세스 설정
스크린과 회원을 라인으로.
- Lines → 추가에서 전시실 스크린마다 전시실 패키지로 라인 하나를 만들고, 네트워크가 고정 주소를 부여한다면 스크린의 주소에 묶습니다.
- 판매한 회원권마다 안내 데스크에서 활성화 코드를 만듭니다. 회원이 플레이어에 코드를 입력하면 라인이 시작됩니다.
- 회원권별 최대 연결 수를 회원이 쓸 수 있는 기기 수(보통 2개)로 설정합니다.
- 회원에게는 기기에 맞는 플레이어 앱, M3U 플레이리스트, 웹 플레이어 주소 중 하나를 전달합니다.
전시 영상과 아카이브
주문형 라이브러리.
- 전시 영상과 디지털화한 아카이브를 영화로 업로드하거나 VOD 인제스트 작업으로 미디어 루트에 인제스트합니다.
- TMDB 메타데이터가 있으면 추가하고, 없는 항목은 제목과 설명을 직접 작성합니다.
- 일반에 공개하지 않는 아카이브는 회원용 부케에만 두고, 테스트 라인으로 각 패키지에 무엇이 보이는지 확인합니다.
개막식과 강연
행사를 실시간 채널로.
- 강당의 인코더(RTMP 푸시)용 실시간 스트림을 추가해 회원용 부케에 넣고, 스크린에 보여줄 개막식이면 전시실 부케에 넣습니다.
- 캐치업을 활성화해 늦게 온 회원이 되감을 수 있게 하고, 끝난 뒤 녹화본을 라이브러리에 업로드합니다.
- 행사 전에 관객이 쓸 것과 같은 네트워크에서 테스트 라인으로 인코더와 스트림을 테스트합니다.
회원권 만료와 갱신
회원권이 곧 라인의 유효 기간.
- 라인은 패키지 기간이 끝나면 만료됩니다. 안내 데스크에서 갱신하면 한 기간이 추가됩니다.
- 회원권이 해지되면 라인을 비활성화합니다. 한 번도 사용되지 않은 활성화 코드는 사용될 때까지 미사용 상태로 남습니다.
- 매장이나 회원 관리 시스템을 웹훅에 등록해 만료가 임박했거나 이미 만료된 라인을 확인합니다.
매장·회원 관리 시스템과의 연동
시스템이 액세스를 판매하고 플레이어가 재생합니다.
- 매장이나 회원 관리 시스템용 Reseller API 키를 만듭니다. 이 시스템이 create_line, renew_line, disable_line을 호출하며 쓰기마다 요청 ID를 붙입니다.
- 회원권을 온라인으로 판매한다면 커머스 커넥터를 사용합니다. 다른 시스템은 Reseller API와 웹훅을 사용합니다.
- 시청자용 싱글 사인온은 없습니다. 회원은 라인의 자격 증명 또는 활성화 코드로 플레이어에 로그인합니다.
보안 고려 사항
컬렉션을 있어야 할 곳에 둡니다.
- 전시실 네트워크를 방문객 네트워크와 분리하고, 공개 액세스는 TLS가 적용된 리버스 프록시 뒤에서 제공하며 TRUSTED_PROXIES를 설정합니다.
- 모든 패널 계정에 2단계 로그인을 적용하고, 안내 데스크에는 라인과 코드로 제한된 권한 그룹을 부여합니다.
- 서명되고 만료되는 재생 링크, 회원권별 연결 제한, 전시실 스크린의 주소 고정.
- 오프사이트 사본이 있는 암호화된 데이터베이스 백업을 켜고, 감사 로그로 라인과 카탈로그의 변경을 검토합니다.
문제 해결
가장 먼저 확인할 일반적인 항목.
- 전시실 스크린이 검게 나옴: 라인이 활성 상태이고 만료되지 않았는지, 스크린의 주소 고정, 전시실 네트워크에서 서버에 접속할 수 있는지 확인합니다.
- 회원의 코드가 작동하지 않음: 코드가 이미 사용되지 않았는지, 그 코드가 여는 패키지가 아직 안내 데스크에 배정되어 있는지 확인합니다.
- 오프라인에서 라이선스 활성화가 실패함: 활성화 파일을 라이선스 키와 대조하고 서버의 시계를 확인합니다.
- 실시간 개막식이 끊김: 인코더의 비트레이트를 업링크와 비교하고 Streams에서 스트림 상태를 확인합니다.