LivePack V4 정책서
2026-09-02 기준

채널 · 방송 · 방송 세션

세 계층으로 나눈다. 채널과 방송은 계속 존재하고, 방송 세션은 송출할 때마다 새로 생긴다.

계층 성격 생성 방법
채널 지속 — 서비스 자원 사용자가 생성 "라이브 강의 채널"
방송 지속 — 방송 프로파일 채널 생성 시 자동 1개, 이후 추가 가능 "2026 상반기 세미나"
방송 세션 1회성 — 실제 송출 송출 시작 시 자동 8/10 · 8/17 · 8/24 각 방송

채널 — 계속 존재하는 라이브 서비스 단위. 채널명 / 채널 타입 / 송출 URL / 스트림 키 / 재생 URL / 재생 보안 설정을 가진다. 송출 자격(URL·Stream Key)은 채널에 붙는다. 방송을 바꿔도 송출 정보는 그대로다.

방송 — 채널 안에서 계속 존재하는 방송 프로파일이다. 매 송출마다 적용될 설정과 정보를 담는다.

방송이 갖는 것은 셋뿐이다.

  • 방송 제목 / 방송 설명
  • 프리뷰 이미지 — 방송 전·대기 중 시청자에게 보여줄 정지 이미지. 업로드·변경할 수 있고, 방송을 만들면 기본 이미지가 자동으로 들어간다. 지우면 그 기본 이미지로 되돌아간다 — 아무것도 올리지 않은 방송이라도 시청자가 검은 화면을 보면 안 된다 (V3 라이브팩도 방송 insert 시 기본 썸네일을 넣는다). 기본 이미지는 V3 가 쓰던 라이브팩 로고 원본이다. JPG·PNG·WEBP, 5MB 이하이고 방송 저장에 함께 실린다(V3 방송 폼과 같은 구조).

채팅·녹화·라이브 썸네일(사용 여부와 갱신 간격)은 방송이 아니라 채널 소관이다 — 이 값들이 채널을 어느 인프라에 만들지 가르기 때문이다(§2.2). 이유와 소관 표는 §7.3 에 있다. 대체 이미지(입력 끊김 시 정지 이미지)는 여기에 없다 — 표준 운영방식에서 제공하지 않는다(§2.1).

  • 한 채널에 여러 방송을 둘 수 있고, 그중 하나가 "적용 중" 이다. 송출하면 적용 중인 방송의 설정으로 시작된다.
  • 방송 목록에는 최근 방송일과 총 방송 횟수를 함께 표시한다 — "적용 중" 배지만으로는 어느 방송을 실제로 써 왔는지 알 수 없다. 두 값은 저장 값이 아니라 방송 세션 이력에서 집계한다. 최근 방송일은 "39분 전" 같은 상대 표기가 아니라 날짜·시각 그대로 적는다 — 언제 썼는지를 확인하는 값이다.

화면 구성 — 방송 목록은 프리뷰 이미지를 앞세운 카드 그리드이고, 카드 자체가 선택지다.

  • "적용 중은 채널당 하나"라는 규칙이 곧 라디오 그룹이다. 작은 적용하기 버튼을 찾아 누르게 하지 않고 카드를 고르면 그것이 적용된다(확인 다이얼로그를 거친다). 카드에는 라디오 표식과 "적용 중" 표시를 얹는다.
  • 적용해도 목록 순서는 바뀌지 않는다. 적용 중인 방송을 맨 앞으로 끌어올리면 카드가 자리를 옮겨 방금 무엇을 눌렀는지 눈으로 따라갈 수 없다. 적용 여부는 라디오 표식과 상태 표시가 말한다.
  • 그리드형 / 목록형을 고를 수 있다(채널 목록과 같은 전환). 방송이 몇 개일 때는 이미지가 빠르고, 많아지면 값을 나란히 비교하는 목록형이 빠르다. 선택한 방식은 기억한다.
  • 정렬은 등록 최신순(기본) · 최근 방송순 · 제목순이고, 검색과 페이징을 제공한다(§23.4). 한 번도 방송하지 않은 방송은 "최근 방송순"에서 뒤로 보낸다.
  • 상태(적용 중 / 대기)는 제 자리에서만 말한다 — 그리드는 라디오와 같은 줄(썸네일 위), 목록은 상태 열. 제목 옆 배지 줄은 속성(기본 방송) 자리라 거기에 상태를 섞으면 상태가 아니라 이름표처럼 읽힌다.
  • 카드·행에는 최근 방송일 · 총 방송 횟수 · 생성일을 적는다. 채팅·녹화·썸네일은 적지 않는다 — 채널 소관이라(§7.3) 방송마다 다른 값처럼 읽히면 안 된다. 대신 방송 편집 폼에 그 값들이 어디 있는지(채널 설정) 한 줄로 안내한다.
  • 추가·수정은 다이얼로그로 연다(V3 라이브팩도 레이어로 편집한다). 카드 안에 폼을 펼치면 그리드가 무너진다.
  • 방송 중에는 적용 방송을 바꿀 수 없다. 목록 위에 사유 배너를 두고 카드 선택을 잠근다.

방송 세션 — 실제 송출이 이루어진 개별 1회. 적용 중인 방송 아래에 생성된다.

  • 방송 이력·사용량·통계·녹화 결과는 방송 세션 단위로 쌓인다.
  • 동일 날짜 안에도 여러 세션이 존재할 수 있다.
  • 시청자 지표(§19-14)의 집계 단위도 방송 세션이다.

7.1 기본 방송 — 방송은 필수가 아니라 기본값이다#

§6·§18 의 "송출하면 바로 시작"을 깨지 않기 위해, 방송을 미리 만들어야 송출할 수 있는 구조로 만들지 않는다.

  • 채널을 생성하면 기본 방송 1개가 자동으로 생성되고 즉시 "적용 중" 이 된다.
  • 사용자가 방송을 만들지 않아도 송출하면 그 기본 방송 아래 세션이 생긴다.
  • 방송을 나눠 쓰고 싶은 사용자만 추가·전환한다.
  • 적용 중인 방송은 항상 정확히 1개다. 다른 방송을 적용하면 이전 방송은 대기 상태가 된다.
  • 방송 중에는 적용 중인 방송을 바꿀 수 없다. 진행 중인 세션의 설정이 도중에 바뀌면 안 된다.
  • 적용 중인 방송은 삭제할 수 없다. 세션 이력이 있는 방송을 삭제할 때의 이력 처리 방침은 별도로 정한다.

7.2 용어 — "방송 세션"을 쓴다#

V3 는 같은 개념을 "방송 이벤트" 라고 불렀다. V4 는 "방송 세션" 으로 쓴다.

  • "이벤트"는 한국어에서 행사로 먼저 읽혀 오독 위험이 있다.
  • event 는 MediaLive 의 구조 용어다. V4 는 IVS 기반이므로 그 구조를 물려받을 이유가 없고, §3 "AWS 내부 명칭을 사용자 화면에 노출하지 않는다"는 원칙과도 결이 맞지 않는다.

화면 문구는 다음을 따른다.

  • 방송 프로파일을 다루는 화면 = "방송 설정" (V3 의 방송 설정 > 방송 목록 과 같은 자리)
  • 세션 목록 화면 = "방송 이력" (현행 유지)
  • 문맥상 방송 하위임이 분명하면 화면에서는 "세션" 으로 줄여 쓴다.

7.3 자원 설정은 채널, 콘텐츠는 방송, 기록은 세션#

설정은 채널과 방송에서 한다. 세션마다 따로 설정하지 않는다. 세션은 송출이 시작되면 자동으로 생기므로(§6) 설정을 받을 시점이 없다.

가르는 기준은 "채널 자원의 모양을 정하는 값인가"다.

항목 설정 위치 근거
채널 타입 (일반 / FHD) 채널 §4, §19-6
지연 모드 채널 §8
라이브 채팅 사용 여부 채널 §14
녹화 사용 여부 채널 §13
라이브 썸네일 사용 여부 · 갱신 간격 채널 §9
방송 제목 · 설명 · 프리뷰 이미지 방송 §7

채팅·녹화·썸네일이 채널인 이유 — 이 세 값이 채널을 어느 인프라에 만들지 가른다(§2.2). 인프라는 채널 자원이고, 바뀌면 송출 URL·스트림 키·재생 URL 이 새로 발급된다. 방송마다 다르게 둘 수 있으면 적용 방송을 갈아 끼우는 것만으로 송출 정보가 재발급된다 — 사용자 입장에서는 "방송 프로파일을 바꿨을 뿐"인데 인코더 설정을 다시 해야 하는 일이 되어 설명이 되지 않는다.

썸네일 간격이 사용 여부와 같은 계층인 이유 — IVS 에서 thumbnailConfigurationRecordingConfiguration 의 하위 필드라 녹화 설정과 한 리소스에 들어간다. 둘의 계층이 갈리면 하나의 리소스를 두 계층이 나눠 소유하게 되고, RecordingConfiguration 은 수정할 수 없어서 한쪽을 바꿀 때마다 리소스를 다시 만들어야 한다. 채널 ↔ RecordingConfiguration 이 1:1 이면 이 문제가 생기지 않는다.

방송에 남는 것 — 제목·설명·프리뷰 이미지, 즉 시청자에게 보이는 콘텐츠뿐이다. 방송을 바꾸는 일은 콘텐츠를 바꾸는 일이지 자원을 바꾸는 일이 아니다.

표의 채널 항목은 방송 중에 바꿀 수 없다(§2.2 · §19-6). 채널 타입·지연 모드와 같은 이유다 — 바꾸면 IVS 리소스를 다시 만들어야 하고, 그 자리에서 진행 중인 송출이 끊긴다. 썸네일 갱신 간격도 같다(RecordingConfiguration 을 다시 만드는 일이라 사용 여부와 구분되지 않는다). 화면은 방송 중에 이 입력들을 잠그고 사유를 적는다. 어느 탭에서 바꾸든 규칙은 같다 — 채널 설정 탭과 채팅 탭이 같은 값을 두고 다르게 동작하면 안 된다.

화면에서 어디로 가는가 (§5 생성 화면은 사용 여부만 묻는다 — 세부는 여기다)

고른 것 세부 설정 자리
라이브 채팅 채널 > 채팅 탭 — 삽입 코드 · 금칙어 · 참여 인원 · 모니터링 (§14)
녹화 결과물은 녹화 메뉴에서 내려받는다. 켜고 끄기는 채널 설정 (§13)
라이브 썸네일 채널 > 채널 설정 — 갱신 간격 (§9)

생성 화면은 켠 항목의 세부 설정 위치를 적어 준다. 사용 여부만 묻고 나머지는 다른 화면에 있어서, 적어 두지 않으면 만든 뒤에 찾아다니게 된다. 끈 항목은 적지 않는다 — 지금 필요한 말이 아니다.

다만 기록은 세션 단위로 남긴다. 세션이 시작될 때 적용됐던 값을 세션에 그대로 박아 둔다. 채널 설정을 나중에 고치면 과거 이력의 비용 근거까지 함께 바뀌어버리기 때문이다 (방송 제목을 시작 시점 값으로 보존하는 것과 같은 이유).

이 스냅샷에는 비용이 갈리는 값만 담는다 — 채널 타입 · 채팅 · 녹화 · 썸네일 갱신 간격. 사용량 분석의 방송 내역(§19-18)은 이 값을 그대로 보여준다.

IVS 확인 필요 — 위 구조는 다음 동작을 전제한다. 확정 전에 AWS 문서로 대조한다.

  • 녹화는 채널의 recordingConfigurationArn 이며, 교체해도 진행 중인 세션에는 반영되지 않고 다음 세션부터 적용된다.
  • 라이브 썸네일 설정(thumbnailConfiguration)은 RecordingConfiguration 의 하위 필드다. 녹화 없이 썸네일만 쓰려면 renditionSelection = NONE 구성이 필요하다(§9 PoC 항목과 같은 건).
  • RecordingConfiguration 은 수정할 수 없다 — 값을 바꾸려면 새로 만들어 채널을 갈아끼운다.

7.4 삭제 — 무엇이 죽고 무엇이 남는가#

채널 삭제

  • 방송 중인 채널은 삭제할 수 없다. 진행 중인 송출을 끊는 일이라 사용자가 종료한 뒤에 한다.
  • 삭제하면 송출 URL · Stream Key · 재생 URL 을 즉시 쓸 수 없다. 이 채널을 붙여 둔 페이지의 재생도 함께 멈춘다 — 되돌릴 수 없으므로 확인창에서 이 사실을 먼저 말한다.
  • 방송 세션 이력과 통계는 남긴다. 정산 근거이자 운영 이력이라, 채널이 사라졌다고 지난 사용량이 없던 일이 되면 안 된다. 이력의 채널명은 그때 값 그대로 둔다(§7.3 스냅샷과 같은 이유).
  • 녹화본과 채팅 로그는 각자의 보관기간을 따른다(§13 · §14). 채널 삭제와 별개로 기간이 지나면 지워진다 — 채널을 지웠다고 아직 받지 못한 녹화가 함께 사라지면 안 된다.
  • 방송 프로파일(§7)은 채널에 딸린 설정이라 함께 사라진다. 세션 이력과 달리 남길 값이 없다.
  • 채널 수 한도(§16)는 삭제 즉시 회복된다.

7.5 세션 제목에는 시작 시각을 붙인다#

세션을 가리키는 모든 화면에서 제목은 방송 제목_yyyyMMdd_HHmmss 형태로 적는다. V3 라이브팩이 방송 이벤트 제목을 만들던 규칙과 같되, 시·분·초 사이의 콜론은 뺀다 — 제목은 파일명·URL 로도 흘러가고, 콜론 없는 날짜(20260827)와 표기가 어긋나 보인다.

  • 하나의 방송으로 여러 번 송출하면(§6 자동 ON/OFF) 세션 제목이 전부 같아진다. 목록에서 어느 회차인지 가릴 수 없고, 복사해서 공유하면 더 알 수 없다.
  • 시각은 세션 시작 시각이고 초까지 적는다 — 같은 분에 두 세션이 생길 수 있다.
  • 표시 규칙이지 저장 값이 아니다. broadcastName 은 시작 시점 값 그대로 두고(§7.3), 화면에서 합쳐 보여준다. 방송 제목을 바꿔도 과거 세션의 제목은 그때 값을 유지한다.
  • 세션이 아닌 것에는 붙이지 않는다 — 방송 프로파일 목록, 채널 필터의 방송 선택지처럼 회차가 아니라 방송 자체를 가리키는 자리다.
  • 목록 검색은 붙은 제목 그대로 걸린다(20260827 로도 찾을 수 있다).

적용 화면: 방송 이력(전체·채널 상세 탭) · 녹화 · 사용량 분석의 방송 내역 · 시청 분석의 세션 상세.